summaryrefslogtreecommitdiff
path: root/program/steps
diff options
context:
space:
mode:
Diffstat (limited to 'program/steps')
-rw-r--r--program/steps/addressbook/export.inc4
-rw-r--r--program/steps/addressbook/func.inc7
-rw-r--r--program/steps/addressbook/save.inc7
-rw-r--r--program/steps/mail/addcontact.inc5
4 files changed, 11 insertions, 12 deletions
diff --git a/program/steps/addressbook/export.inc b/program/steps/addressbook/export.inc
index 69f8e2e0b..bfe8e996c 100644
--- a/program/steps/addressbook/export.inc
+++ b/program/steps/addressbook/export.inc
@@ -5,7 +5,7 @@
| program/steps/addressbook/export.inc |
| |
| This file is part of the Roundcube Webmail client |
- | Copyright (C) 2008-2009, The Roundcube Dev Team |
+ | Copyright (C) 2008-2011, The Roundcube Dev Team |
| Licensed under the GNU GPL |
| |
| PURPOSE: |
@@ -31,7 +31,7 @@ header('Content-Disposition: attachment; filename="rcube_contacts.vcf"');
while ($result && ($row = $result->next())) {
// we already have a vcard record
- if ($row['vcard']) {
+ if ($row['vcard'] && $row['name']) {
echo rcube_vcard::rfc2425_fold($row['vcard']) . "\n";
}
// copy values into vcard object
diff --git a/program/steps/addressbook/func.inc b/program/steps/addressbook/func.inc
index 837256f89..c36108784 100644
--- a/program/steps/addressbook/func.inc
+++ b/program/steps/addressbook/func.inc
@@ -346,10 +346,9 @@ function rcmail_contact_form($form, $record, $attrib = null)
// render head section with name fields (not a regular list of rows)
if ($section == 'head') {
$content = '';
-
- // TODO: use the save name composition function as in save.inc
- $names_arr = array($record['prefix'], $record['firstname'], $record['middlename'], $record['surname'], $record['suffix']);
- if ($record['name'] == join(' ', array_filter($names_arr)))
+
+ // unset display name if it is composed from name parts (same composition function as in save.inc)
+ if ($record['name'] == rcube_addressbook::compose_display_name(array('name' => '') + $record))
unset($record['name']);
// group fields
diff --git a/program/steps/addressbook/save.inc b/program/steps/addressbook/save.inc
index 88fe98cd1..253609780 100644
--- a/program/steps/addressbook/save.inc
+++ b/program/steps/addressbook/save.inc
@@ -129,9 +129,9 @@ foreach ($GLOBALS['CONTACT_COLTYPES'] as $col => $colprop) {
}
}
+// let a dedicated function or a plugin compose the full name if empty
if (empty($a_record['name'])) {
- // TODO: let a dedicated function or a plugin compose the full name
- $a_record['name'] = join(' ', array_filter(array($a_record['prefix'], $a_record['firstname'], $a_record['middlename'], $a_record['surname'], $a_record['suffix'],)));
+ $a_record['name'] = rcube_addressbook::compose_display_name($a_record);
}
@@ -185,6 +185,9 @@ if (!empty($cid))
// define list of cols to be displayed
$a_js_cols = array();
$record = $CONTACTS->get_record($newcid ? $newcid : $cid, true);
+ $record['email'] = reset($CONTACTS->get_col_values('email', $record, true));
+ if (!$record['name'])
+ $record['name'] = $record['email'];
foreach (array('name', 'email') as $col)
$a_js_cols[] = (string)$record[$col];
diff --git a/program/steps/mail/addcontact.inc b/program/steps/mail/addcontact.inc
index 03adcbe21..0baf6cd63 100644
--- a/program/steps/mail/addcontact.inc
+++ b/program/steps/mail/addcontact.inc
@@ -49,10 +49,7 @@ if (!empty($_POST['_address']) && is_object($CONTACTS))
}
$contact['email'] = rcube_idn_to_utf8($contact['email']);
-
- // use email address part for name
- if (empty($contact['name']) || $contact['name'] == $contact['email'])
- $contact['name'] = ucfirst(preg_replace('/[\.\-]/', ' ', substr($contact['email'], 0, strpos($contact['email'], '@'))));
+ $contact['name'] = rcube_addressbook::compose_display_name($contact);
// check for existing contacts
$existing = $CONTACTS->search('email', $contact['email'], true, false);