X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=functions%2Ftree.php;h=322d3a2a82c9ff458dde71f50f2d5032b2766336;hb=40f200abbb548b1eb40a437ce70b32ee7ae867bb;hp=e9de9f00893502092d39f8a42797a3060298b97d;hpb=65c3ec94c897fb098598f3843e371020deb2226b;p=squirrelmail.git diff --git a/functions/tree.php b/functions/tree.php index e9de9f00..322d3a2a 100644 --- a/functions/tree.php +++ b/functions/tree.php @@ -3,7 +3,7 @@ /** * tree.php * - * Copyright (c) 1999-2002 The SquirrelMail Project Team + * Copyright (c) 1999-2003 The SquirrelMail Project Team * Licensed under the GNU GPL. For full terms see the file COPYING. * * This code provides various string manipulation functions that are @@ -12,7 +12,7 @@ * $Id$ */ -require_once('../functions/imap.php'); +require_once(SM_PATH . 'functions/imap.php'); /** * findParentForChild @@ -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'); - 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'); - 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); } }