From 2b72ec46a761ded28c83ef2ac544c9406a874802 Mon Sep 17 00:00:00 2001
From: Aleksander Machniak <alec@alec.pl>
Date: Mon, 12 May 2014 07:43:50 -0400
Subject: [PATCH] Bypass cache when counting EXISTS messages

---
 program/steps/mail/list.inc         |    2 +-
 program/steps/mail/check_recent.inc |    4 ++--
 program/steps/mail/move_del.inc     |    2 +-
 3 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/program/steps/mail/check_recent.inc b/program/steps/mail/check_recent.inc
index cfdcda6..70f4c03 100644
--- a/program/steps/mail/check_recent.inc
+++ b/program/steps/mail/check_recent.inc
@@ -85,7 +85,7 @@
             $OUTPUT->command('set_quota', $RCMAIL->quota_content());
         }
 
-        $OUTPUT->set_env('exists', $RCMAIL->storage->count($mbox_name, 'EXISTS'));
+        $OUTPUT->set_env('exists', $RCMAIL->storage->count($mbox_name, 'EXISTS', true));
 
         // "No-list" mode, don't get messages
         if (empty($_POST['_list'])) {
@@ -146,7 +146,7 @@
 
     // set trash folder state
     if ($mbox_name === $trash) {
-        $OUTPUT->command('set_trash_count', $RCMAIL->storage->count($mbox_name, 'EXISTS'));
+        $OUTPUT->command('set_trash_count', $RCMAIL->storage->count($mbox_name, 'EXISTS', true));
     }
 }
 
diff --git a/program/steps/mail/list.inc b/program/steps/mail/list.inc
index c4a6df5..929dda2 100644
--- a/program/steps/mail/list.inc
+++ b/program/steps/mail/list.inc
@@ -93,7 +93,7 @@
 
 // update message count display
 $pages  = ceil($count/$RCMAIL->storage->get_pagesize());
-$exists = $RCMAIL->storage->count($mbox_name, 'EXISTS');
+$exists = $RCMAIL->storage->count($mbox_name, 'EXISTS', true);
 
 $OUTPUT->set_env('messagecount', $count);
 $OUTPUT->set_env('pagecount', $pages);
diff --git a/program/steps/mail/move_del.inc b/program/steps/mail/move_del.inc
index c299858..d98d49d 100644
--- a/program/steps/mail/move_del.inc
+++ b/program/steps/mail/move_del.inc
@@ -166,7 +166,7 @@
       $OUTPUT->command('set_trash_count', $exists);
   }
   else if ($target !== null && $target === $trash) {
-      $OUTPUT->command('set_trash_count', $RCMAIL->storage->count($trash, 'EXISTS'));
+      $OUTPUT->command('set_trash_count', $RCMAIL->storage->count($trash, 'EXISTS', true));
   }
 }
 

--
Gitblit v1.9.1