diff --git a/libs/Smarty.class.php b/libs/Smarty.class.php index 8f897d95..62e48472 100644 --- a/libs/Smarty.class.php +++ b/libs/Smarty.class.php @@ -1095,7 +1095,8 @@ class Smarty $_params = array('auto_base' => $this->compile_dir, 'auto_source' => $tpl_file, 'auto_id' => $compile_id, - 'exp_time' => $exp_time); + 'exp_time' => $exp_time, + 'extensions' => array('.inc', '.php')); require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.rm_auto.php'); return smarty_core_rm_auto($_params, $this); } @@ -1897,11 +1898,11 @@ class Smarty function _unlink($resource, $exp_time = null) { if(isset($exp_time)) { - if(time() - filemtime($resource) >= $exp_time) { - @unlink($resource); + if(time() - @filemtime($resource) >= $exp_time) { + return @unlink($resource); } } else { - @unlink($resource); + return @unlink($resource); } } diff --git a/libs/core/core.rm_auto.php b/libs/core/core.rm_auto.php index 61ea8734..e162b187 100644 --- a/libs/core/core.rm_auto.php +++ b/libs/core/core.rm_auto.php @@ -34,7 +34,13 @@ function smarty_core_rm_auto($params, &$smarty) $_tname = $smarty->_get_auto_filename($params['auto_base'], $params['auto_source'], $params['auto_id']); if(isset($params['auto_source'])) { - $_res = $smarty->_unlink($_tname); + if (isset($params['extensions'])) { + $_res = false; + foreach ((array)$params['extensions'] as $_extension) + $_res |= $smarty->_unlink($_tname.$_extension, $params['exp_time']); + } else { + $_res = $smarty->_unlink($_tname, $params['exp_time']); + } } elseif ($smarty->use_sub_dirs) { $_params = array( 'dirname' => $_tname,