diff --git a/NEWS b/NEWS index f9248716..2d00a6a7 100644 --- a/NEWS +++ b/NEWS @@ -1,12 +1,17 @@ - - numerous documentation updates (Monte) - - added SMARTY_DIR constant (Monte) - - added popup_init and popup functions (Monte) - - updated debug console with config file vars (Monte) - - added debugging url control (Monte) - - added 'quotes' parameter to escape modifier (Monte, Mike Krus) + - fixed a bug with parsing function arguments inside {if} tags if a comma + was present. (Andrei) + - updated debug console with config file vars. (Monte) + - numerous documentation updates. (Monte) + - added SMARTY_DIR constant which indicating location of Smarty files. + (Monte) + - added popup_init and popup functions. (Monte) + - updated debug console with config file vars. (Monte) + - added debugging url control. (Monte) + - added 'quotes' type to escape modifier. (Monte, Mike Krus) - added 'total' and 'iteration' section properties. (Andrei) - - added 'start', 'max', and step section attributes/properties. (Andrei) - - fixed a bug with security checking of functions inside {if} tags. (Andrei) + - added 'start', 'max', and 'step' section attributes/properties. (Andrei) + - fixed a bug with security checking of functions inside {if} tags. + (Andrei) - fixed a bug in Config_File that would incorrectly booleanize values that weren't really booleans. (Andrei) @@ -21,7 +26,8 @@ Version 1.4.3 class itself. (Andrei) - fixed a bug with passing quoted arguments to modifiers inside {if} statements. (Andrei, Sam Beckwith) - - added security features for third party template editing, documented (Monte) + - added security features for third party template editing, documented + (Monte) - added assign custom function, documented. (Monte) - fixed bug with template header using version instead of _version. (Monte) - fixed a problem with putting $ followed by numbers inside {strip} and diff --git a/Smarty_Compiler.class.php b/Smarty_Compiler.class.php index 3ea0f82b..f26f8755 100644 --- a/Smarty_Compiler.class.php +++ b/Smarty_Compiler.class.php @@ -509,11 +509,12 @@ class Smarty_Compiler extends Smarty { preg_match_all('/(?: "[^"\\\\]*(?:\\\\.[^"\\\\]*)*" | # match all double quoted strings allowed escaped double quotes \'[^\'\\\\]*(?:\\\\.[^\'\\\\]*)*\' | # match all single quoted strings allowed escaped single quotes - [()] | # match parentheses - [^\s()]+ # match any other token that is not any of the above + [(),] | # match parentheses and commas + [^\s(),]+ # match any other token that is not any of the above )/x', $tag_args, $match); $tokens = $match[0]; + var_dump($tokens); $this->_parse_vars_props($tokens); $is_arg_stack = array(); diff --git a/libs/Smarty_Compiler.class.php b/libs/Smarty_Compiler.class.php index 3ea0f82b..f26f8755 100644 --- a/libs/Smarty_Compiler.class.php +++ b/libs/Smarty_Compiler.class.php @@ -509,11 +509,12 @@ class Smarty_Compiler extends Smarty { preg_match_all('/(?: "[^"\\\\]*(?:\\\\.[^"\\\\]*)*" | # match all double quoted strings allowed escaped double quotes \'[^\'\\\\]*(?:\\\\.[^\'\\\\]*)*\' | # match all single quoted strings allowed escaped single quotes - [()] | # match parentheses - [^\s()]+ # match any other token that is not any of the above + [(),] | # match parentheses and commas + [^\s(),]+ # match any other token that is not any of the above )/x', $tag_args, $match); $tokens = $match[0]; + var_dump($tokens); $this->_parse_vars_props($tokens); $is_arg_stack = array();