- Skip UNSEEN counting when list is empty

release-0.6
alecpl 14 years ago
parent f22b5439f2
commit 2144f9c432

@ -551,12 +551,16 @@ function rcmail_get_mailbox_name_text()
}
function rcmail_send_unread_count($mbox_name, $force=false)
function rcmail_send_unread_count($mbox_name, $force=false, $count=null)
{
global $RCMAIL;
$old_unseen = $_SESSION['unseen_count'][$mbox_name];
$unseen = $RCMAIL->imap->messagecount($mbox_name, 'UNSEEN', $force);
if ($count === null)
$unseen = $RCMAIL->imap->messagecount($mbox_name, 'UNSEEN', $force);
else
$unseen = $count;
if ($unseen != $old_unseen || ($mbox_name == 'INBOX'))
$RCMAIL->output->command('set_unread_count', $mbox_name, $unseen, ($mbox_name == 'INBOX'));

@ -70,8 +70,13 @@ if ($count = $IMAP->messagecount($mbox_name, $IMAP->threading ? 'THREADS' : 'ALL
if (!empty($_REQUEST['_search']) && isset($_SESSION['search'][$_REQUEST['_search']]))
$_SESSION['search'][$_REQUEST['_search']] = $IMAP->get_search_set();
// empty result? we'll skip UNSEEN counting in rcmail_send_unread_count()
if (empty($search_request) && empty($a_headers)) {
$unseen = 0;
}
// update mailboxlist
rcmail_send_unread_count($mbox_name, !empty($_REQUEST['_refresh']));
rcmail_send_unread_count($mbox_name, !empty($_REQUEST['_refresh']), $unseen);
// update message count display
$pages = ceil($count/$IMAP->page_size);

Loading…
Cancel
Save