diff options
| author | alec <alec@208e9e7b-5314-0410-a742-e7e81cd9613c> | 2009-09-17 12:07:58 +0000 |
|---|---|---|
| committer | alec <alec@208e9e7b-5314-0410-a742-e7e81cd9613c> | 2009-09-17 12:07:58 +0000 |
| commit | d7f648b11a0a0d93ddbd6fa37ce0c33d17976a19 (patch) | |
| tree | 293604c99c3f3286261c66d2a6be0d261f0696d7 /roundcubemail/program/steps/mail/getunread.inc | |
| parent | ce926d3180f347976d5387c73c301c2b94180620 (diff) | |
- Fix incorrect count of new messages in folder list when using multiple IMAP clients (#1485995)
- Fix all folders checking for new messages with disabled caching (#1486128)
git-svn-id: https://svn.roundcube.net/trunk@2959 208e9e7b-5314-0410-a742-e7e81cd9613c
Diffstat (limited to 'roundcubemail/program/steps/mail/getunread.inc')
| -rw-r--r-- | roundcubemail/program/steps/mail/getunread.inc | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/roundcubemail/program/steps/mail/getunread.inc b/roundcubemail/program/steps/mail/getunread.inc index 145930c49..bee2073e3 100644 --- a/roundcubemail/program/steps/mail/getunread.inc +++ b/roundcubemail/program/steps/mail/getunread.inc @@ -24,9 +24,16 @@ $a_folders = $IMAP->list_mailboxes(); if (!empty($a_folders)) { $inbox = ($IMAP->get_mailbox_name() == 'INBOX'); - foreach ($a_folders as $mbox_row) - $OUTPUT->command('set_unread_count', $mbox_row, $IMAP->messagecount($mbox_row, 'UNSEEN'), $inbox && $mbox_row == 'INBOX'); + foreach ($a_folders as $mbox_row) { + $unseen = $IMAP->messagecount($mbox_row, 'UNSEEN', !isset($_SESSION['unseen_count'][$mbox_row])); + $_SESSION['unseen_count'][$mbox_row] = $unseen; + + if ($unseen) { + $OUTPUT->command('set_unread_count', $mbox_row, $unseen, $inbox && $mbox_row == 'INBOX'); + } + } } $OUTPUT->send(); + ?> |
