- Skip UNSEEN counting when list is empty
| | |
| | | } |
| | | |
| | | |
| | | 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')); |
| | |
| | | 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); |