CLICK HERE TO BUY IT TODAY! OR GET IT FREE VIA TRIALPAY  

PHP Demo Application - Source Code

/Framework/Model/Vendor/Smarty/libs/sysplugins/smarty_internal_cache.php

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

PHP Demo Source Code Index