alecpl
2010-06-04 2144f9c43237056da7cb2a3224719faa118d1795
- Skip UNSEEN counting when list is empty


2 files modified
15 ■■■■ changed files
program/steps/mail/func.inc 8 ●●●● patch | view | raw | blame | history
program/steps/mail/list.inc 7 ●●●● patch | view | raw | blame | history
program/steps/mail/func.inc
@@ -551,12 +551,16 @@
}
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'));
program/steps/mail/list.inc
@@ -70,8 +70,13 @@
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);