Skip redundant get_group() call for better performance of listing groups in compose addressbook

pull/201/head
Aleksander Machniak 10 years ago
parent 740b8ea74a
commit 43e9fc9499

@ -2112,11 +2112,10 @@ function rcmail_compose_contact_groups($abook, $source_id, $search = null, $sear
foreach ($abook->list_groups($search, $search_mode) as $group) { foreach ($abook->list_groups($search, $search_mode) as $group) {
$abook->reset(); $abook->reset();
$abook->set_group($group['ID']); $abook->set_group($group['ID']);
$group_prop = $abook->get_group($group['ID']);
// group (distribution list) with email address(es) // group (distribution list) with email address(es)
if ($group_prop['email']) { if ($group['email']) {
foreach ((array)$group_prop['email'] as $email) { foreach ((array)$group['email'] as $email) {
$row_id = 'G'.$group['ID']; $row_id = 'G'.$group['ID'];
$jsresult[$row_id] = format_email_recipient($email, $group['name']); $jsresult[$row_id] = format_email_recipient($email, $group['name']);
$OUTPUT->command('add_contact_row', $row_id, array( $OUTPUT->command('add_contact_row', $row_id, array(
@ -2124,7 +2123,7 @@ function rcmail_compose_contact_groups($abook, $source_id, $search = null, $sear
} }
} }
// make virtual groups clickable to list their members // make virtual groups clickable to list their members
else if ($group_prop['virtual']) { else if ($group['virtual']) {
$row_id = 'G'.$group['ID']; $row_id = 'G'.$group['ID'];
$OUTPUT->command('add_contact_row', $row_id, array( $OUTPUT->command('add_contact_row', $row_id, array(
'contactgroup' => html::a(array( 'contactgroup' => html::a(array(

Loading…
Cancel
Save