From bb1398a54e8ba45f099435f6cc56c016f8662f65 Mon Sep 17 00:00:00 2001
From: Aleksander Machniak <alec@alec.pl>
Date: Wed, 19 Nov 2014 02:46:43 -0500
Subject: [PATCH] Fix import of multiple contact groups from Google-csv format (#1490159)

---
 CHANGELOG                                 |    1 +
 tests/src/Csv2vcard/gmail.csv             |    0 
 tests/src/Csv2vcard/gmail.vcf             |    2 +-
 program/lib/Roundcube/rcube_csv2vcard.php |    5 ++++-
 4 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/CHANGELOG b/CHANGELOG
index 3a70bd0..09835e0 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -2,6 +2,7 @@
 ===========================
 
 - Fix drag-n-drop to folders expanded while dragging (#1490157)
+- Fix import of multiple contact groups from Google-csv format (#1490159)
 
 RELEASE 1.1-beta
 ----------------
diff --git a/program/lib/Roundcube/rcube_csv2vcard.php b/program/lib/Roundcube/rcube_csv2vcard.php
index b7d1591..802ca73 100644
--- a/program/lib/Roundcube/rcube_csv2vcard.php
+++ b/program/lib/Roundcube/rcube_csv2vcard.php
@@ -584,11 +584,14 @@
 
         if (!empty($contact['groups'])) {
             // categories/groups separator in vCard is ',' not ';'
+            $contact['groups'] = str_replace(',', '', $contact['groups']);
             $contact['groups'] = str_replace(';', ',', $contact['groups']);
 
-            // remove "* " added by GMail
             if (!empty($this->gmail_map)) {
+                // remove "* " added by GMail
                 $contact['groups'] = str_replace('* ', '', $contact['groups']);
+                // replace strange delimiter
+                $contact['groups'] = str_replace(' ::: ', ',', $contact['groups']);
             }
         }
 
diff --git a/tests/src/Csv2vcard/gmail.csv b/tests/src/Csv2vcard/gmail.csv
index 9f67fe9..1de3033 100644
--- a/tests/src/Csv2vcard/gmail.csv
+++ b/tests/src/Csv2vcard/gmail.csv
Binary files differ
diff --git a/tests/src/Csv2vcard/gmail.vcf b/tests/src/Csv2vcard/gmail.vcf
index 5337d7e..2a56311 100644
--- a/tests/src/Csv2vcard/gmail.vcf
+++ b/tests/src/Csv2vcard/gmail.vcf
@@ -5,7 +5,7 @@
 NICKNAME:nick
 BDAY;VALUE=date:1975-12-12
 NOTE:note"note
-CATEGORIES:My Contacts
+CATEGORIES:My Contacts,Test
 EMAIL;TYPE=INTERNET;TYPE=HOME:home@aaa.pl
 EMAIL;TYPE=INTERNET;TYPE=WORK:work@email.pl
 TEL;TYPE=pager:pager

--
Gitblit v1.9.1