mirror of
https://github.com/e107inc/e107.git
synced 2025-07-31 20:00:37 +02:00
cache handler cleanup (more to do), clear() now accepts $related parameter for clearing nq_ and nomd5_ related entries
This commit is contained in:
@@ -9,8 +9,8 @@
|
|||||||
* Cache handler
|
* Cache handler
|
||||||
*
|
*
|
||||||
* $Source: /cvs_backup/e107_0.8/e107_handlers/cache_handler.php,v $
|
* $Source: /cvs_backup/e107_0.8/e107_handlers/cache_handler.php,v $
|
||||||
* $Revision: 1.13 $
|
* $Revision: 1.14 $
|
||||||
* $Date: 2009-09-13 10:29:56 $
|
* $Date: 2009-09-25 20:17:34 $
|
||||||
* $Author: secretr $
|
* $Author: secretr $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -23,7 +23,7 @@ define('CACHE_PREFIX','<?php exit;');
|
|||||||
*
|
*
|
||||||
* @package e107
|
* @package e107
|
||||||
* @category e107_handlers
|
* @category e107_handlers
|
||||||
* @version $Revision: 1.13 $
|
* @version $Revision: 1.14 $
|
||||||
* @author $Author: secretr $
|
* @author $Author: secretr $
|
||||||
*/
|
*/
|
||||||
class ecache {
|
class ecache {
|
||||||
@@ -198,17 +198,25 @@ class ecache {
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return bool
|
* Deletes cache files. If $query is set, deletes files named {$CacheTag}*.cache.php, if not it deletes all cache files - (*.cache.php)
|
||||||
* @param string $CacheTag
|
*
|
||||||
* @desc Deletes cache files. If $query is set, deletes files named {$CacheTag}*.cache.php, if not it deletes all cache files - (*.cache.php)
|
* @param string $CacheTag
|
||||||
*/
|
* @param boolean $syscache
|
||||||
function clear($CacheTag = '', $syscache = false)
|
* @param boolean $related clear also 'nq_' and 'nomd5_' entries
|
||||||
|
* @return bool
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
function clear($CacheTag = '', $syscache = false, $related = false)
|
||||||
{
|
{
|
||||||
$e107 = e107::getInstance();
|
|
||||||
// global $pref;
|
|
||||||
$file = ($CacheTag) ? preg_replace("#\W#", "_", $CacheTag)."*.cache.php" : "*.cache.php";
|
$file = ($CacheTag) ? preg_replace("#\W#", "_", $CacheTag)."*.cache.php" : "*.cache.php";
|
||||||
$e107->e_event->triggerAdminEvent('cache_clear', "cachetag=$CacheTag&file=$file&syscache=$syscache");
|
e107::getEvent()->triggerAdminEvent('cache_clear', "cachetag=$CacheTag&file=$file&syscache=$syscache");
|
||||||
$ret = ecache::delete(e_CACHE, $file, $syscache);
|
$ret = ecache::delete(e_CACHE, $file, $syscache);
|
||||||
|
|
||||||
|
if($CacheTag && $related) //TODO - too dirty - add it to the $file pattern above
|
||||||
|
{
|
||||||
|
ecache::delete(e_CACHE, 'nq_'.$file, $syscache);
|
||||||
|
ecache::delete(e_CACHE, 'nomd5_'.$file, $syscache);
|
||||||
|
}
|
||||||
return $ret;
|
return $ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -217,15 +225,15 @@ class ecache {
|
|||||||
* @param string $CacheTag
|
* @param string $CacheTag
|
||||||
* @desc Deletes cache files. If $query is set, deletes files named {$CacheTag}*.cache.php, if not it deletes all cache files - (*.cache.php)
|
* @desc Deletes cache files. If $query is set, deletes files named {$CacheTag}*.cache.php, if not it deletes all cache files - (*.cache.php)
|
||||||
*/
|
*/
|
||||||
function clear_sys($CacheTag = '')
|
function clear_sys($CacheTag = '', $related = false)
|
||||||
{
|
{
|
||||||
if(isset($this) && $this instanceof ecache)
|
if(isset($this) && $this instanceof ecache)
|
||||||
{
|
{
|
||||||
return $this->clear($CacheTag, true);
|
return $this->clear($CacheTag, true, $related);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
ecache::clear($CacheTag, true);
|
ecache::clear($CacheTag, true, $related);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user