Thomas Bruederli
2015-04-17 a3644638aaf0418598196a870204e0b632a4c8ad
program/steps/mail/list.inc
@@ -58,18 +58,6 @@
// Synchronize mailbox cache, handle flag changes
$RCMAIL->storage->folder_sync($mbox_name);
// initialize searching result if search_filter is used
if ($_SESSION['search_filter'] && $_SESSION['search_filter'] != 'ALL') {
    $search_request = md5($mbox_name.$_SESSION['search_scope'].$_SESSION['search_filter']);
    $RCMAIL->storage->search($mbox_name, $_SESSION['search_filter'], RCUBE_CHARSET, rcmail_sort_column());
    $_SESSION['search']         = $RCMAIL->storage->get_search_set();
    $_SESSION['search_request'] = $search_request;
    $OUTPUT->set_env('search_request', $search_request);
    $OUTPUT->set_env('search_filter', $_SESSION['search_filter']);
}
// fetch message headers
if ($count = $RCMAIL->storage->count($mbox_name, $threading ? 'THREADS' : 'ALL', !empty($_REQUEST['_refresh']))) {
    $a_headers = $RCMAIL->storage->list_messages($mbox_name, NULL, rcmail_sort_column(), rcmail_sort_order());
@@ -79,6 +67,7 @@
if (!empty($_REQUEST['_search']) && isset($_SESSION['search'])
    && $_SESSION['search_request'] == $_REQUEST['_search']
) {
    $search_request = $_REQUEST['_search'];
    $_SESSION['search'] = $RCMAIL->storage->get_search_set();
}
// remove old search data
@@ -86,22 +75,22 @@
    $RCMAIL->session->remove('search');
}
// empty result? we'll skip UNSEEN counting in rcmail_send_unread_count()
if (empty($search_request) && empty($a_headers)) {
    $unseen = 0;
}
rcmail_list_pagetitle();
// update mailboxlist
rcmail_send_unread_count($mbox_name, !empty($_REQUEST['_refresh']), $unseen);
if (empty($search_request)) {
    rcmail_send_unread_count($mbox_name, !empty($_REQUEST['_refresh']), empty($a_headers) ? 0 : null);
}
// update message count display
$pages  = ceil($count/$RCMAIL->storage->get_pagesize());
$page   = $count ? $RCMAIL->storage->get_page() : 1;
$exists = $RCMAIL->storage->count($mbox_name, 'EXISTS', true);
$OUTPUT->set_env('messagecount', $count);
$OUTPUT->set_env('pagecount', $pages);
$OUTPUT->set_env('threading', $threading);
$OUTPUT->set_env('current_page', $count ? $RCMAIL->storage->get_page() : 1);
$OUTPUT->set_env('current_page', $page);
$OUTPUT->set_env('exists', $exists);
$OUTPUT->command('set_rowcount', rcmail_get_messagecount_text($count), $mbox_name);
@@ -143,5 +132,9 @@
    $OUTPUT->command('set_trash_count', $exists);
}
if ($page == 1) {
    $OUTPUT->command('set_quota', $RCMAIL->quota_content(null, $multifolder ? 'INBOX' : $mbox_name));
}
// send response
$OUTPUT->send();