Added list category grouping.
[fa-stable.git] / includes / main.inc
index 2180ec05793a0b3d0ab91823227eae9f36cea835..4d6e9130c8165329aa8ccf46e98b6fd281504c3d 100644 (file)
 
     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");
        
-       function output_html($text) 
-       {
-         global $before_box;
-         return  in_ajax() ? fmt_errors() : ($before_box.fmt_errors().$text);
-       }
-
-    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;
 
        $hide_menu = $no_menu;
 
-               // intercept all output to destroy it in case of ajax call
-               ob_start('output_html');
-               // colect all error msgs
-               set_error_handler('error_handler' /*, errtypes */);
-
        include($path_to_root . "/includes/page/header.inc");
 
        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)
 
        $hide_menu = $no_menu;
 
+               div_end();      // _page_body section
        include($path_to_root . "/includes/page/footer.inc");
 
-               $Ajax->run();
        page_footer($no_menu, $is_index);
     }
 
     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);
@@ -250,4 +248,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