- bugfix on some compiling modifiers

This commit is contained in:
uwe.tews@googlemail.com
2010-09-25 13:31:57 +00:00
parent 802d40f3d3
commit dde2219004
5 changed files with 8 additions and 5 deletions

View File

@@ -1,3 +1,6 @@
25/09/2010
- bugfix on some compiling modifiers
24/09/2010 24/09/2010
- bugfix merge_compiled_includes flag was not restored correctly in {block} tag - bugfix merge_compiled_includes flag was not restored correctly in {block} tag

View File

@@ -24,9 +24,9 @@ function smarty_modifiercompiler_count_characters($params, $compiler)
if (function_exists('mb_strlen')) { if (function_exists('mb_strlen')) {
// count also spaces? // count also spaces?
if (isset($params[1]) && $params[1] == 'true') { if (isset($params[1]) && $params[1] == 'true') {
return '(mb_detect_encoding(' . $params[0] . ', \'UTF-8, ISO-8859-1\') === \'UTF-8\') ? mb_strlen(' . $params[0] . ', SMARTY_RESOURCE_CHAR_SET) : strlen(' . $params[0] . ')'; return '((mb_detect_encoding(' . $params[0] . ', \'UTF-8, ISO-8859-1\') === \'UTF-8\') ? mb_strlen(' . $params[0] . ', SMARTY_RESOURCE_CHAR_SET) : strlen(' . $params[0] . '))';
} }
return '(mb_detect_encoding(' . $params[0] . ', \'UTF-8, ISO-8859-1\') === \'UTF-8\') ? preg_match_all(\'#[^\s\pZ]#u\', ' . $params[0] . ', $tmp) : preg_match_all(\'/[^\s]/\',' . $params[0] . ', $tmp)'; return '((mb_detect_encoding(' . $params[0] . ', \'UTF-8, ISO-8859-1\') === \'UTF-8\') ? preg_match_all(\'#[^\s\pZ]#u\', ' . $params[0] . ', $tmp) : preg_match_all(\'/[^\s]/\',' . $params[0] . ', $tmp))';
} else { } else {
// count also spaces? // count also spaces?
if (isset($params[1]) && $params[1] == 'true') { if (isset($params[1]) && $params[1] == 'true') {

View File

@@ -22,7 +22,7 @@ function smarty_modifiercompiler_count_words($params, $compiler)
{ {
// mb_ functions available? // mb_ functions available?
if (function_exists('mb_strlen')) { if (function_exists('mb_strlen')) {
return '(mb_detect_encoding(' . $params[0] . ', \'UTF-8, ISO-8859-1\') === \'UTF-8\') ? preg_match_all(\'#[\w\pL]+#u\', ' . $params[0] . ', $tmp) : preg_match_all(\'#\w+#\',' . $params[0] . ', $tmp)'; return '((mb_detect_encoding(' . $params[0] . ', \'UTF-8, ISO-8859-1\') === \'UTF-8\') ? preg_match_all(\'#[\w\pL]+#u\', ' . $params[0] . ', $tmp) : preg_match_all(\'#\w+#\',' . $params[0] . ', $tmp))';
} else { } else {
return 'str_word_count(' . $params[0] . ')'; return 'str_word_count(' . $params[0] . ')';
} }

View File

@@ -22,7 +22,7 @@
function smarty_modifiercompiler_lower($params, $compiler) function smarty_modifiercompiler_lower($params, $compiler)
{ {
if (function_exists('mb_strtolower')) { if (function_exists('mb_strtolower')) {
return '(mb_detect_encoding(' . $params[0] . ', \'UTF-8, ISO-8859-1\') === \'UTF-8\') ? mb_strtolower(' . $params[0] . ',SMARTY_RESOURCE_CHAR_SET) : strtolower(' . $params[0] . ')' ; return '((mb_detect_encoding(' . $params[0] . ', \'UTF-8, ISO-8859-1\') === \'UTF-8\') ? mb_strtolower(' . $params[0] . ',SMARTY_RESOURCE_CHAR_SET) : strtolower(' . $params[0] . '))' ;
} else { } else {
return 'strtolower(' . $params[0] . ')'; return 'strtolower(' . $params[0] . ')';
} }

View File

@@ -21,7 +21,7 @@
function smarty_modifiercompiler_upper($params, $compiler) function smarty_modifiercompiler_upper($params, $compiler)
{ {
if (function_exists('mb_strtoupper')) { if (function_exists('mb_strtoupper')) {
return '(mb_detect_encoding(' . $params[0] . ', \'UTF-8, ISO-8859-1\') === \'UTF-8\') ? mb_strtoupper(' . $params[0] . ',SMARTY_RESOURCE_CHAR_SET) : strtoupper(' . $params[0] . ')' ; return '((mb_detect_encoding(' . $params[0] . ', \'UTF-8, ISO-8859-1\') === \'UTF-8\') ? mb_strtoupper(' . $params[0] . ',SMARTY_RESOURCE_CHAR_SET) : strtoupper(' . $params[0] . '))' ;
} else { } else {
return 'strtoupper(' . $params[0] . ')'; return 'strtoupper(' . $params[0] . ')';
} }