summaryrefslogtreecommitdiff
path: root/roundcubemail
diff options
context:
space:
mode:
authoralec <alec@208e9e7b-5314-0410-a742-e7e81cd9613c>2011-05-20 09:17:27 +0000
committeralec <alec@208e9e7b-5314-0410-a742-e7e81cd9613c>2011-05-20 09:17:27 +0000
commita037c1fa68f5e27cbb403dc40f8ccecbc22b1b86 (patch)
tree86646320bde7b97c962a6ab3b15adc73b64953da /roundcubemail
parentc032df51d827366585c829f9633e32cf1938b358 (diff)
- Clear properly mailboxes cache on folder subscription change
git-svn-id: https://svn.roundcube.net/trunk@4792 208e9e7b-5314-0410-a742-e7e81cd9613c
Diffstat (limited to 'roundcubemail')
-rw-r--r--roundcubemail/program/include/rcube_imap.php15
1 files changed, 2 insertions, 13 deletions
diff --git a/roundcubemail/program/include/rcube_imap.php b/roundcubemail/program/include/rcube_imap.php
index 882834ec8..7e97b3c39 100644
--- a/roundcubemail/program/include/rcube_imap.php
+++ b/roundcubemail/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;