summaryrefslogtreecommitdiff
path: root/roundcubemail/program/steps/addressbook
diff options
context:
space:
mode:
authorthomasb <thomasb@208e9e7b-5314-0410-a742-e7e81cd9613c>2011-02-27 13:30:34 +0000
committerthomasb <thomasb@208e9e7b-5314-0410-a742-e7e81cd9613c>2011-02-27 13:30:34 +0000
commit4342ffe9c5919c22e80d654ddd04dcddaec3679f (patch)
treedf146d06a2c5acd70582e5d11d9dd8ab81bcd883 /roundcubemail/program/steps/addressbook
parentdd78eef97d61356e9299a51f60d1c273b2715157 (diff)
Improve vcard import: map more fields, support photo urls, better UTF-16 charset detection
git-svn-id: https://svn.roundcube.net/trunk@4575 208e9e7b-5314-0410-a742-e7e81cd9613c
Diffstat (limited to 'roundcubemail/program/steps/addressbook')
-rw-r--r--roundcubemail/program/steps/addressbook/func.inc8
-rw-r--r--roundcubemail/program/steps/addressbook/import.inc2
2 files changed, 8 insertions, 2 deletions
diff --git a/roundcubemail/program/steps/addressbook/func.inc b/roundcubemail/program/steps/addressbook/func.inc
index 336dd44ff..ed87cb150 100644
--- a/roundcubemail/program/steps/addressbook/func.inc
+++ b/roundcubemail/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/roundcubemail/program/steps/addressbook/import.inc b/roundcubemail/program/steps/addressbook/import.inc
index af6f67dd8..7300e3370 100644
--- a/roundcubemail/program/steps/addressbook/import.inc
+++ b/roundcubemail/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