From 2d2af72c22e7b3aca2f90f10bcda1c73767d9656 Mon Sep 17 00:00:00 2001 From: Thomas Bruederli Date: Tue, 24 Jul 2012 12:25:28 +0200 Subject: Correctly quote localized labels when used in javascript variables (#1488567) --- program/include/rcube_template.php | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'program/include') diff --git a/program/include/rcube_template.php b/program/include/rcube_template.php index e779f5a34..19510ce5b 100644 --- a/program/include/rcube_template.php +++ b/program/include/rcube_template.php @@ -711,7 +711,15 @@ class rcube_template extends rcube_html_page $vars = $attrib + array('product' => $this->config['product_name']); unset($vars['name'], $vars['command']); $label = rcube_label($attrib + array('vars' => $vars)); - return !$attrib['noshow'] ? (get_boolean((string)$attrib['html']) ? $label : Q($label)) : ''; + $quoting = !empty($attrib['quoting']) ? strtolower($attrib['quoting']) : (get_boolean((string)$attrib['html']) ? 'no' : ''); + switch ($quoting) { + case 'no': + case 'raw': break; + case 'javascript': + case 'js': $label = JQ($label); break; + default: $label = Q($label); break; + } + return !$attrib['noshow'] ? $label : ''; } break; -- cgit v1.2.3