diff --git a/change_log.txt b/change_log.txt index a59f3df1..7d634998 100644 --- a/change_log.txt +++ b/change_log.txt @@ -1,4 +1,7 @@ ===== 3.1.19-dev ===== (xx.xx.2014) + 02.06.2014 + - using multiple cwd with relative template dirs could result in identical compiled file names. (issue 194 and topic 25099) + 19.04.2014 - bugfix calling createTemplate(template, data) with empty data array caused notice of array to string conversion (Issue 189) - bugfix clearCompiledTemplate() did not delete files on WINDOWS when a compile_id was specified @@ -6,7 +9,6 @@ 18.04.2014 - revert bugfix of 5.4.2015 because %-e date format is not supported on all operating systems - ===== 3.1.18 ===== (07.04.2014) 06.04.2014 - bugfix template inheritance fail when using custom resource after patch of 8.3.2014 (Issue 187) diff --git a/libs/sysplugins/smarty_internal_config.php b/libs/sysplugins/smarty_internal_config.php index b310c3a6..5ed03d52 100644 --- a/libs/sysplugins/smarty_internal_config.php +++ b/libs/sysplugins/smarty_internal_config.php @@ -104,7 +104,7 @@ class Smarty_Internal_Config $_compile_id = isset($this->smarty->compile_id) ? preg_replace('![^\w\|]+!', '_', $this->smarty->compile_id) : null; $_flag = (int) $this->smarty->config_read_hidden + (int) $this->smarty->config_booleanize * 2 + (int) $this->smarty->config_overwrite * 4; - $_filepath = sha1($this->source->filepath . $_flag); + $_filepath = sha1(realpath($this->source->filepath) . $_flag); // if use_sub_dirs, break file into directories if ($this->smarty->use_sub_dirs) { $_filepath = substr($_filepath, 0, 2) . DS diff --git a/libs/sysplugins/smarty_internal_resource_extends.php b/libs/sysplugins/smarty_internal_resource_extends.php index dbbbd7d7..f2b73576 100644 --- a/libs/sysplugins/smarty_internal_resource_extends.php +++ b/libs/sysplugins/smarty_internal_resource_extends.php @@ -50,7 +50,7 @@ class Smarty_Internal_Resource_Extends extends Smarty_Resource } $source->components = $sources; $source->filepath = $s->filepath; - $source->uid = sha1($uid); + $source->uid = sha1(realpath($uid)); if ($_template && $_template->smarty->compile_check) { $source->timestamp = $s->timestamp; $source->exists = $exists; diff --git a/libs/sysplugins/smarty_internal_resource_file.php b/libs/sysplugins/smarty_internal_resource_file.php index 43e8d188..664f5265 100644 --- a/libs/sysplugins/smarty_internal_resource_file.php +++ b/libs/sysplugins/smarty_internal_resource_file.php @@ -33,7 +33,7 @@ class Smarty_Internal_Resource_File extends Smarty_Resource $source->smarty->security_policy->isTrustedResourceDir($source->filepath); } - $source->uid = sha1($source->filepath); + $source->uid = sha1(realpath($source->filepath)); if ($source->smarty->compile_check && !isset($source->timestamp)) { $source->timestamp = @filemtime($source->filepath); $source->exists = !!$source->timestamp;