summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorthomascube <thomas@roundcube.net>2012-03-14 08:27:18 +0000
committerthomascube <thomas@roundcube.net>2012-03-14 08:27:18 +0000
commit168e5409239583343ae40695585aa8dbc276f740 (patch)
treeb15683c369ef636652bf19b82d0c13b955e9de1d
parentec318158ceb0fa3e52ee24eada5f7763779da238 (diff)
Request all needed fields from address book backends (#1488394)
-rw-r--r--program/steps/addressbook/delete.inc2
-rw-r--r--program/steps/addressbook/list.inc4
-rw-r--r--program/steps/addressbook/search.inc2
-rw-r--r--program/steps/mail/autocomplete.inc7
-rw-r--r--program/steps/mail/list_contacts.inc2
5 files changed, 9 insertions, 8 deletions
diff --git a/program/steps/addressbook/delete.inc b/program/steps/addressbook/delete.inc
index f19dcf482..1e2142c9c 100644
--- a/program/steps/addressbook/delete.inc
+++ b/program/steps/addressbook/delete.inc
@@ -86,7 +86,7 @@ if (($search_request = $_REQUEST['_search']) && isset($_SESSION['search'][$searc
$source->set_search_set($set);
// get records
- $result = $source->list_records(array('name', 'email'));
+ $result = $source->list_records(array('name', 'firstname', 'surname', 'email'));
if (!$result->count) {
unset($search[$s]);
diff --git a/program/steps/addressbook/list.inc b/program/steps/addressbook/list.inc
index 91852a421..5876f3c6f 100644
--- a/program/steps/addressbook/list.inc
+++ b/program/steps/addressbook/list.inc
@@ -46,7 +46,7 @@ if (!empty($_REQUEST['_search']) && isset($_SESSION['search'][$_REQUEST['_search
$source->set_search_set($set);
// get records
- $result = $source->list_records(array('name', 'email'));
+ $result = $source->list_records(array('name', 'firstname', 'surname', 'email'));
while ($row = $result->next()) {
$row['sourceid'] = $s;
@@ -76,7 +76,7 @@ else {
$CONTACTS = rcmail_contact_source(null, true);
// get contacts for this user
- $result = $CONTACTS->list_records(array('name'));
+ $result = $CONTACTS->list_records(array('name', 'firstname', 'surname', 'email'));
if (!$result->count && $result->searchonly) {
$OUTPUT->show_message('contactsearchonly', 'notice');
diff --git a/program/steps/addressbook/search.inc b/program/steps/addressbook/search.inc
index 2c6548184..6422bc72d 100644
--- a/program/steps/addressbook/search.inc
+++ b/program/steps/addressbook/search.inc
@@ -182,7 +182,7 @@ function rcmail_contact_search()
}
// get records
- $result = $source->list_records(array('name', 'email'));
+ $result = $source->list_records(array('name', 'firstname', 'surname', 'email'));
while ($row = $result->next()) {
$row['sourceid'] = $s['id'];
diff --git a/program/steps/mail/autocomplete.inc b/program/steps/mail/autocomplete.inc
index a7823a5f9..95d611841 100644
--- a/program/steps/mail/autocomplete.inc
+++ b/program/steps/mail/autocomplete.inc
@@ -29,10 +29,10 @@ if ($RCMAIL->action == 'group-expand') {
$members = array();
$abook->set_group($gid);
$abook->set_pagesize(1000); // TODO: limit number of group members by config
- $result = $abook->list_records(array('email','name'));
+ $result = $abook->list_records(array('name', 'firstname', 'surname', 'email'));
while ($result && ($sql_arr = $result->iterate())) {
foreach ((array)$sql_arr['email'] as $email) {
- $members[] = format_email_recipient($email, $sql_arr['name']);
+ $members[] = format_email_recipient($email, rcube_addressbook::compose_list_name($sql_arr));
break; // only expand one email per contact
}
}
@@ -67,7 +67,7 @@ if (!empty($book_types) && strlen($search)) {
$abook = $RCMAIL->get_address_book($id);
$abook->set_pagesize($MAXNUM);
- if ($result = $abook->search(array('email','name'), $search, $mode, true, true, 'email')) {
+ if ($result = $abook->search(array('name', 'firstname', 'surname', 'email'), $search, $mode, true, true, 'email')) {
while ($sql_arr = $result->iterate()) {
// Contact can have more than one e-mail address
$email_arr = (array)$abook->get_col_values('email', $sql_arr, true);
@@ -78,6 +78,7 @@ if (!empty($book_types) && strlen($search)) {
continue;
}
+ $sql_arr['name'] = rcube_addressbook::compose_list_name($sql_arr);
$contact = format_email_recipient($email, $sql_arr['name']);
// skip entries that don't match
diff --git a/program/steps/mail/list_contacts.inc b/program/steps/mail/list_contacts.inc
index 0791ae350..eb425d2ba 100644
--- a/program/steps/mail/list_contacts.inc
+++ b/program/steps/mail/list_contacts.inc
@@ -60,7 +60,7 @@ if ($CONTACTS && $CONTACTS->ready) {
// get contacts for this user
$CONTACTS->set_group(0);
- $result = $CONTACTS->list_records(array('name', 'email'));
+ $result = $CONTACTS->list_records(array('name', 'firstname', 'surname', 'email'));
if (!$result->count && $result->searchonly) {
$OUTPUT->show_message('contactsearchonly', 'notice');