From e848180aaa9640de871796ca1a3e4f8110701fd6 Mon Sep 17 00:00:00 2001
From: thomascube <thomas@roundcube.net>
Date: Thu, 12 May 2011 16:18:19 -0400
Subject: [PATCH] Improve display name composition when saving contacts (#1487143), with plugin-support; allow empty names in sql address book, fall back to e-mail address in listing and vcard export

---
 program/steps/addressbook/save.inc |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/program/steps/addressbook/save.inc b/program/steps/addressbook/save.inc
index 88fe98c..2536097 100644
--- a/program/steps/addressbook/save.inc
+++ b/program/steps/addressbook/save.inc
@@ -129,9 +129,9 @@
   }
 }
 
+// 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 @@
     // 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];

--
Gitblit v1.9.1