From 1dfa85e0e673fef4976895b24c6497893dadd413 Mon Sep 17 00:00:00 2001
From: Aleksander Machniak <alec@alec.pl>
Date: Fri, 24 May 2013 08:54:18 -0400
Subject: [PATCH] Fix handling of comma when adding contact from contacts widget (#1489107)

---
 CHANGELOG         |    1 +
 program/js/app.js |    8 +++++---
 2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/CHANGELOG b/CHANGELOG
index e8e7a88..2709373 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,6 +1,7 @@
 CHANGELOG Roundcube Webmail
 ===========================
 
+- Fix handling of comma when adding contact from contacts widget (#1489107)
 - Fix bug where a message was opened in both preview pane and new window on double-click (#1489122)
 - Fix fatal error when xdebug.max_nesting_level was exceeded in rcube_washtml (#1489110)
 - Fix PHP warning in html_table::set_row_attribs() in PHP 5.4 (#1489094)
diff --git a/program/js/app.js b/program/js/app.js
index 40acbe6..101be65 100644
--- a/program/js/app.js
+++ b/program/js/app.js
@@ -3083,7 +3083,7 @@
 
   this.compose_add_recipient = function(field)
   {
-    var recipients = [], input = $('#_'+field);
+    var recipients = [], input = $('#_'+field), delim = this.env.recipients_delimiter;
 
     if (this.contact_list && this.contact_list.selection.length) {
       for (var id, n=0; n < this.contact_list.selection.length; n++) {
@@ -3102,8 +3102,10 @@
     }
 
     if (recipients.length && input.length) {
-      var oldval = input.val();
-      input.val((oldval ? oldval + this.env.recipients_delimiter : '') + recipients.join(this.env.recipients_delimiter));
+      var oldval = input.val(), rx = new RegExp(RegExp.escape(delim) + '\\s*$');
+      if (oldval && !rx.test(oldval))
+        oldval += delim + ' ';
+      input.val(oldval + recipients.join(delim + ' ') + delim + ' ');
       this.triggerEvent('add-recipient', { field:field, recipients:recipients });
     }
   };

--
Gitblit v1.9.1