Changed balance_sheet field in account class to ctype and fixed class editing.
[fa-stable.git] / includes / main.inc
index a4472e8ecc40f806d0c5cb1797af0c8278892a92..b1876099aff2346b8b4020a189cdb296697e190d 100644 (file)
@@ -1,58 +1,77 @@
 <?php
+/**********************************************************************
+    Copyright (C) FrontAccounting, LLC.
+       Released under the terms of the GNU General Public License, GPL, 
+       as published by the Free Software Foundation, either version 3 
+       of the License, or (at your option) any later version.
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  
+    See the License here <http://www.gnu.org/licenses/gpl-3.0.html>.
+***********************************************************************/
+include_once($path_to_root . "/includes/db/connect_db.inc");
 
-    include_once($path_to_root . "/includes/db/connect_db.inc");
+include_once($path_to_root . "/includes/reserved.inc");
+include_once($path_to_root . "/includes/errors.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/prefs/sysprefs.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 . "/includes/reserved.inc");
-    include_once($path_to_root . "/includes/errors.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/prefs/sysprefs.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 . "/admin/db/users_db.inc");
-    include_once($path_to_root . "/includes/ui/ui_view.inc");
+include_once($path_to_root . "/admin/db/users_db.inc");
+include_once($path_to_root . "/includes/ui/ui_view.inc");
+include_once($path_to_root . "/includes/ui/ui_controls.inc");
+include_once($path_to_root . "/installed_extensions.php");
        
-    function page($title, $no_menu=false, $is_index=false, $onload="", $js="")
-    {
+function page($title, $no_menu=false, $is_index=false, $onload="", $js="", $script_only=false)
+{
 
-       global $path_to_root;
+       global $path_to_root;
 
-       $hide_menu = $no_menu;
+       $hide_menu = $no_menu;
 
-       include($path_to_root . "/includes/page/header.inc");
+       include($path_to_root . "/includes/page/header.inc");
 
-       page_header($title, $no_menu, $is_index, $onload, $js);
-               error_box();
-    }
-
-    function end_page($no_menu=false, $is_index=false)
-    {
-       global $path_to_root, $Ajax;
+       page_header($title, $no_menu, $is_index, $onload, $js);
+//     error_box();
+       if($script_only) {              
+               echo '<noscript>';
+               echo display_heading(_('This page is usable only with javascript enabled browsers.'));
+               echo '</noscript>';
+               div_start('_page_body', null, true);
+       } else {
+               div_start('_page_body'); // whole page content for ajax reloading
+       }
+}
 
+function end_page($no_menu=false, $is_index=false)
+{
+       global $path_to_root, $Ajax;
        $hide_menu = $no_menu;
-
-       include($path_to_root . "/includes/page/footer.inc");
-
-       $Ajax->run();
+               div_end();      // _page_body section
+       include($path_to_root . "/includes/page/footer.inc");
        page_footer($no_menu, $is_index);
-    }
+}
 
-    function flush_dir($path) {
+function flush_dir($path) 
+{
        $dir = opendir($path);
        while(false !== ($fname = readdir($dir))) {
-               if($fname=='.' || $fname=='..') continue;
+               if($fname=='.' || $fname=='..' || $fname=='index.php') continue;
                if(is_dir($path.'/'.$fname)) {
                    flush_dir($path.'/'.$fname);
                    @rmdir($path.'/'.$fname);
                } else
                    @unlink($path.'/'.$fname);
        }
-    }
+}
 
-    function cache_js_file($fpath, $text) 
-    {
+function cache_js_file($fpath, $text) 
+{
        global $go_debug;
 
        if(!$go_debug) $text = js_compress($text);
        if (!fwrite($file, $text)) return false;
        return fclose($file);
 
-    }
+}
 
-    function add_js_file($filename) 
-    {
+function add_js_file($filename) 
+{
          global $js_static;
 
          $search = array_search($filename, $js_static);
          if ($search === false || $search === null) // php>4.2.0 returns null
                $js_static[] = $filename;       
-    }
+}
 
-    function add_js_ufile($filename) 
-    {
+function add_js_ufile($filename) 
+{
          global $js_userlib;
 
          $search = array_search($filename, $js_userlib);
          if ($search === false || $search === null) // php>4.2.0 returns null
                $js_userlib[] = $filename;
-    }
+}
 
-    function add_js_source($text) 
-    {
+function add_js_source($text) 
+{
          global $js_lib;
          
          $search = array_search($text, $js_lib);
          if ($search === false || $search === null) // php>4.2.0 returns null
                $js_lib[] = $text;
-    }
+}
 
 /**
  * Compresses the Javascript code for more efficient delivery.
@@ -239,4 +258,37 @@ function js_compress($sJS)
        }
        return $sJS;
 }
+//-----------------------------------------------------------------------------
+//     Inserts $elements into $array at position $index.
+//     $elements is list of any objects
+//
+function array_insert(&$array, $index, $elements)
+{
+       if (!is_array($elements)) $elements = array($elements);
+
+       $head  = array_splice($array, 0, $index);
+       $array = array_merge($head, $elements, $array);
+}
+
+function array_remove(&$array, $index, $len=1)
+{
+       array_splice($array, $index, $len);
+}
+
+function array_replace(&$array, $index, $len, $elements)
+{
+       array_splice($array, $index, $len);
+       array_insert($array, $index, $elements);
+}
+
+function array_append(&$array, $elements)
+{
+       foreach($elements as $key => $el) {
+               if(is_int($key))
+                       $array[] = $el;
+               else
+                       $array[$key] = $el;
+       }
+}
+
 ?>
\ No newline at end of file