From 0fbadebe13b13d6da470731df1f055df595c6a89 Mon Sep 17 00:00:00 2001 From: thomascube Date: Sun, 27 Feb 2011 13:30:34 +0000 Subject: Improve vcard import: map more fields, support photo urls, better UTF-16 charset detection --- program/steps/addressbook/func.inc | 8 +++++++- program/steps/addressbook/import.inc | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) (limited to 'program/steps/addressbook') diff --git a/program/steps/addressbook/func.inc b/program/steps/addressbook/func.inc index 336dd44ff..ed87cb150 100644 --- a/program/steps/addressbook/func.inc +++ b/program/steps/addressbook/func.inc @@ -365,6 +365,10 @@ function rcmail_contact_form($form, $record, $attrib = null) // skip cols unknown to the backend if (!$coltypes[$col]) continue; + + // only string values are expected here + if (is_array($record[$col])) + $record[$col] = join(' ', $record[$col]); if ($RCMAIL->action == 'show') { if (!empty($record[$col])) @@ -563,7 +567,9 @@ function rcmail_contact_photo($attrib) if ($CONTACT_COLTYPES['photo']) { $RCMAIL->output->set_env('photo_placeholder', $photo_img); - if ($record['photo']) + if (strpos($record['photo'], 'http:') === 0) + $photo_img = $record['photo']; + else if ($record['photo']) $photo_img = $RCMAIL->url(array('_action' => 'photo', '_cid' => $record['ID'], '_source' => $_REQUEST['_source'])); $img = html::img(array('src' => $photo_img, 'border' => 1, 'alt' => '')); $content = html::div($attrib, $img); diff --git a/program/steps/addressbook/import.inc b/program/steps/addressbook/import.inc index af6f67dd8..7300e3370 100644 --- a/program/steps/addressbook/import.inc +++ b/program/steps/addressbook/import.inc @@ -138,7 +138,7 @@ if ($_FILES['_file']['tmp_name'] && is_uploaded_file($_FILES['_file']['tmp_name' // We're using UTF8 internally $email = rcube_idn_to_utf8($email); - if (!$replace) { + if (!$replace && $email) { // compare e-mail address $existing = $CONTACTS->search('email', $email, false, false); if (!$existing->count) { // compare display name -- cgit v1.2.3