From b44ee3f0f2ffca2217c29803f3c411e562ad937a Mon Sep 17 00:00:00 2001 From: stekkel Date: Mon, 19 Aug 2002 07:39:09 +0000 Subject: [PATCH] fix for bug #596781 git-svn-id: https://svn.code.sf.net/p/squirrelmail/code/trunk/squirrelmail@3352 7612ce4b-ef26-0410-bec9-ea0150e637f0 --- functions/tree.php | 34 +++++++++++++++------------------- 1 file changed, 15 insertions(+), 19 deletions(-) diff --git a/functions/tree.php b/functions/tree.php index 12c46b14..2a0b9bbd 100644 --- a/functions/tree.php +++ b/functions/tree.php @@ -69,27 +69,26 @@ function walkTreeInPreOrderEmptyTrash($index, $imap_stream, $tree) { if ($tree[$index]['value'] != $trash_folder) { sqimap_mailbox_delete($imap_stream, $tree[$index]['value']); } else { - $numMessages = sqimap_get_num_messages($imap_stream, $trash_folder); - if ($numMessages > 0) { - sqimap_mailbox_select($imap_stream, $trash_folder); - sqimap_messages_flag ($imap_stream, 1, $numMessages, 'Deleted', true); - sqimap_mailbox_expunge($imap_stream, $trash_folder, true); + $mbx_response = sqimap_mailbox_select($imap_stream, $trash_folder); + if ($mbx_response['EXISTS'] > 0) { + sqimap_messages_flag ($imap_stream, 1, '*', 'Deleted', true); + sqimap_mailbox_expunge($imap_stream, $trash_folder, true); } } } else { if ($tree[$index]['value'] != $trash_folder) { sqimap_mailbox_delete($imap_stream, $tree[$index]['value']); } else { - $numMessages = sqimap_get_num_messages($imap_stream, $trash_folder); - if ($numMessages > 0) { - sqimap_mailbox_select($imap_stream, $trash_folder); - sqimap_messages_flag ($imap_stream, 1, $numMessages, 'Deleted', true); - sqimap_mailbox_expunge($imap_stream, $trash_folder, true); + $mbx_response = sqimap_mailbox_select($imap_stream, $trash_folder); + if ($mbx_response['EXISTS'] > 0) { + sqimap_messages_flag ($imap_stream, 1, '*', 'Deleted', true); + sqimap_mailbox_expunge($imap_stream, $trash_folder, true); } } } } + function walkTreeInPreOrderDeleteFolders($index, $imap_stream, $tree) { if ($tree[$index]['doIHaveChildren']) { for ($j = 0; $j < count($tree[$index]['subNodes']); $j++) { @@ -109,21 +108,18 @@ function walkTreeInPostOrderCreatingFoldersUnderTrash($index, $imap_stream, $tre if ($tree[$index]['doIHaveChildren']) { sqimap_mailbox_create($imap_stream, $trash_folder . $delimiter . $subFolderName, ""); - sqimap_mailbox_select($imap_stream, $tree[$index]['value']); - - $messageCount = sqimap_get_num_messages($imap_stream, $tree[$index]['value']); + $mbx_response = sqimap_mailbox_select($imap_stream, $tree[$index]['value']); + $messageCount = $mbx_response['EXISTS']; if ($messageCount > 0) - sqimap_messages_copy($imap_stream, 1, $messageCount, $trash_folder . $delimiter . $subFolderName); - + sqimap_messages_copy($imap_stream, 1, '*', $trash_folder . $delimiter . $subFolderName); for ($j = 0;$j < count($tree[$index]['subNodes']); $j++) walkTreeInPostOrderCreatingFoldersUnderTrash($tree[$index]['subNodes'][$j], $imap_stream, $tree, $topFolderName); } else { sqimap_mailbox_create($imap_stream, $trash_folder . $delimiter . $subFolderName, ''); - sqimap_mailbox_select($imap_stream, $tree[$index]['value']); - - $messageCount = sqimap_get_num_messages($imap_stream, $tree[$index]['value']); + $mbx_response = sqimap_mailbox_select($imap_stream, $tree[$index]['value']); + $messageCount = $mbx_response['EXISTS']; if ($messageCount > 0) - sqimap_messages_copy($imap_stream, 1, $messageCount, $trash_folder . $delimiter . $subFolderName); + sqimap_messages_copy($imap_stream, 1, '*', $trash_folder . $delimiter . $subFolderName); } } -- 2.25.1