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 cache_start($tag_arg, $smarty) { $output = ''; if (!cms_cache_handler::get_instance()->can_cache()) { $output = '{'; } else { $bt = debug_backtrace(); 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();"; } if (version_compare(CMS_VERSION, '1.11-alpha0') < 0) { return $output; } return '<?php ' . $output . ' ?>'; }