diff --git a/CLASSES/core/LE_TPL.php b/CLASSES/core/LE_TPL.php index 8d57197..de465a9 100644 --- a/CLASSES/core/LE_TPL.php +++ b/CLASSES/core/LE_TPL.php @@ -1,5 +1,4 @@ head_cont.=implode($_gl,$this->top_st); $this->cont_bottom.=implode($_gl,$this->bottom_st); - - //echo_arr($this->top_st); - - } public function css($p,$min=0) @@ -180,314 +174,4 @@ class LE_TPL { return $path; } - - - - - - - - -} -/* -[],'js'=>[]]; - - function __construct() { - $this->tpl_arr = ['text'=>'','_html_'=>'','head_objects'=>'','meta_title'=>'','meta_keywords'=>'','meta_description'=>'']; - - $this->txt = &$this->tpl_arr['text']; - $this->vars = ['tpl_arr'=>&$this->tpl_arr,'tpl'=>&$this]; - } - - public function decl_p($inp) - { - $inp = MP_ARR::FROM_STR($inp); - while ($r = array_shift($inp)) $this->declare_parts[$r]=1; - } - - public function js4part($p,$f,$EOL=false,$pre="",$glued=1) - { - if (ST_GLUE && $glued) return $this->glue_reg('js',$p,$f); - - return $this->st4p($p,$this->js($f),$EOL,$pre); - } - - public function css4part($p,$f,$EOL=false,$pre="",$glued=1) - { - if (ST_GLUE && $glued) return $this->glue_reg('css',$p,$f); - - return $this->st4p($p,$this->css($f),$EOL,$pre); - } - - public function glue_reg($type,$p,$url) - { - - $path = str_replace('/mp_pub',SYSDIR."PUB", $url); - $path = str_replace('/pub_data',WEBDIR."pub_data", $path); - switch ($type) { - case 'css': - $path = str_replace('.css','.min.css',$path); - break; - case 'js': - $path = str_replace('.js','.min.js',$path); - break; - - } - - $this->glue_arr[$type][] = - ['u'=>$url,'p'=>$path,'l'=> ((int)$this->if_decl_p($p))]; - } - - public function glue_stat() - { - $js_k = $css_k = ""; - if (!ST_GLUE) return; - - foreach ($this->glue_arr['js'] as $key => $it) $js_k.=$it['l']; - - foreach ($this->glue_arr['css'] as $key => $it) $css_k.=$it['l']; - - - $alph = [0,1,2,3,4,5,6,7,8,9,'A','B','C','D','E','F','G','H','I','J','K', - 'L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','_','-','=']; - - $js_k = int2alphabet($alph,bindec($js_k)); - $css_k = int2alphabet($alph,bindec($css_k)); - - - $glue_path = WEBDIR."pub_data/static_cache/"; - - $js_path = $glue_path.$js_k.".js"; - $css_path = $glue_path.$css_k.".css"; - - $glue_path = $alph = NULL; - unset($glue_path,$alph); - - if (!is_file($js_path) && count($this->glue_arr['js'])) - { - foreach ($this->glue_arr['js'] as $key => $it) - { - if (!$it['l']) continue;*/ - //$pre = '/* file: '.$it['u'].'*/'."\n"; - /* file_put_contents($js_path,$pre.file_get_contents($it['p'])."\n",FILE_APPEND); - - } - } - - if (!is_file($css_path) && count($this->glue_arr['css'])) - { - foreach ($this->glue_arr['css'] as $key => $it) - { - if (!$it['l']) continue;*/ - //$pre = '/* file: '.$it['u'].'*/'."\n"; - /*file_put_contents($css_path,$pre.file_get_contents($it['p'])."\n",FILE_APPEND); - - } - } - - - $this->to_head($this->css('/pub_data/static_cache/'.$css_k.".css",1)); - $js_block = ($this->js2bottom) ? 'bottom_js' : 'head_objects'; - $this->add2block($js_block,$this->js('/pub_data/static_cache/'.$js_k.".js",1)); - - } - - public function st4p ($p,$inc,$EOL=false,$pre="") - { - if($this->if_decl_p($p)) return $pre.$inc.(($EOL)?$EOL:''); - } - - public function st_format($inp,$pre="",$EOL="") - { - preg_match_all('!(\<[^>]+\>)!simu',$inp,$res); - foreach ($res[1] as $key => $v) echo $pre.$v.$EOL; - } - - public function undecl_p($inp) - { - if($this->if_decl_p($inp)) unset($this->declare_parts[$inp]); - } - - public function if_decl_p($inp) - { - if ($inp===0) return true; - return (isset($this->declare_parts[$inp])); - } - - //+++добавить несколько частей в массиве - public function part_css($part,$css) - { - if ($this->if_decl_p($part)) - echo $this->css($css); - } - - public function display($prefix=false,$tpl_name="default") - { - global $tpl,$config,$db; - - if (LST_TPL) echo_arr($this->load_tpls); - if (arr_v($_POST,'clear')=='yes') $this->clear=1; - - if($prefix===false) $prefix = $this->prefix; - if ($this->clear) - { - echo $this->tpl_arr['text']; - return ($this->clear=0); - } - - $tpl_arr = &$this->tpl_arr; - - include($this->path($tpl_name,$prefix)); - if (DBG_MGS) include($this->path('debug_message','default')); - return 1; - - } - - public function path($tpl_name,$prefix=false) - { - $p = ((empty($prefix))?$this->prefix:$prefix).DS.$tpl_name.'.tpl'; - if (is_file($p_=TPLDIR2.$p) || is_file($p_=TPLDIR1.$p)) - return str_replace('//','/',$p_); - exit($tpl_name.' - NOT FOUND!!!'); - } - public function add2block($k,$v){ - $this->tpl_arr[$k] = (isset($this->tpl_arr[$k]))? $this->tpl_arr[$k]."\r\n".$v : $v; - return $this; - } - - public function canonical($url) - { - $this->to_head(''); - } - - public function show_bl($n) - { - if (isset($this->tpl_arr[$n])) echo $this->tpl_arr[$n]; - } - - - - - - public function css($p,$nm=0) - { - return ''; - } - - public function js($p,$nm=0) - { - return ''; - } - - public function to_head($str) - { - return $this->add2block('head_objects',$str); - } - - public function add_js ($inp,$no_mod=0){ - return $this->to_head($this->js($inp,$no_mod)); - } - - public function add_css ($inp,$no_mod=0){ - return $this->to_head($this->css($inp,$no_mod)); - } - - - public function mp_css($inp) - { - $inp = MP_ARR::FROM_STR($inp); - - for ($i=0,$c=count($inp); $i < $c; $i++) - $this->add_css(M_PUB.'/css/'.$inp[$i]); - - return $this; - } - - public function mp_js($inp) - { - $inp = MP_ARR::FROM_STR($inp); - - for ($i=0,$c=count($inp); $i < $c; $i++) - $this->add_js(M_PUB.'/js/'.$inp[$i]); - - return $this; - } - - public function meta_tags ($i,$i2=false) - { - if ($i===false && is_array($i2)) - { - $i=[]; - list($i['meta_title'],$i['meta_keywords'],$i['meta_description']) = $i2; - } - $f = function($n) {return(htmlspecialchars($n));}; - $m_arr = SELECT_FROM_ARR('meta_description;meta_keywords',$i); - $m_arr = array_map($f,$m_arr); - //титл не экранируем - $m_arr['meta_title'] = $i['meta_title']; - unset($i); - $this->tpl_arr = array_merge($this->tpl_arr,$m_arr); - //echo_arr($m_arr); - unset($f,$m_arr); - } - public function ograph($title,$description,$image,$url,$type="website") - { - $a = &$this->tpl_arr; - - $a['_html_'] = ' prefix="og: http://ogp.me/ns#"'; - $_arr = compact('title','type','url','description','image'); - - foreach ($_arr as $p => $v) - { - $v=htmlspecialchars($v); - $this->to_head(''); - } - } - - public function fetch($t,&$vars=array(),$prefix=false,$cache_en=false) - { - if ($cache_en) - { - $cache_key = MPCACHE::gen_key_p(array($t,$vars,$prefix)); - $cache = MPCACHE::from_cache("tpl_cache",$cache_key); - if($cache!==false) return $cache['content']; - } - - if (empty($t)||(mb_substr($t,0,1)=="#")) return ''; - - if (is_array($this->vars))extract($this->vars); - if (is_array($vars))extract($vars); - $tpl = &$this; - - $this->load_tpls[] = $__p = $this->path($t,$prefix); - - - ob_start(); - include($__p); - - if ($cache_en) - { - $html = ob_get_clean(); - MPCACHE::to_cache("tpl_cache",$cache_key,['content'=>$html]); - return $html; - } - return ob_get_clean(); - } - - public function txt($txt){$this->add2block('text',$txt);} -} -*/ \ No newline at end of file +} \ No newline at end of file