diff --git a/change_log.txt b/change_log.txt index c66927e6..3aa544ef 100644 --- a/change_log.txt +++ b/change_log.txt @@ -4,6 +4,8 @@ - bugfix {include $file} was broken when merge_compiled_incluges = true - bugfix {include} was broken when merge_compiled_incluges = true and same indluded template was used in different main templates in one compilation run +- bugfix for Smarty2 style compiler plugins on unnamed attribute passing like {tag $foo $bar} +- bugfix debug.tpl did not display correctly when it was compiled with escape_html = true 17.09.2011 - bugfix lock_id for file resource would create invalid filepath diff --git a/libs/debug.tpl b/libs/debug.tpl index 058c5b20..5a780186 100644 --- a/libs/debug.tpl +++ b/libs/debug.tpl @@ -128,6 +128,6 @@ td { diff --git a/libs/sysplugins/smarty_internal_templatecompilerbase.php b/libs/sysplugins/smarty_internal_templatecompilerbase.php index 53948aba..15df9090 100644 --- a/libs/sysplugins/smarty_internal_templatecompilerbase.php +++ b/libs/sysplugins/smarty_internal_templatecompilerbase.php @@ -258,8 +258,12 @@ abstract class Smarty_Internal_TemplateCompilerBase { // if compiler function plugin call it now if ($plugin_type == Smarty::PLUGIN_COMPILER) { $new_args = array(); - foreach ($args as $mixed) { - $new_args = array_merge($new_args, $mixed); + foreach ($args as $key => $mixed) { + if (is_array($mixed)) { + $new_args = array_merge($new_args, $mixed); + } else { + $new_args[$key] = $mixed; + } } if (!$this->smarty->registered_plugins[$plugin_type][$tag][1]) { $this->tag_nocache = true; @@ -287,8 +291,12 @@ abstract class Smarty_Internal_TemplateCompilerBase { if (is_callable($plugin)) { // convert arguments format for old compiler plugins $new_args = array(); - foreach ($args as $mixed) { - $new_args = array_merge($new_args, $mixed); + foreach ($args as $key => $mixed) { + if (is_array($mixed)) { + $new_args = array_merge($new_args, $mixed); + } else { + $new_args[$key] = $mixed; + } } return $plugin($new_args, $this->smarty); }