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/steps/settings/manage_folders.inc | 6 ++++++ 1 files changed, 6 insertions(+), 0 deletions(-) diff --git a/program/steps/settings/manage_folders.inc b/program/steps/settings/manage_folders.inc index 344e404..4d5882f 100644 --- a/program/steps/settings/manage_folders.inc +++ b/program/steps/settings/manage_folders.inc @@ -97,12 +97,18 @@ // 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(); } -- Gitblit v1.9.1