/** * Empty cache for a specific template * * @api Smarty::clearCache() * @link http://www.smarty.net/docs/en/api.clear.cache.tpl * * @param \Smarty $smarty * @param string $template_name template name * @param string $cache_id cache id * @param string $compile_id compile id * @param integer $exp_time expiration time * @param string $type resource type * * @return integer number of cache files deleted */ public function clearCache(Smarty $smarty, $template_name, $cache_id = null, $compile_id = null, $exp_time = null, $type = null) { $smarty->_clearTemplateCache(); // load cache resource and call clear $_cache_resource = Smarty_CacheResource::load($smarty, $type); return $_cache_resource->clear($smarty, $template_name, $cache_id, $compile_id, $exp_time); }
/** * Read cache content from handler * * @param Smarty_Internal_Template $_template template object * * @return string|false content */ public function read(Smarty_Internal_Template $_template) { if (!$_template->source->handler->recompiled) { return $this->handler->readCachedContent($_template); } return false; }
/** * Empty cache folder * * @api Smarty::clearAllCache() * @link http://www.smarty.net/docs/en/api.clear.all.cache.tpl * * @param \Smarty $smarty * @param integer $exp_time expiration time * @param string $type resource type * * @return integer number of cache files deleted */ public function clearAllCache(Smarty $smarty, $exp_time = null, $type = null) { $smarty->_clearTemplateCache(); // load cache resource and call clearAll $_cache_resource = Smarty_CacheResource::load($smarty, $type); return $_cache_resource->clearAll($smarty, $exp_time); }
/** * Empty cache folder * * @api Smarty::clearAllCache() * @link http://www.MVC.net/docs/en/api.clear.all.cache.tpl * * @param \Smarty $smarty * @param integer $exp_time expiration time * @param string $type resource type * * @return integer number of cache files deleted */ public function clearAllCache(Smarty $smarty, $exp_time = null, $type = null) { // load cache resource and call clearAll $_cache_resource = Smarty_CacheResource::load($smarty, $type); $_cache_resource->invalidLoadedCache($smarty); return $_cache_resource->clearAll($smarty, $exp_time); }
public function setUp() { $this->smarty = SmartyTests::$smarty; $this->smartyBC = SmartyTests::$smartyBC; // reset cache for unit test Smarty_CacheResource::$resources = array(); SmartyTests::init(); }
/** * Empty cache for a specific template * * @api Smarty::clearCache() * @link http://www.smarty.net/docs/en/api.clear.cache.tpl * * @param \Smarty $smarty * @param string $template_name template name * @param string $cache_id cache id * @param string $compile_id compile id * @param integer $exp_time expiration time * @param string $type resource type * * @return integer number of cache files deleted */ public function clearCache(Smarty $smarty, $template_name, $cache_id = null, $compile_id = null, $exp_time = null, $type = null) { // load cache resource and call clear $_cache_resource = Smarty_CacheResource::load($smarty, $type); if ($smarty->caching_type != 'file' && !isset($template_name)) { $_cache_resource->invalidLoadedCache($smarty); } return $_cache_resource->clear($smarty, $template_name, $cache_id, $compile_id, $exp_time); }
/** * Write this cache object to handler * @param Smarty_Internal_Template $_template template object * @param string $content content to cache * @return boolean success */ public function write(Smarty_Internal_Template $_template, $content) { if (!$_template->source->recompiled) { if ($this->handler->writeCachedContent($_template, $content)) { $this->content = NULL; $this->timestamp = time(); $this->exists = TRUE; $this->valid = TRUE; $this->processed = FALSE; if ($_template->smarty->cache_locking) { $this->handler->releaseLock($_template->smarty, $this); } return TRUE; } $this->content = NULL; $this->timestamp = FALSE; $this->exists = FALSE; $this->valid = FALSE; $this->processed = FALSE; } return FALSE; }
/** * Empty cache for a specific template * * @param string $template_name template name * @param string $cache_id cache id * @param string $compile_id compile id * @param integer $exp_time expiration time * @param string $type resource type * @return integer number of cache files deleted */ public function clearCache($template_name, $cache_id = null, $compile_id = null, $exp_time = null, $type = null) { // load cache resource and call clear $_cache_resource = Smarty_CacheResource::load($this, $type); Smarty_CacheResource::invalidLoadedCache($this); return $_cache_resource->clear($this, $template_name, $cache_id, $compile_id, $exp_time); }
/** * Empty cache for this template * * @param integer $exp_time expiration time * @return integer number of cache files deleted */ public function clearCache($exp_time = null) { Smarty_CacheResource::invalidLoadedCache($this->smarty); return $this->cached->handler->clear($this->smarty, $this->template_name, $this->cache_id, $this->compile_id, $exp_time); }
/** * Write this cache object to handler * * @param Smarty_Internal_Template $_template template object * @param string $content content to cache * @return boolean success */ public function write(Smarty_Internal_Template $_template, $content) { if (!$_template->source->recompiled) { if ($this->handler->writeCachedContent($_template, $content)) { $this->timestamp = time(); $this->exists = true; $this->valid = true; if ($_template->smarty->cache_locking) { $this->handler->releaseLock($_template->smarty, $this); } return true; } } return false; }
/** * Empty cache for a specific template * * @param string $template_name template name * @param string $cache_id cache id * @param string $compile_id compile id * @param integer $exp_time expiration time * @param string $type resource type * @return integer number of cache files deleted */ public function clearCache($template_name, $cache_id = null, $compile_id = null, $exp_time = null, $type = null) { Smarty::muteExpectedErrors(); // load cache resource and call clear $_cache_resource = Smarty_CacheResource::load($this, $type); Smarty_CacheResource::invalidLoadedCache($this); $t = $_cache_resource->clear($this, $template_name, $cache_id, $compile_id, $exp_time); Smarty::unmuteExpectedErrors(); return $t; }
public function __construct(Smarty_Internal_Template $_template) { $this->compile_id = $_template->compile_id; $this->cache_id = $_template->cache_id; $this->source = $_template->source; $_template->cached = $this; $smarty = $_template->smarty; $this->handler = $handler = Smarty_CacheResource::load($smarty); if (!($_template->caching == Smarty::CACHING_LIFETIME_CURRENT || $_template->caching == Smarty::CACHING_LIFETIME_SAVED) || $_template->source->recompiled) { $handler->populate($this, $_template); return; } while (true) { while (true) { $handler->populate($this, $_template); if ($this->timestamp === false || $smarty->force_compile || $smarty->force_cache) { $this->valid = false; } else { $this->valid = true; } if ($this->valid && $_template->caching == Smarty::CACHING_LIFETIME_CURRENT && $_template->cache_lifetime >= 0 && time() > $this->timestamp + $_template->cache_lifetime) { $this->valid = false; } if ($this->valid || !$_template->smarty->cache_locking) { break; } if (!$this->handler->locked($_template->smarty, $this)) { $this->handler->acquireLock($_template->smarty, $this); break 2; } } if ($this->valid) { if (!$_template->smarty->cache_locking || $this->handler->locked($_template->smarty, $this) === null) { if ($smarty->debugging) { Smarty_Internal_Debug::start_cache($_template); } if ($handler->process($_template, $this) === false) { $this->valid = false; } else { $this->processed = true; } if ($smarty->debugging) { Smarty_Internal_Debug::end_cache($_template); } } else { continue; } } else { return; } if ($this->valid && $_template->caching === Smarty::CACHING_LIFETIME_SAVED && $_template->properties['cache_lifetime'] >= 0 && time() > $_template->cached->timestamp + $_template->properties['cache_lifetime']) { $this->valid = false; } if (!$this->valid && $_template->smarty->cache_locking) { $this->handler->acquireLock($_template->smarty, $this); return; } else { return; } } }