diff options
-rw-r--r-- | program/include/rcube_imap.inc | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/program/include/rcube_imap.inc b/program/include/rcube_imap.inc index 8bcce8a94..a5258279c 100644 --- a/program/include/rcube_imap.inc +++ b/program/include/rcube_imap.inc @@ -35,7 +35,7 @@ require_once('lib/mime.inc'); * * @package Mail * @author Thomas Bruederli <roundcube@gmail.com> - * @version 1.36 + * @version 1.39 * @link http://ilohamail.org */ class rcube_imap @@ -1703,17 +1703,19 @@ 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) { + $delm = $this->get_hierarchy_delimiter(); + + // check if mailbox children are subscribed + foreach ($a_subscribed as $c_subscribed) + if (preg_match('/^'.preg_quote($mailbox.$delm, '/').'/', $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 $this->clear_message_cache($mailbox.'.msg'); $this->clear_cache('mailboxes'); } |