Fixed backup view, sanitization.
[fa-stable.git] / includes / main.inc
index ad004fea5a937bef84696b15a658fce2d5aa4c69..b89f4496d4cc5ac0699aa3a30b8cc4224d0fccbc 100644 (file)
@@ -24,7 +24,7 @@ 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 page($title, $no_menu=false, $is_index=false, $onload="", $js="", $script_only=false)
+function page($title, $no_menu=false, $is_index=false, $onload="", $js="", $script_only=false, $css='')
 {
 
        global $path_to_root, $page_security;
@@ -34,7 +34,7 @@ function page($title, $no_menu=false, $is_index=false, $onload="", $js="", $scri
 
        include($path_to_root . "/includes/page/header.inc");
 
-       page_header($title, $no_menu, $is_index, $onload, $js);
+       page_header($title, $no_menu, $is_index, $onload, $js, $css);
        check_page_security($page_security);
 //     error_box();
        if($script_only) {              
@@ -259,7 +259,7 @@ function check_write($path)
        ) return 0;
        
        return is_writable($path) ? (is_dir($path) ? 1 : -1) 
-               : ($path =='.' ? 0 : check_write(dirname($path)));
+               : (is_file($path) ? 0 : ($path == '.' ? 0 : check_write(dirname($path))));
 }
 
 /*
@@ -270,11 +270,12 @@ function check_write($path)
 function copy_files($flist, $from, $to, $strict=false)
 {
        foreach ($flist as $file) {
-               if (file_exists($from.'/'.$file))
+               if (file_exists($from.'/'.$file)) {
                        if (!copy_file($file, $from, $to))
                                return false;
-               if ($strict && !is_file($from.'/'.$file)) // if 
+               } else if ($strict) {
                                unlink($to.'/'.$file);
+               }
        }
        return true;
 }
@@ -302,20 +303,22 @@ function copy_file($file, $from, $to)
 /*
        Search for file, looking first for company specific version, then for 
        version provided by any extension module, finally in main FA directory.
-       Also adds include path for any related files.
+       Also adds include path for any related files, and sets $local_path_to_root 
+       to enable local translation domains.
        
        Returns found file path or null.
 */
 function find_custom_file($rep)
 {
-       global $installed_extensions, $comp_path, $path_to_root;
+       global $installed_extensions, $path_to_root, $local_path_to_root;
 
        // customized per company version
        $path = company_path();
-       $file = $path.'/'.$rep;
+       $file = $path.$rep;
        if (file_exists($file)) {
                // add local include path
-               set_include_path($path.PATH_SEPARATOR.get_include_path());
+               $local_path_to_root = $path;
+               set_include_path(dirname($file).PATH_SEPARATOR.get_include_path());
                return $file;
        }
        // file added by active extension modules
@@ -328,6 +331,7 @@ function find_custom_file($rep)
                                $file = $path.$rep;
                                if (file_exists($file)) {
                                        set_include_path($path.PATH_SEPARATOR.get_include_path());
+                                       $local_path_to_root = $path;
                                        return $file;
                                }
                        }
@@ -340,5 +344,4 @@ function find_custom_file($rep)
        return null;
 }
 
-
 ?>
\ No newline at end of file