diff options
Diffstat (limited to 'program/steps')
-rw-r--r-- | program/steps/addressbook/func.inc | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/program/steps/addressbook/func.inc b/program/steps/addressbook/func.inc index d210a3d36..1ef55fd78 100644 --- a/program/steps/addressbook/func.inc +++ b/program/steps/addressbook/func.inc @@ -68,12 +68,18 @@ if (!$RCMAIL->action && !$OUTPUT->ajax_call) { if (!strlen($source) || !isset($js_list[$source])) $source = $js_list[key($js_list)]['id']; - // count writeable sources + // count all/writeable sources $writeable = 0; - foreach ($js_list as $s) { + $count = 0; + foreach ($js_list as $sid => $s) { + $count++; if (!$s['readonly']) { $writeable++; } + // unset hidden sources + if ($s['hidden']) { + unset($js_list[$sid]); + } } $search_mods = $RCMAIL->config->get('addressbook_search_mods', $SEARCH_MODS_DEFAULT); @@ -82,9 +88,9 @@ if (!$RCMAIL->action && !$OUTPUT->ajax_call) { $OUTPUT->set_env('writable_source', $writeable); $OUTPUT->set_pagetitle(rcube_label('addressbook')); - $_SESSION['addressbooks_count'] = count($js_list); + $_SESSION['addressbooks_count'] = $count; $_SESSION['addressbooks_count_writeable'] = $writeable; - + if (!strlen($source)) $source = strval(key($js_list)); |