X-Git-Url: http://git.dj3c1t.com/?a=blobdiff_plain;f=mw%2Fenv%2Fmodules%2Fmw_env_out.php;h=859682f0a9ef84bba14190ad798494517d351a7a;hb=3c17f81e1d2fb68f69cfa620ca00ad63e83cc17c;hp=12ab2ed848274e67ac7f90ea0f442274820911d0;hpb=36ed114046cbe3d72a3589230e9f306a54fcc79d;p=mtweb diff --git a/mw/env/modules/mw_env_out.php b/mw/env/modules/mw_env_out.php index 12ab2ed..859682f 100644 --- a/mw/env/modules/mw_env_out.php +++ b/mw/env/modules/mw_env_out.php @@ -6,6 +6,9 @@ var $out_config; var $layout; + var $js_files; + var $css_files; + // --------------------------------------------------------------------------------- // out vars // @@ -31,7 +34,7 @@ $pathes = array(); if(($plugins = $this->plugins()) !== false){ foreach($plugins as $plugin_name => $plugin){ - $out_dir = $this->path("mw_dir")."plugins/".$plugin_name."/out/"; + $out_dir = $this->path("mw_dir")."plugins/".$plugin_name."/app/out/"; if( $plugin["installed"] && $plugin["enabled"] @@ -42,7 +45,7 @@ } } if($pathes !== false){ - $pathes = $this->_out_pathes($this->path("mw_dir")."out/", $pathes); + $pathes = $this->_out_pathes($this->path("mw_dir")."app/out/", $pathes); } } else $pathes = false; @@ -52,7 +55,7 @@ function _out_pathes($out_dir, $pathes = array()){ if($dh = opendir($out_dir)){ while(($file = readdir($dh)) !== false){ - if(is_dir($out_dir.$file) && substr($file, 0 ,1) != ".") $pathes[] = $file; + if(is_dir($out_dir.$file) && substr($file, 0 ,1) != "." && !in_array($file, $pathes)) $pathes[] = $file; } closedir($dh); } @@ -82,12 +85,12 @@ function _out_file($file, $PRIORITE = "DESC"){ $out_file = false; if($PRIORITE == "ASC"){ - $tmp_out_file = "out/".$this->config("out")."/".$file; + $tmp_out_file = "app/out/".$this->config("out")."/".$file; if($file && file_exists($this->path("mw_dir").$tmp_out_file)){ $out_file = $tmp_out_file; } if(!$out_file){ - $tmp_out_file = "out/".$this->config("default_out")."/".$file; + $tmp_out_file = "app/out/".$this->config("default_out")."/".$file; if($file && file_exists($this->path("mw_dir").$tmp_out_file)){ $out_file = $tmp_out_file; } @@ -96,13 +99,13 @@ if($out_file) return $out_file; if(($plugins = $this->plugins($PRIORITE)) !== false){ foreach($plugins as $plugin_name => $plugin){ - $tmp_out_file = "plugins/".$plugin_name."/out/".$this->config("out")."/".$file; + $tmp_out_file = "plugins/".$plugin_name."/app/out/".$this->config("out")."/".$file; if($file && $plugin["installed"] && $plugin["enabled"] && file_exists($this->path("mw_dir").$tmp_out_file)){ $out_file = $tmp_out_file; break; } if(!$out_file){ - $tmp_out_file = "plugins/".$plugin_name."/out/".$this->config("default_out")."/".$file; + $tmp_out_file = "plugins/".$plugin_name."/app/out/".$this->config("default_out")."/".$file; if($file && $plugin["installed"] && $plugin["enabled"] && file_exists($this->path("mw_dir").$tmp_out_file)){ $out_file = $tmp_out_file; break; @@ -110,12 +113,12 @@ } } if($PRIORITE == "DESC" && !$out_file){ - $tmp_out_file = "out/".$this->config("out")."/".$file; + $tmp_out_file = "app/out/".$this->config("out")."/".$file; if($file && file_exists($this->path("mw_dir").$tmp_out_file)){ $out_file = $tmp_out_file; } if(!$out_file){ - $tmp_out_file = "out/".$this->config("default_out")."/".$file; + $tmp_out_file = "app/out/".$this->config("default_out")."/".$file; if($file && file_exists($this->path("mw_dir").$tmp_out_file)){ $out_file = $tmp_out_file; } @@ -126,6 +129,50 @@ } // --------------------------------------------------------------------------------- + // js / css files + // + + function js_files(){ + if(!isset($this->js_files)) $this->js_files = array(); + $files = array(); + foreach($this->js_files as $url => $enabled){ + if($enabled) $files[] = $url; + } + return $files; + } + + function add_js_file($url){ + if(!isset($this->js_files)) $this->js_files = array(); + $this->js_files[$url] = true; + } + + function remove_js_file($url){ + if(isset($this->js_files) && isset($this->js_files[$url])){ + unset($this->js_files[$url]); + } + } + + function css_files(){ + if(!isset($this->css_files)) $this->css_files = array(); + $files = array(); + foreach($this->css_files as $url => $enabled){ + if($enabled) $files[] = $url; + } + return $files; + } + + function add_css_file($url){ + if(!isset($this->css_files)) $this->css_files = array(); + $this->css_files[$url] = true; + } + + function remove_css_file($url){ + if(isset($this->css_files) && isset($this->css_files[$url])){ + unset($this->css_files[$url]); + } + } + + // --------------------------------------------------------------------------------- // out config // @@ -160,13 +207,13 @@ foreach($plugins as $plugin_name => $plugin){ if($plugin["installed"] && $plugin["enabled"]){ $FOUND = false; - $functions_file = $this->path("mw_dir")."plugins/".$plugin_name."/out/".$this->config("out")."/functions.php"; + $functions_file = $this->path("mw_dir")."plugins/".$plugin_name."/app/out/".$this->config("out")."/functions.php"; if(file_exists($functions_file)){ $FOUND = true; require $functions_file; } if(!$FOUND){ - $functions_file = $this->path("mw_dir")."plugins/".$plugin_name."/out/".$this->config("default_out")."/functions.php"; + $functions_file = $this->path("mw_dir")."plugins/".$plugin_name."/app/out/".$this->config("default_out")."/functions.php"; if($plugin["installed"] && $plugin["enabled"] && file_exists($functions_file)){ require $functions_file; } @@ -174,13 +221,13 @@ } } $FOUND = false; - $functions_file = $this->path("mw_dir")."out/".$this->config("out")."/functions.php"; + $functions_file = $this->path("mw_dir")."app/out/".$this->config("out")."/functions.php"; if(file_exists($functions_file)){ $FOUND = true; require $functions_file; } if(!$FOUND){ - $functions_file = $this->path("mw_dir")."out/".$this->config("default_out")."/functions.php"; + $functions_file = $this->path("mw_dir")."app/out/".$this->config("default_out")."/functions.php"; if(file_exists($functions_file)){ require $functions_file; } @@ -204,20 +251,20 @@ function _init_layout($mod){ if(($plugins = $this->plugins("ASC")) !== false){ $layout_file = false; - $tmp_layout_file = $this->path("mw_dir")."out/".$this->config("out")."/layouts/".$mod.".xml"; + $tmp_layout_file = $this->path("mw_dir")."app/out/".$this->config("out")."/layouts/".$mod.".xml"; if(file_exists($tmp_layout_file)) $layout_file = $tmp_layout_file; if(!$layout_file){ - $tmp_layout_file = $this->path("mw_dir")."out/".$this->config("default_out")."/layouts/".$mod.".xml"; + $tmp_layout_file = $this->path("mw_dir")."app/out/".$this->config("default_out")."/layouts/".$mod.".xml"; if(file_exists($tmp_layout_file)) $layout_file = $tmp_layout_file; } if($layout_file) $this->load_layout($layout_file); foreach($plugins as $plugin_name => $plugin){ if($plugin["installed"] && $plugin["enabled"]){ $layout_file = false; - $tmp_layout_file = $this->path("mw_dir")."plugins/".$plugin_name."/out/".$this->config("out")."/layouts/".$mod.".xml"; + $tmp_layout_file = $this->path("mw_dir")."plugins/".$plugin_name."/app/out/".$this->config("out")."/layouts/".$mod.".xml"; if(file_exists($tmp_layout_file)) $layout_file = $tmp_layout_file; if(!$layout_file){ - $tmp_layout_file = $this->path("mw_dir")."plugins/".$plugin_name."/out/".$this->config("default_out")."/layouts/".$mod.".xml"; + $tmp_layout_file = $this->path("mw_dir")."plugins/".$plugin_name."/app/out/".$this->config("default_out")."/layouts/".$mod.".xml"; if(file_exists($tmp_layout_file)) $layout_file = $tmp_layout_file; } if($layout_file) $this->load_layout($layout_file);