Move the hard-coded list of fields used to list contacts to a central location
| | |
| | | public function __construct() |
| | | { |
| | | $this->load(); |
| | | |
| | | // Defaults, that we do not require you to configure, |
| | | // but contain information that is used in various |
| | | // locations in the code: |
| | | $this->set('contactlist_fields', array('name', 'firstname', 'surname', 'email')); |
| | | } |
| | | |
| | | |
| | |
| | | } |
| | | |
| | | // use VLV pseudo-search for autocompletion |
| | | if ($this->prop['vlv_search'] && $this->conn && join(',', (array)$fields) == 'name,firstname,surname,email') |
| | | $rcmail = rcmail::get_instance(); |
| | | |
| | | if ($this->prop['vlv_search'] && $this->conn && join(',', (array)$fields) == join(',', $rcmail->config->get('contactlist_fields'))) |
| | | { |
| | | // add general filter to query |
| | | if (!empty($this->prop['filter']) && empty($this->filter)) |
| | |
| | | // update saved search after data changed |
| | | if (($search_request = $_REQUEST['_search']) && isset($_SESSION['search'][$search_request])) { |
| | | $sort_col = $RCMAIL->config->get('addressbook_sort_col', 'name'); |
| | | $afields = $RCMAIL->config->get('contactlist_fields'); |
| | | $search = (array)$_SESSION['search'][$search_request]; |
| | | $records = array(); |
| | | |
| | |
| | | $source->set_search_set($set); |
| | | |
| | | // get records |
| | | $result = $source->list_records(array('name', 'firstname', 'surname', 'email')); |
| | | $result = $source->list_records($afields); |
| | | |
| | | if (!$result->count) { |
| | | unset($search[$s]); |
| | |
| | | +-----------------------------------------------------------------------+ |
| | | */ |
| | | |
| | | $afields = $RCMAIL->config->get('contactlist_fields'); |
| | | |
| | | // Use search result |
| | | if (!empty($_REQUEST['_search']) && isset($_SESSION['search'][$_REQUEST['_search']])) |
| | | { |
| | |
| | | $source->set_search_set($set); |
| | | |
| | | // get records |
| | | $result = $source->list_records(array('name', 'firstname', 'surname', 'email')); |
| | | $result = $source->list_records($afields); |
| | | |
| | | while ($row = $result->next()) { |
| | | $row['sourceid'] = $s; |
| | |
| | | $CONTACTS = rcmail_contact_source(null, true); |
| | | |
| | | // get contacts for this user |
| | | $result = $CONTACTS->list_records(array('name', 'firstname', 'surname', 'email')); |
| | | $result = $CONTACTS->list_records($afields); |
| | | |
| | | if (!$result->count && $result->searchonly) { |
| | | $OUTPUT->show_message('contactsearchonly', 'notice'); |
| | |
| | | $search_set = array(); |
| | | $records = array(); |
| | | $sort_col = $RCMAIL->config->get('addressbook_sort_col', 'name'); |
| | | $afields = $RCMAIL->config->get('contactlist_fields'); |
| | | |
| | | foreach ($sources as $s) { |
| | | $source = $RCMAIL->get_address_book($s['id']); |
| | |
| | | } |
| | | |
| | | // get records |
| | | $result = $source->list_records(array('name', 'firstname', 'surname', 'email')); |
| | | $result = $source->list_records($afields); |
| | | |
| | | while ($row = $result->next()) { |
| | | $row['sourceid'] = $s['id']; |
| | |
| | | $members = array(); |
| | | $abook->set_group($gid); |
| | | $abook->set_pagesize(1000); // TODO: limit number of group members by config |
| | | $result = $abook->list_records(array('name', 'firstname', 'surname', 'email')); |
| | | $result = $abook->list_records($RCMAIL->config->get('contactlist_fields')); |
| | | while ($result && ($sql_arr = $result->iterate())) { |
| | | foreach ((array)$sql_arr['email'] as $email) { |
| | | $members[] = format_email_recipient($email, rcube_addressbook::compose_list_name($sql_arr)); |
| | |
| | | $abook = $RCMAIL->get_address_book($id); |
| | | $abook->set_pagesize($MAXNUM); |
| | | |
| | | if ($result = $abook->search(array('name', 'firstname', 'surname', 'email'), $search, $mode, true, true, 'email')) { |
| | | if ($result = $abook->search($RCMAIL->config->get('contactlist_fields'), $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); |
| | |
| | | |
| | | // get contacts for this user |
| | | $CONTACTS->set_group(0); |
| | | $result = $CONTACTS->list_records(array('name', 'firstname', 'surname', 'email')); |
| | | $afields = $RCMAIL->config->get('contactlist_fields'); |
| | | $result = $CONTACTS->list_records($afields); |
| | | |
| | | if (!$result->count && $result->searchonly) { |
| | | $OUTPUT->show_message('contactsearchonly', 'notice'); |