From 143637d30ee2a386b80dbeb6ce6ff44874d1bfd5 Mon Sep 17 00:00:00 2001 From: rvelices Date: Thu, 13 Oct 2011 18:00:53 +0000 Subject: bug 2469 compiled_template_cache_language option does not work properly on some language keys because of double escaping git-svn-id: http://piwigo.org/svn/trunk@12427 68402e56-0260-453c-a942-63ccdbb3a9ee --- include/template.class.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'include/template.class.php') diff --git a/include/template.class.php b/include/template.class.php index 37c2d59e3..92f78a3d6 100644 --- a/include/template.class.php +++ b/include/template.class.php @@ -766,13 +766,13 @@ var s,after = document.getElementsByTagName(\'script\')[document.getElementsByTa $rdq = preg_quote($smarty->right_delimiter, '~'); $regex = "~$ldq *\'([^'$]+)\'\|@translate *$rdq~"; - $source = preg_replace( $regex.'e', 'isset($lang[\'$1\']) ? $lang[\'$1\'] : \'$0\'', $source); + $source = preg_replace_callback( $regex, create_function('$m', 'global $lang; return isset($lang[$m[1]]) ? $lang[$m[1]] : $m[0];'), $source); $regex = "~$ldq *\'([^'$]+)\'\|@translate\|~"; - $source = preg_replace( $regex.'e', 'isset($lang[\'$1\']) ? \'{\'.var_export($lang[\'$1\'],true).\'|\' : \'$0\'', $source); + $source = preg_replace_callback( $regex, create_function('$m', 'global $lang; return isset($lang[$m[1]]) ? \'{\'.var_export($lang[$m[1]],true).\'|\' : \'$m[0]\';'), $source); $regex = "~($ldq *assign +var=.+ +value=)\'([^'$]+)\'\|@translate~e"; - $source = preg_replace( $regex, 'isset($lang[\'$2\']) ? \'$1\'.var_export($lang[\'$2\'],true) : \'$0\'', $source); + $source = preg_replace_callback( $regex, create_function('$m', 'global $lang; return isset($lang[$m[2]]) ? $m[1].var_export($lang[$m[2]],true) : \'$m[0]\';'), $source); return $source; } -- cgit v1.2.3