Use cache fast-mode for contact groups

The same as tags/relations these objects are used quite often, so
we store group members in database and we can access them without
accessing imap.
This commit is contained in:
Aleksander Machniak 2018-12-27 14:14:44 +00:00 committed by Jeroen van Meeuwen (Kolab Systems)
parent bb419c34cb
commit f052c02103
2 changed files with 2 additions and 2 deletions

View file

@ -1139,7 +1139,7 @@ class rcube_kolab_contacts extends rcube_addressbook
{
if (!isset($this->distlists)) {
$this->distlists = $this->groupmembers = array();
foreach ($this->storagefolder->select('distribution-list') as $record) {
foreach ($this->storagefolder->select('distribution-list', true) as $record) {
$record['ID'] = $this->uid2id($record['uid']);
foreach ((array)$record['member'] as $i => $member) {
$mid = $this->uid2id($member['uid'] ? $member['uid'] : 'mailto:' . $member['email']);

View file

@ -25,7 +25,7 @@ class kolab_storage_cache_contact extends kolab_storage_cache
{
protected $extra_cols_max = 255;
protected $extra_cols = array('type', 'name', 'firstname', 'surname', 'email');
protected $data_props = array('type', 'name', 'firstname', 'middlename', 'prefix', 'suffix', 'surname', 'email', 'organization');
protected $data_props = array('type', 'name', 'firstname', 'middlename', 'prefix', 'suffix', 'surname', 'email', 'organization', 'member');
protected $binary_items = array(
'photo' => '|<photo><uri>[^;]+;base64,([^<]+)</uri></photo>|i',
'pgppublickey' => '|<key><uri>data:application/pgp-keys;base64,([^<]+)</uri></key>|i',