Fixed include file issue in sales order entry.
[fa-stable.git] / includes / main.inc
index 8ef038ca1f06e63e39959c250889781cebee05f1..f5ecd4d6f491659c21229184443e957aba89341c 100644 (file)
 ***********************************************************************/
 include_once($path_to_root . "/includes/db/connect_db.inc");
 
+include_once($path_to_root . "/admin/db/transactions_db.inc");
 include_once($path_to_root . "/includes/types.inc");
-include_once($path_to_root . "/includes/systypes.inc");
 include_once($path_to_root . "/includes/references.inc");
 include_once($path_to_root . "/includes/db/comments_db.inc");
 include_once($path_to_root . "/includes/db/sql_functions.inc");
 include_once($path_to_root . "/includes/db/audit_trail_db.inc");
-//include_once($path_to_root . "/includes/validation.inc");
 
 include_once($path_to_root . "/admin/db/users_db.inc");
 include_once($path_to_root . "/includes/ui/ui_view.inc");
@@ -69,13 +68,34 @@ function cache_js_file($fpath, $text)
 
        if(!$go_debug) $text = js_compress($text);
 
-        $file = fopen($fpath, 'w');
+    $file = force_open($fpath);
        if (!$file) return false;
        if (!fwrite($file, $text)) return false;
        return fclose($file);
 
 }
 
+/*
+       Open file for writing with creration of subfolders if needed.
+*/
+function force_open($fname)
+{
+       $file = pathinfo($fname);
+
+       $path = $fname[0] == '/' ? '/' : '';
+       $tree = explode('/', $file['dirname']);
+       foreach($tree as $level) {
+               $path .= $level;
+               if (!file_exists($path)) {
+                       if (!mkdir($path)) {
+                               return null;
+                       }
+               }
+               $path .= '/';
+       }
+       return fopen($fname, 'w');
+}
+
 function add_js_file($filename) 
 {
          global $js_static;