diff --git a/change_log.txt b/change_log.txt index 2d119deb..08103856 100644 --- a/change_log.txt +++ b/change_log.txt @@ -1,4 +1,7 @@ ===== SVN trunk ===== +24/02/2011 +- bugfix $smarty->clearCache('some.tpl') did by mistake cache the template object + 18/02/2011 - bugfix removed possible race condition when isCached() was called for an individually cached subtemplate - bugfix force default debug.tpl to be loaded by the file resource when default_resource_type was modified diff --git a/libs/sysplugins/smarty_internal_cacheresource_file.php b/libs/sysplugins/smarty_internal_cacheresource_file.php index 275f8728..512f6fbf 100644 --- a/libs/sysplugins/smarty_internal_cacheresource_file.php +++ b/libs/sysplugins/smarty_internal_cacheresource_file.php @@ -145,12 +145,14 @@ class Smarty_Internal_CacheResource_File { $_save_stat = $this->smarty->caching; $this->smarty->caching = true; $tpl = new $this->smarty->template_class($resource_name, $this->smarty); - // remove from template cache - unset($this->smarty->template_objects[crc32($tpl->template_resource . $tpl->cache_id . $tpl->compile_id)]); $this->smarty->caching = $_save_stat; if ($tpl->isExisting()) { $_resourcename_parts = basename(str_replace('^', '/', $tpl->getCachedFilepath())); + // remove from template cache + unset($this->smarty->template_objects[sha1($tpl->template_resource . $tpl->cache_id . $tpl->compile_id)]); } else { + // remove from template cache + unset($this->smarty->template_objects[sha1($tpl->template_resource . $tpl->cache_id . $tpl->compile_id)]); return 0; } }