git-svn-id: https://192.168.0.254/svn/Proyectos.FundacionLQDVI_WebCongresos/trunk@2 94ccb1af-fd9d-d947-8d90-7f70ea60afc8
84 lines
1.9 KiB
PHP
84 lines
1.9 KiB
PHP
<?PHP
|
|
/**
|
|
* patTemplate Template cache that stores data in the eAccelerator Cache
|
|
*
|
|
* $Id: eAccelerator.php 10381 2008-06-01 03:35:53Z pasamio $
|
|
*
|
|
* @package patTemplate
|
|
* @subpackage Caches
|
|
* @author Mike Valstar <mikevalstar@thrashcorp.com>
|
|
*/
|
|
|
|
// Check to ensure this file is within the rest of the framework
|
|
defined('JPATH_BASE') or die();
|
|
|
|
/**
|
|
* patTemplate Template cache that stores data in the eAccelerator Cache
|
|
*
|
|
* If the lifetime is set to auto, the cache files will be kept until
|
|
* you delete them manually.
|
|
*
|
|
* $Id: eAccelerator.php 10381 2008-06-01 03:35:53Z pasamio $
|
|
*
|
|
* @package patTemplate
|
|
* @subpackage Caches
|
|
* @author Mike Valstar <mikevalstar@thrashcorp.com>
|
|
*/
|
|
class patTemplate_TemplateCache_eAccelerator extends patTemplate_TemplateCache
|
|
{
|
|
/**
|
|
* parameters of the cache
|
|
*
|
|
* @access private
|
|
* @var array
|
|
*/
|
|
var $_params = array( 'lifetime' => 'auto');
|
|
|
|
/**
|
|
* load template from cache
|
|
*
|
|
* @access public
|
|
* @param string cache key
|
|
* @param integer modification time of original template
|
|
* @return array|boolean either an array containing the templates or false cache could not be loaded
|
|
*/
|
|
function load( $key, $modTime = -1 )
|
|
{
|
|
if (!function_exists('eaccelerator_lock')) {
|
|
return false;
|
|
}
|
|
$something = eaccelerator_get($key);
|
|
if (is_null($something)){
|
|
return false;
|
|
}else{
|
|
return unserialize($something);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* write template to cache
|
|
*
|
|
* @access public
|
|
* @param string cache key
|
|
* @param array templates to store
|
|
* @return boolean true on success
|
|
*/
|
|
function write( $key, $templates )
|
|
{
|
|
if (!function_exists('eaccelerator_lock')) {
|
|
return false;
|
|
}
|
|
|
|
eaccelerator_lock($key);
|
|
if ($this->getParam( 'lifetime' ) == 'auto'){
|
|
eaccelerator_put($key, serialize( $templates ));
|
|
}else{
|
|
eaccelerator_put($key, serialize( $templates ), $this->getParam( 'lifetime' ) * 60);
|
|
}
|
|
eaccelerator_unlock($key);
|
|
|
|
return true;
|
|
}
|
|
}
|
|
?>
|