mirror of
https://github.com/smarty-php/smarty.git
synced 2025-08-06 11:24:27 +02:00
update caching logic
This commit is contained in:
@@ -168,6 +168,34 @@ class Smarty
|
|||||||
unset($this->_tpl_vars[$tpl_var]);
|
unset($this->_tpl_vars[$tpl_var]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*======================================================================*\
|
||||||
|
Function: clear_cache()
|
||||||
|
Purpose: clear all cached template files for given template
|
||||||
|
\*======================================================================*/
|
||||||
|
|
||||||
|
function clear_cache($tpl_file)
|
||||||
|
{
|
||||||
|
if(is_dir($this->cache_dir))
|
||||||
|
$dir_handle = opendir($this->cache_dir);
|
||||||
|
else
|
||||||
|
return false;
|
||||||
|
|
||||||
|
// remove leading . or /
|
||||||
|
$tpl_file = preg_replace("/^(\.{0,2}\/)*/","",$tpl_file);
|
||||||
|
$tpl_file_url = urlencode($tpl_file);
|
||||||
|
|
||||||
|
while($curr_file = readdir($dir_handle)) {
|
||||||
|
if ($curr_file == '.' || $curr_file == '..')
|
||||||
|
continue;
|
||||||
|
|
||||||
|
if(is_file($this->cache_dir."/".$curr_file) &&
|
||||||
|
substr($curr_file,0,strlen($tpl_file_url)) == $tpl_file_url)
|
||||||
|
unlink($this->cache_dir."/".$curr_file);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*======================================================================*\
|
/*======================================================================*\
|
||||||
Function: clear_all_cache()
|
Function: clear_all_cache()
|
||||||
Purpose: clear all the cached template files.
|
Purpose: clear all the cached template files.
|
||||||
|
@@ -168,6 +168,34 @@ class Smarty
|
|||||||
unset($this->_tpl_vars[$tpl_var]);
|
unset($this->_tpl_vars[$tpl_var]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*======================================================================*\
|
||||||
|
Function: clear_cache()
|
||||||
|
Purpose: clear all cached template files for given template
|
||||||
|
\*======================================================================*/
|
||||||
|
|
||||||
|
function clear_cache($tpl_file)
|
||||||
|
{
|
||||||
|
if(is_dir($this->cache_dir))
|
||||||
|
$dir_handle = opendir($this->cache_dir);
|
||||||
|
else
|
||||||
|
return false;
|
||||||
|
|
||||||
|
// remove leading . or /
|
||||||
|
$tpl_file = preg_replace("/^(\.{0,2}\/)*/","",$tpl_file);
|
||||||
|
$tpl_file_url = urlencode($tpl_file);
|
||||||
|
|
||||||
|
while($curr_file = readdir($dir_handle)) {
|
||||||
|
if ($curr_file == '.' || $curr_file == '..')
|
||||||
|
continue;
|
||||||
|
|
||||||
|
if(is_file($this->cache_dir."/".$curr_file) &&
|
||||||
|
substr($curr_file,0,strlen($tpl_file_url)) == $tpl_file_url)
|
||||||
|
unlink($this->cache_dir."/".$curr_file);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*======================================================================*\
|
/*======================================================================*\
|
||||||
Function: clear_all_cache()
|
Function: clear_all_cache()
|
||||||
Purpose: clear all the cached template files.
|
Purpose: clear all the cached template files.
|
||||||
|
Reference in New Issue
Block a user