summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoralecpl <alec@alec.pl>2010-03-23 08:05:03 +0000
committeralecpl <alec@alec.pl>2010-03-23 08:05:03 +0000
commit3fb3792efcd7ce2964b19f6389359c6e725050a0 (patch)
tree092054b2e79a9555ac25966012fd90d6c61b3d48
parentbf214a478fadd935a8b5dd89eafae0fe50463ae9 (diff)
- Fix UNSEEN counting when threads and skip_deleted are both enabled (#1486558)
-rw-r--r--program/include/rcube_imap.php7
1 files changed, 6 insertions, 1 deletions
diff --git a/program/include/rcube_imap.php b/program/include/rcube_imap.php
index 44d23cc69..d0b29082b 100644
--- a/program/include/rcube_imap.php
+++ b/program/include/rcube_imap.php
@@ -490,7 +490,7 @@ class rcube_imap
* Get message count for a specific mailbox
*
* @param string Mailbox/folder name
- * @param string Mode for count [ALL|UNSEEN|RECENT]
+ * @param string Mode for count [ALL|THREADS|UNSEEN|RECENT]
* @param boolean Force reading from server and update cache
* @return int Number of messages
* @access public
@@ -550,7 +550,12 @@ class rcube_imap
// get message count using SEARCH
// not very performant but more precise (using UNDELETED)
+ // disable THREADS for this request
+ $threads = $this->threading;
+ $this->threading = false;
$index = $this->_search_index($mailbox, $search_str);
+ $this->threading = $threads;
+
$count = is_array($index) ? count($index) : 0;
if ($mode == 'ALL')