From 78925f8f1a9afb9475a9cf9ad1b35daade23da85 Mon Sep 17 00:00:00 2001 From: alecpl <alec@alec.pl> Date: Thu, 17 Sep 2009 08:07:58 -0400 Subject: [PATCH] - 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) --- program/steps/mail/getunread.inc | 11 +++++++++-- 1 files changed, 9 insertions(+), 2 deletions(-) diff --git a/program/steps/mail/getunread.inc b/program/steps/mail/getunread.inc index 145930c..bee2073 100644 --- a/program/steps/mail/getunread.inc +++ b/program/steps/mail/getunread.inc @@ -24,9 +24,16 @@ 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(); + ?> -- Gitblit v1.9.1