summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--program/include/rcube_imap.inc8
1 files changed, 8 insertions, 0 deletions
diff --git a/program/include/rcube_imap.inc b/program/include/rcube_imap.inc
index 41cc1cca5..3fe5b1c11 100644
--- a/program/include/rcube_imap.inc
+++ b/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)
{