From 66752cd790ac9ee52e278127f1d0297f2cc4f187 Mon Sep 17 00:00:00 2001 From: "uwe.tews@googlemail.com" Date: Thu, 16 Sep 2010 16:29:44 +0000 Subject: [PATCH] - bugfix when a doublequoted modifier parameter did contain Smarty tags and ':' --- change_log.txt | 3 +++ libs/sysplugins/smarty_internal_compile_private_modifier.php | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/change_log.txt b/change_log.txt index 26614696..1cec4de0 100644 --- a/change_log.txt +++ b/change_log.txt @@ -1,3 +1,6 @@ +16/09/2010 +- bugfix when a doublequoted modifier parameter did contain Smarty tags and ':' + 15/09/2010 - bugfix resolving conflict between '<%'/'%>' as custom Smarty delimiter and ASP tags - use ucfirst for resource name on internal resource class names diff --git a/libs/sysplugins/smarty_internal_compile_private_modifier.php b/libs/sysplugins/smarty_internal_compile_private_modifier.php index ae5dcfa2..06b5a885 100644 --- a/libs/sysplugins/smarty_internal_compile_private_modifier.php +++ b/libs/sysplugins/smarty_internal_compile_private_modifier.php @@ -30,7 +30,7 @@ class Smarty_Internal_Compile_Private_Modifier extends Smarty_Internal_CompileBa $output = $_attr['value']; // loop over list of modifiers foreach ($_attr['modifierlist'] as $single_modifier) { - preg_match_all('/(((\'[^\'\\\\]*(?:\\\\.[^\'\\\\]*)*\'|"[^"\\\\]*(?:\\\\.[^"\\\\]*)*")[^:]*)+|::?|[^:]+)/', $single_modifier, $mod_array); + preg_match_all('/(((\'[^\'\\\\]*(?:\\\\.[^\'\\\\]*)*\'|[^:"]*"[^"\\\\]*(?:\\\\.[^"\\\\]*)*")[^:]*)+|::?|[^:]+)/', $single_modifier, $mod_array); $modifier = $mod_array[0][0]; for ($i = 0, $count = count($mod_array[0]);$i < $count;$i++) { if ($mod_array[0][$i] == ':') {