From 32eb977b1268ce1e32ab652af6059f49ce59c2f5 Mon Sep 17 00:00:00 2001 From: Aleksander Machniak <alec@alec.pl> Date: Thu, 27 Nov 2014 05:40:40 -0500 Subject: [PATCH] Merge branch 'master' of github.com:roundcube/roundcubemail --- program/lib/Roundcube/rcube_csv2vcard.php | 25 ++++++++++++++++++++++--- 1 files changed, 22 insertions(+), 3 deletions(-) diff --git a/program/lib/Roundcube/rcube_csv2vcard.php b/program/lib/Roundcube/rcube_csv2vcard.php index 802ca73..8eff4d5 100644 --- a/program/lib/Roundcube/rcube_csv2vcard.php +++ b/program/lib/Roundcube/rcube_csv2vcard.php @@ -302,6 +302,7 @@ 'Value' => array( 'home' => 'email:home', 'work' => 'email:work', + '*' => 'email:other', ), ), 'Phone' => array( @@ -567,8 +568,19 @@ foreach ($item as $item_key => $item_idx) { $value = $data[$item_idx]; - if ($value !== null && $value !== '' && ($data_idx = $this->gmail_label_map[$key][$item_key][$type])) { - $contact[$data_idx] = $value; + if ($value !== null && $value !== '') { + foreach (array($type, '*') as $_type) { + if ($data_idx = $this->gmail_label_map[$key][$item_key][$_type]) { + if (!empty($contact[$data_idx])) { + $contact[$data_idx] = (array) $contact[$data_idx]; + $contact[$data_idx][] = $value; + } + else { + $contact[$data_idx] = $value; + } + break; + } + } } } } @@ -624,7 +636,14 @@ $vcard = new rcube_vcard(); foreach ($contact as $name => $value) { $name = explode(':', $name); - $vcard->set($name[0], $value, $name[1]); + if (is_array($value) && $name[0] != 'address') { + foreach ((array) $value as $val) { + $vcard->set($name[0], $val, $name[1]); + } + } + else { + $vcard->set($name[0], $value, $name[1]); + } } // add to the list -- Gitblit v1.9.1