From 97a656643866f16289264954be961aa3f314ac20 Mon Sep 17 00:00:00 2001 From: svncommit <devs@roundcube.net> Date: Mon, 15 Oct 2007 05:17:08 -0400 Subject: [PATCH] When a parent folder is deleted, delete the children immediately, instead of one-by-one as r833 did. --- program/include/rcube_imap.inc | 11 +++++++++++ 1 files changed, 11 insertions(+), 0 deletions(-) diff --git a/program/include/rcube_imap.inc b/program/include/rcube_imap.inc index 3fe5b1c..9eb3594 100644 --- a/program/include/rcube_imap.inc +++ b/program/include/rcube_imap.inc @@ -1739,6 +1739,8 @@ else if (is_string($mbox_name) && strlen($mbox_name)) $a_mboxes = explode(',', $mbox_name); + $all_mboxes = iil_C_ListMailboxes($this->conn, $this->_mod_mailbox($root), '*'); + if (is_array($a_mboxes)) foreach ($a_mboxes as $mbox_name) { @@ -1751,6 +1753,15 @@ $result = iil_C_DeleteFolder($this->conn, $mailbox); if ($result>=0) $deleted = TRUE; + + foreach ($all_mboxes as $c_mbox) + if (preg_match('/^'.preg_quote($mailbox.$this->delimiter).'/', $c_mbox)) + { + iil_C_UnSubscribe($this->conn, $c_mbox); + $result = iil_C_DeleteFolder($this->conn, $c_mbox); + if ($result>=0) + $deleted = TRUE; + } } // clear mailboxlist cache -- Gitblit v1.9.1