[-] FO: FIX #PSCFV-5703 quotes in modules translations break javascript execution

This commit is contained in:
Rémi Gaillard
2012-12-07 17:23:06 +01:00
parent 6dd0a04ed0
commit cd7cc208e8
2 changed files with 7 additions and 5 deletions
+4 -2
View File
@@ -116,7 +116,7 @@ class TranslateCore
* @param string $source
* @return string
*/
public static function getModuleTranslation($module, $string, $source, $sprintf = null)
public static function getModuleTranslation($module, $string, $source, $sprintf = null, $js = false)
{
global $_MODULES, $_MODULE, $_LANGADM;
@@ -126,7 +126,6 @@ class TranslateCore
static $translations_merged = array();
$name = $module instanceof Module ? $module->name : $module;
if (!isset($translations_merged[$name]))
{
$filesByPriority = array(
@@ -175,6 +174,9 @@ class TranslateCore
if ($sprintf !== null)
$ret = Translate::checkAndReplaceArgs($ret, $sprintf);
if ($js)
$ret = addslashes($ret);
$lang_cache[$cache_key] = str_replace('"', '"', $ret);
}
return $lang_cache[$cache_key];
+3 -3
View File
@@ -30,7 +30,7 @@ function smartyTranslate($params, &$smarty)
{
global $_LANG;
if (!isset($params['js'])) $params['js'] = 0;
if (!isset($params['js'])) $params['js'] = false;
if (!isset($params['pdf'])) $params['pdf'] = false;
if (!isset($params['mod'])) $params['mod'] = false;
if (!isset($params['sprintf'])) $params['sprintf'] = null;
@@ -45,7 +45,7 @@ function smartyTranslate($params, &$smarty)
$key = 'override_'.$key;
if ($params['mod'])
return Translate::getModuleTranslation($params['mod'], $params['s'], $basename, $params['sprintf']);
return Translate::getModuleTranslation($params['mod'], $params['s'], $basename, $params['sprintf'], $params['js']);
else if ($params['pdf'])
return Translate::getPdfTranslation($params['s']);
@@ -62,6 +62,6 @@ function smartyTranslate($params, &$smarty)
if ($params['sprintf'] !== null)
$msg = Translate::checkAndReplaceArgs($msg, $params['sprintf']);
return $params['js'] ? $msg : Tools::htmlentitiesUTF8($msg);
return $params['js'] ? $msg : addslashes($msg);
}