[-] FO: FIX #PSCFV-5703 quotes in modules translations break javascript execution
This commit is contained in:
@@ -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];
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user