From 5e9a5661011e64423e1978599c56d47f8b0cfa37 Mon Sep 17 00:00:00 2001 From: thomascube Date: Tue, 2 Mar 2010 07:54:11 +0000 Subject: Fix checking for new mail (#1485794) --- program/steps/mail/check_recent.inc | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'program/steps/mail') diff --git a/program/steps/mail/check_recent.inc b/program/steps/mail/check_recent.inc index 753304018..4ae6ad2be 100644 --- a/program/steps/mail/check_recent.inc +++ b/program/steps/mail/check_recent.inc @@ -22,6 +22,17 @@ $a_mailboxes = $IMAP->list_mailboxes(); $check_all = (bool)$RCMAIL->config->get('check_all_folders'); +// check if unread count of INBOX changed and refresh message list if so +if (!empty($_GET['_refresh'])) { + $unread_count = $IMAP->messagecount('INBOX', 'UNSEEN', TRUE); + if ($unread_count > $_SESSION['unseen_count']['INBOX']) { + $OUTPUT->command('set_unread_count', 'INBOX', $unread_count, true); + $OUTPUT->command('list_mailbox', 'INBOX', 1); // let the client switch to INBOX and get the message list + $OUTPUT->send(); + } +} + +// check recent/unseen counts for all mailboxes foreach ($a_mailboxes as $mbox_name) { if ($mbox_name == $IMAP->get_mailbox_name()) { if ($recent_count = $IMAP->messagecount(NULL, 'RECENT', TRUE)) { -- cgit v1.2.3