summaryrefslogtreecommitdiff
path: root/roundcubemail/program/steps
diff options
context:
space:
mode:
authorrobin <robin@208e9e7b-5314-0410-a742-e7e81cd9613c>2007-10-15 09:17:08 +0000
committerrobin <robin@208e9e7b-5314-0410-a742-e7e81cd9613c>2007-10-15 09:17:08 +0000
commit20e42e1b4132b3200349a48fb851a949f1036dd6 (patch)
tree67cdff8dd51a3845bb098ebdd5f3eea274ba1284 /roundcubemail/program/steps
parent8f31ba8bf3787fbba72847c0be432fadb17c04d5 (diff)
When a parent folder is deleted, delete the children immediately, instead of one-by-one as r833 did.
git-svn-id: https://svn.roundcube.net/trunk@866 208e9e7b-5314-0410-a742-e7e81cd9613c
Diffstat (limited to 'roundcubemail/program/steps')
-rw-r--r--roundcubemail/program/steps/settings/manage_folders.inc6
1 files changed, 6 insertions, 0 deletions
diff --git a/roundcubemail/program/steps/settings/manage_folders.inc b/roundcubemail/program/steps/settings/manage_folders.inc
index 344e40422..4d5882f6e 100644
--- a/roundcubemail/program/steps/settings/manage_folders.inc
+++ b/roundcubemail/program/steps/settings/manage_folders.inc
@@ -97,12 +97,18 @@ else if ($_action=='rename-folder')
// delete an existing IMAP mailbox
else if ($_action=='delete-folder')
{
+ $a_mboxes = array_merge($IMAP->list_mailboxes(), $IMAP->list_unsubscribed());
+ $delimiter = $IMAP->get_hierarchy_delimiter();
+
if ($mboxes = get_input_value('_mboxes', RCUBE_INPUT_POST))
$deleted = $IMAP->delete_mailbox(array($mboxes));
if ($OUTPUT->ajax_call && $deleted)
{
$OUTPUT->command('remove_folder_row', get_input_value('_mboxes', RCUBE_INPUT_POST));
+ foreach ($a_mboxes as $mbox)
+ if (preg_match('/^'.preg_quote(get_input_value('_mboxes', RCUBE_INPUT_POST).$delimiter).'/', $mbox))
+ $OUTPUT->command('remove_folder_row', $mbox);
$OUTPUT->show_message('folderdeleted', 'confirmation');
$OUTPUT->send();
}