diff options
author | alecpl <alec@alec.pl> | 2011-05-20 09:17:27 +0000 |
---|---|---|
committer | alecpl <alec@alec.pl> | 2011-05-20 09:17:27 +0000 |
commit | 3253b296c21c54df228de39ff3e4775974df81d5 (patch) | |
tree | 926274785fad616aa7f4f5a21967a14717f0439c | |
parent | 7786ba1adb415fc8fd4478380d7201702a799483 (diff) |
- Clear properly mailboxes cache on folder subscription change
-rw-r--r-- | program/include/rcube_imap.php | 15 |
1 files changed, 2 insertions, 13 deletions
diff --git a/program/include/rcube_imap.php b/program/include/rcube_imap.php index 882834ec8..7e97b3c39 100644 --- a/program/include/rcube_imap.php +++ b/program/include/rcube_imap.php @@ -4583,20 +4583,9 @@ class rcube_imap $updated = $this->conn->unsubscribe($mailbox); } - // get cached mailbox list + // clear cached mailbox list(s) if ($updated) { - $a_mailbox_cache = $this->get_cache('mailboxes'); - if (!is_array($a_mailbox_cache)) - return $updated; - - // modify cached list - if ($mode == 'subscribe') - $a_mailbox_cache = array_merge($a_mailbox_cache, $a_mboxes); - else if ($mode == 'unsubscribe') - $a_mailbox_cache = array_diff($a_mailbox_cache, $a_mboxes); - - // write mailboxlist to cache - $this->update_cache('mailboxes', $this->_sort_mailbox_list($a_mailbox_cache)); + $this->clear_cache('/^mailboxes.*/', true); } return $updated; |