From 2df262d448831cc6ca3a5137b80e92afc0bb22f5 Mon Sep 17 00:00:00 2001
From: Aleksander Machniak <alec@alec.pl>
Date: Tue, 24 Jul 2012 08:22:18 -0400
Subject: [PATCH] Merge branch 'master' of github.com:roundcube/roundcubemail

---
 CHANGELOG                             |    1 +
 skins/larry/includes/footer.html      |    2 +-
 program/include/rcube_output_html.php |   10 +++++++++-
 3 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/CHANGELOG b/CHANGELOG
index 3d59110..90f5124 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,6 +1,7 @@
 CHANGELOG Roundcube Webmail
 ===========================
 
+- Correctly escape localized labels in javascript variable (#1488567)
 - Update Net_SMTP/Auth_SASL packages to fix Digest-MD5/Cram-MD5 authentication (#1488571)
 - Don't add attachments content into reply/forward/draft message body (#1488557)
 - Fix 'no connection' errors on page unloads (#1488547)
diff --git a/program/include/rcube_output_html.php b/program/include/rcube_output_html.php
index 7ceea18..30201fd 100644
--- a/program/include/rcube_output_html.php
+++ b/program/include/rcube_output_html.php
@@ -699,7 +699,15 @@
                     $vars = $attrib + array('product' => $this->config->get('product_name'));
                     unset($vars['name'], $vars['command']);
                     $label = $this->app->gettext($attrib + array('vars' => $vars));
-                    return !$attrib['noshow'] ? (get_boolean((string)$attrib['html']) ? $label : html::quote($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 = rcmail::JQ($label); break;
+                        default:   $label = html::quote($label); break;
+                    }
+                    return !$attrib['noshow'] ? $label : '';
                 }
                 break;
 
diff --git a/skins/larry/includes/footer.html b/skins/larry/includes/footer.html
index 4a6f8f0..ee93fcf 100644
--- a/skins/larry/includes/footer.html
+++ b/skins/larry/includes/footer.html
@@ -3,7 +3,7 @@
 // UI startup
 var UI = new rcube_mail_ui();
 $(document).ready(function(){
-	UI.set('errortitle', '<roundcube:label name="errortitle" />');
+	UI.set('errortitle', '<roundcube:label name="errortitle" quoting="javascript" />');
 	UI.init();
 });
 

--
Gitblit v1.9.1