public static function cache_start($tag_arg, &$smarty) { if (!cms_cache_handler::can_cache()) { return '{'; } $tmp = debug_backtrace(); $bt = array(); foreach ($tmp as $elem) { $bt[] = $elem['file'] . ':' . $elem['line']; } if (!is_array(self::$_cge_cache_keys)) { self::$_cge_cache_keys = array(); self::$_cge_cache_keystack = array(); } $nn = ''; while ($nn == '' || $nn < 100) { $keyr = 'v' . md5(serialize($bt) . cms_utils::get_current_pageid() . cge_url::current_url()); $key = $keyr . $nn; if (!in_array($key, self::$_cge_cache_keys)) { break; } if ($nn == '') { $nn = 1; } $nn = $nn++; } if ($key == '') { return '{'; } self::$_cge_cache_keys[] = $key; self::$_cge_cache_keystack[] = $key; $output = "\${$key}=cms_cache_handler::get_instance()->get('{$key}','cge_cache'); if(\${$key}!=''){echo '<!--cge_cache-->'.\${$key};}else{ob_start();"; return $output; }
public static function cge_tabcontent_end($params, $smarty) { static $endheader_sent = 0; $mod = cms_utils::get_module(MOD_CGEXTENSIONS); $out = $mod->EndTab(); self::$_in_tab = 0; if (isset($params['assign'])) { $smarty->assign(trim($params['assign']), $out); return; } return $out; }