From a3644638aaf0418598196a870204e0b632a4c8ad Mon Sep 17 00:00:00 2001
From: Thomas Bruederli <thomas@roundcube.net>
Date: Fri, 17 Apr 2015 06:28:40 -0400
Subject: [PATCH] Allow preference sections to define CSS class names

---
 program/lib/Roundcube/rcube_csv2vcard.php |   21 ++++++++++++++-------
 1 files changed, 14 insertions(+), 7 deletions(-)

diff --git a/program/lib/Roundcube/rcube_csv2vcard.php b/program/lib/Roundcube/rcube_csv2vcard.php
index 8eff4d5..4b6e4fd 100644
--- a/program/lib/Roundcube/rcube_csv2vcard.php
+++ b/program/lib/Roundcube/rcube_csv2vcard.php
@@ -52,9 +52,9 @@
         'company'               => 'organization',
         //'company_main_phone'    => '',
         'department'            => 'department',
-        //'email_2_address'       => '', //@TODO
+        'email_2_address'       => 'email:other',
         //'email_2_type'          => '',
-        //'email_3_address'       => '', //@TODO
+        'email_3_address'       => 'email:other',
         //'email_3_type'          => '',
         'email_address'         => 'email:pref',
         //'email_type'            => '',
@@ -186,9 +186,9 @@
         //'company_main_phone' => "Company Main Phone",
         'department'        => "Department",
         //'directory_server'  => "Directory Server",
-        //'email_2_address'   => "E-mail 2 Address",
+        'email_2_address'   => "E-mail 2 Address",
         //'email_2_type'      => "E-mail 2 Type",
-        //'email_3_address'   => "E-mail 3 Address",
+        'email_3_address'   => "E-mail 3 Address",
         //'email_3_type'      => "E-mail 3 Type",
         'email_address'     => "E-mail Address",
         //'email_type'        => "E-mail Type",
@@ -554,7 +554,13 @@
         foreach ($this->map as $idx => $name) {
             $value = $data[$idx];
             if ($value !== null && $value !== '') {
-                $contact[$name] = $value;
+                if (!empty($contact[$name])) {
+                    $contact[$name]   = (array) $contact[$name];
+                    $contact[$name][] = $value;
+                }
+                else {
+                   $contact[$name] = $value;
+                }
             }
         }
 
@@ -571,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