123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- <?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);
- }
-
- }
|