Fix so all unknown email addresses from Google csv format are imported (#1490159)

pull/251/head
Aleksander Machniak 10 years ago
parent 787a421846
commit 25fb9732a0

@ -12,7 +12,7 @@ REQUIREMENTS
* The Apache, Lighttpd, Cherokee or Hiawatha web server
* .htaccess support allowing overrides for DirectoryIndex
* PHP Version 5.3.7 or greater including
- PCRE, DOM, JSON, XML, Session, Sockets (required)
- PCRE, DOM, JSON, Session, Sockets (required)
- PHP Data Objects (PDO) with driver for either MySQL, PostgreSQL or SQLite (required)
- Libiconv, Zip (recommended)
- OpenSSL, Fileinfo, Mcrypt, mbstring (optional)

@ -302,6 +302,7 @@ class rcube_csv2vcard
'Value' => array(
'home' => 'email:home',
'work' => 'email:work',
'*' => 'email:other',
),
),
'Phone' => array(
@ -567,8 +568,19 @@ class rcube_csv2vcard
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 @@ class rcube_csv2vcard
$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

Binary file not shown.

@ -8,6 +8,8 @@ NOTE:note"note
CATEGORIES:My Contacts,Test
EMAIL;TYPE=INTERNET;TYPE=HOME:home@aaa.pl
EMAIL;TYPE=INTERNET;TYPE=WORK:work@email.pl
EMAIL;TYPE=INTERNET;TYPE=OTHER:unknown@email.com
EMAIL;TYPE=INTERNET;TYPE=OTHER:other@email.com
TEL;TYPE=pager:pager
TEL;TYPE=pref:mainphone
TEL;TYPE=home:homephone

Loading…
Cancel
Save