From b262e129642db5a9fef0c734b81394c953cad7aa Mon Sep 17 00:00:00 2001
From: Aleksander Machniak <alec@alec.pl>
Date: Mon, 08 Dec 2014 03:19:17 -0500
Subject: [PATCH] Fix import of contacts with multiple email addresses from Google-csv format (#1490178)

---
 CHANGELOG                                 |    1 +
 program/lib/Roundcube/rcube_csv2vcard.php |    5 +++--
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/CHANGELOG b/CHANGELOG
index 9fa2742..7369fbb 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -4,6 +4,7 @@
 - Fix import of multiple contact email addresses from Outlook-csv format (#1490169)
 - Fix drag-n-drop to folders expanded while dragging (#1490157)
 - Fix import of multiple contact groups from Google-csv format (#1490159)
+- Fix import of contacts with multiple email addresses from Google-csv format (#1490178)
 
 RELEASE 1.1-beta
 ----------------
diff --git a/program/lib/Roundcube/rcube_csv2vcard.php b/program/lib/Roundcube/rcube_csv2vcard.php
index 5f6ccd1..4b6e4fd 100644
--- a/program/lib/Roundcube/rcube_csv2vcard.php
+++ b/program/lib/Roundcube/rcube_csv2vcard.php
@@ -577,9 +577,10 @@
                 if ($value !== null && $value !== '') {
                     foreach (array($type, '*') as $_type) {
                         if ($data_idx = $this->gmail_label_map[$key][$item_key][$_type]) {
+                            $value = explode(' ::: ', $value);
+
                             if (!empty($contact[$data_idx])) {
-                                $contact[$data_idx]   = (array) $contact[$data_idx];
-                                $contact[$data_idx][] = $value;
+                                $contact[$data_idx]   = array_merge((array) $contact[$data_idx], $value);
                             }
                             else {
                                 $contact[$data_idx] = $value;

--
Gitblit v1.9.1