update caching logic

This commit is contained in:
mohrt
2001-02-01 21:09:17 +00:00
parent 069e6bea89
commit 476f45413a
2 changed files with 56 additions and 0 deletions

View File

@@ -168,6 +168,34 @@ class Smarty
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()
Purpose: clear all the cached template files.

View File

@@ -168,6 +168,34 @@ class Smarty
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()
Purpose: clear all the cached template files.