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