summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrobin <robin@208e9e7b-5314-0410-a742-e7e81cd9613c>2007-10-15 07:55:29 +0000
committerrobin <robin@208e9e7b-5314-0410-a742-e7e81cd9613c>2007-10-15 07:55:29 +0000
commit8f31ba8bf3787fbba72847c0be432fadb17c04d5 (patch)
tree016518798749b20936a3e88448a4071356e0e850
parente57c30d5feaeb5c879100c02c17d2408c76ae5a5 (diff)
Re-subscribe folders after renaming parent folder.
git-svn-id: https://svn.roundcube.net/trunk@865 208e9e7b-5314-0410-a742-e7e81cd9613c
-rw-r--r--roundcubemail/program/include/rcube_imap.inc8
1 files changed, 8 insertions, 0 deletions
diff --git a/roundcubemail/program/include/rcube_imap.inc b/roundcubemail/program/include/rcube_imap.inc
index 41cc1cca5..3fe5b1c11 100644
--- a/roundcubemail/program/include/rcube_imap.inc
+++ b/roundcubemail/program/include/rcube_imap.inc
@@ -1701,6 +1701,14 @@ class rcube_imap
if (strlen($abs_name))
$result = iil_C_RenameFolder($this->conn, $mailbox, $abs_name);
+ // check if mailbox children are subscribed
+ foreach ($a_subscribed as $c_subscribed)
+ if (preg_match('/^'.preg_quote($mailbox.$this->delimiter).'/', $c_subscribed))
+ {
+ iil_C_UnSubscribe($this->conn, $c_subscribed);
+ iil_C_Subscribe($this->conn, preg_replace('/^'.preg_quote($mailbox).'/', $abs_name, $c_subscribed));
+ }
+
// clear cache
if ($result)
{