diff --git a/NEWS b/NEWS index e5ae5b6f..73584f27 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,5 @@ + - made plugin-names case-insensitive. this affects compiler/block/custom- + functions and modifers. (messju) - remove unnecessary close/open tags from compiled templates (Monte) - fixed errornous creation of '//' in image_path in html_image (messju) diff --git a/libs/Smarty.class.php b/libs/Smarty.class.php index 71a406c8..92c8d7cb 100644 --- a/libs/Smarty.class.php +++ b/libs/Smarty.class.php @@ -683,7 +683,7 @@ class Smarty */ function register_function($function, $function_impl) { - $this->_plugins['function'][$function] = + $this->_plugins['function'][strtolower($function)] = array($function_impl, null, null, false); } @@ -694,7 +694,7 @@ class Smarty */ function unregister_function($function) { - unset($this->_plugins['function'][$function]); + unset($this->_plugins['function'][strtolower($function)]); } /** @@ -732,7 +732,7 @@ class Smarty */ function register_block($block, $block_impl) { - $this->_plugins['block'][$block] = + $this->_plugins['block'][strtolower($block)] = array($block_impl, null, null, false); } @@ -743,7 +743,7 @@ class Smarty */ function unregister_block($block) { - unset($this->_plugins['block'][$block]); + unset($this->_plugins['block'][strtolower($block)]); } /** @@ -754,7 +754,7 @@ class Smarty */ function register_compiler_function($function, $function_impl) { - $this->_plugins['compiler'][$function] = + $this->_plugins['compiler'][strtolower($function)] = array($function_impl, null, null, false); } @@ -765,7 +765,7 @@ class Smarty */ function unregister_compiler_function($function) { - unset($this->_plugins['compiler'][$function]); + unset($this->_plugins['compiler'][strtolower($function)]); } /** @@ -776,7 +776,7 @@ class Smarty */ function register_modifier($modifier, $modifier_impl) { - $this->_plugins['modifier'][$modifier] = + $this->_plugins['modifier'][strtolower($modifier)] = array($modifier_impl, null, null, false); } @@ -787,7 +787,7 @@ class Smarty */ function unregister_modifier($modifier) { - unset($this->_plugins['modifier'][$modifier]); + unset($this->_plugins['modifier'][strtolower($modifier)]); } /** diff --git a/libs/Smarty_Compiler.class.php b/libs/Smarty_Compiler.class.php index bd24ce79..99454d31 100644 --- a/libs/Smarty_Compiler.class.php +++ b/libs/Smarty_Compiler.class.php @@ -402,6 +402,7 @@ class Smarty_Compiler extends Smarty { return $this->_compile_registered_object_tag($tag_command, $this->_parse_attrs($tag_args), $tag_modifier); } + $tag_command = strtolower($tag_command); switch ($tag_command) { case 'include': return $this->_compile_include_tag($tag_args); @@ -1598,7 +1599,7 @@ class Smarty_Compiler extends Smarty { list(, $_modifiers, $modifier_arg_strings) = $_match; for ($_i = 0, $_for_max = count($_modifiers); $_i < $_for_max; $_i++) { - $_modifier_name = $_modifiers[$_i]; + $_modifier_name = strtolower($_modifiers[$_i]); if($_modifier_name == 'smarty') { // skip smarty modifier