Use new rcube_user::list_emails() for better performance (#3970)

This commit is contained in:
Aleksander Machniak 2014-11-27 10:44:38 +01:00
parent ae93c7b345
commit 62ac800db7
5 changed files with 9 additions and 27 deletions

View file

@ -1588,7 +1588,7 @@ class calendar extends rcube_plugin
// get user identity to create default attendee // get user identity to create default attendee
if ($this->ui->screen == 'calendar') { if ($this->ui->screen == 'calendar') {
foreach ($this->rc->user->list_identities() as $rec) { foreach ($this->rc->user->list_emails() as $rec) {
if (!$identity) if (!$identity)
$identity = $rec; $identity = $rec;
$identity['emails'][] = $rec['email']; $identity['emails'][] = $rec['email'];

View file

@ -375,7 +375,7 @@ class calendar_ui
{ {
$attrib['name'] = 'identity'; $attrib['name'] = 'identity';
$select = new html_select($attrib); $select = new html_select($attrib);
$identities = $this->rc->user->list_identities(); $identities = $this->rc->user->list_emails();
foreach ($identities as $ident) { foreach ($identities as $ident) {
$select->add(format_email_recipient($ident['email'], $ident['name']), $ident['identity_id']); $select->add(format_email_recipient($ident['email'], $ident['name']), $ident['identity_id']);

View file

@ -539,21 +539,6 @@ class kolab_delegation_engine
return $parsed ? $this->parse_ldap_record($this->cache['user']) : $this->cache['user']; return $parsed ? $this->parse_ldap_record($this->cache['user']) : $this->cache['user'];
} }
/**
* Returns current user identities
*
* @return array List of identities
*/
public function user_identities()
{
// cache result in-memory, we need it more than once
if ($this->identities === null) {
$this->identities = $this->rc->user->list_identities();
}
return $this->identities;
}
/** /**
* Update LDAP record of current user * Update LDAP record of current user
* *
@ -596,7 +581,7 @@ class kolab_delegation_engine
$delegators = $this->list_delegators(); $delegators = $this->list_delegators();
$use_subs = $this->rc->config->get('kolab_use_subscriptions'); $use_subs = $this->rc->config->get('kolab_use_subscriptions');
$identities = $this->user_identities(); $identities = $this->rc->user->list_emails();
$emails = array(); $emails = array();
$uids = array(); $uids = array();
@ -611,10 +596,7 @@ class kolab_delegation_engine
// get user name from default identity // get user name from default identity
if (!$idx) { if (!$idx) {
$default = array( $default = array(
'name' => $ident['name'], 'name' => $ident['name'],
// 'organization' => $ident['organization'],
// 'signature' => $ident['signature'],
// 'html_signature' => $ident['html_signature'],
); );
} }
$emails[$ident['identity_id']] = $ident['email']; $emails[$ident['identity_id']] = $ident['email'];
@ -738,7 +720,7 @@ class kolab_delegation_engine
return; return;
} }
$identities = $this->user_identities(); $identities = $this->rc->user->list_emails();
$emails = $_SESSION['delegators'][$context]; $emails = $_SESSION['delegators'][$context];
foreach ($identities as $ident) { foreach ($identities as $ident) {
@ -768,7 +750,7 @@ class kolab_delegation_engine
} }
// return only user addresses (exclude all delegators addresses) // return only user addresses (exclude all delegators addresses)
else if (!empty($_SESSION['delegators'])) { else if (!empty($_SESSION['delegators'])) {
$identities = $this->user_identities(); $identities = $this->rc->user->list_emails();
$emails[] = $this->rc->user->get_username(); $emails[] = $this->rc->user->get_username();
foreach ($identities as $identity) { foreach ($identities as $identity) {

View file

@ -381,7 +381,7 @@ class libcalendaring extends rcube_plugin
} }
$emails[] = $this->rc->user->get_username(); $emails[] = $this->rc->user->get_username();
foreach ($this->rc->user->list_identities() as $identity) { foreach ($this->rc->user->list_emails() as $identity) {
$emails[] = strtolower($identity['email']); $emails[] = strtolower($identity['email']);
} }

View file

@ -77,7 +77,7 @@ class tasklist_ui
$settings['sort_order'] = $this->rc->config->get('tasklist_sort_order', 'asc'); $settings['sort_order'] = $this->rc->config->get('tasklist_sort_order', 'asc');
// get user identity to create default attendee // get user identity to create default attendee
foreach ($this->rc->user->list_identities() as $rec) { foreach ($this->rc->user->list_emails() as $rec) {
if (!$identity) if (!$identity)
$identity = $rec; $identity = $rec;
@ -118,7 +118,7 @@ class tasklist_ui
{ {
$attrib['name'] = 'identity'; $attrib['name'] = 'identity';
$select = new html_select($attrib); $select = new html_select($attrib);
$identities = $this->rc->user->list_identities(); $identities = $this->rc->user->list_emails();
foreach ($identities as $ident) { foreach ($identities as $ident) {
$select->add(format_email_recipient($ident['email'], $ident['name']), $ident['identity_id']); $select->add(format_email_recipient($ident['email'], $ident['name']), $ident['identity_id']);