Viewing file: smarty_internal_cache.php (3.38 KB) -rwxrwxrwx Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/** * Project: Smarty: the PHP compiling template engine * File: smarty_internal_cache.php * SVN: $Id: $ * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * * For questions, help, comments, discussion, etc., please join the * Smarty mailing list. Send a blank e-mail to * smarty-discussion-subscribe@googlegroups.com * * @link http://www.smarty.net/ * @copyright 2008 New Digital Group, Inc. * @author Monte Ohrt <monte at ohrt dot com> * @author Uwe Tews * @package Smarty * @subpackage PluginsInternal * @version 3-SVN$Rev: 3286 $ */
class Smarty_Internal_Cache { protected $smarty;
function __construct($smarty) { $this->smarty = $smarty; }
/** * Loads cache resource. * * @return object of cache resource */ public function loadResource($type = null) { if (!isset($type)) { $type = $this->smarty->caching_type; } // already loaded? if (isset($this->smarty->cache_resource_objects[$type])) { return $this->smarty->cache_resource_objects[$type]; } if (in_array($type, $this->smarty->cache_resource_types)) { $cache_resource_class = 'Smarty_Internal_CacheResource_' . ucfirst($type); return $this->smarty->cache_resource_objects[$type] = new $cache_resource_class($this->smarty); } else { // try plugins dir $cache_resource_class = 'Smarty_CacheResource_' . ucfirst($type); if ($this->smarty->loadPlugin($cache_resource_class)) { return $this->smarty->cache_resource_objects[$type] = new $cache_resource_class($this->smarty); } else { throw new Exception("Unable to load cache resource '{$type}'"); } } }
/** * Empty cache folder * * @param integer $exp_time expiration time * @param string $type resource type * @return integer number of cache files deleted */ function clearAll($exp_time = null, $type = null) { return $this->loadResource($type)->clearAll($exp_time); }
/** * 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 */ function clear($template_name, $cache_id = null, $compile_id = null, $exp_time = null, $type = null) { // load cache resource $cacheResource = $this->loadResource($type); return $cacheResource->clear($template_name, $cache_id, $compile_id, $exp_time); } }
|