From 0a1d5f3a4aeb3f44c5af035b2f9a29bd53f573ad Mon Sep 17 00:00:00 2001 From: nehresma Date: Wed, 16 Feb 2000 04:12:11 +0000 Subject: [PATCH] more debuging stuff for shane git-svn-id: https://svn.code.sf.net/p/squirrelmail/code/trunk/squirrelmail@219 7612ce4b-ef26-0410-bec9-ea0150e637f0 --- src/empty_trash.php | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/src/empty_trash.php b/src/empty_trash.php index 60d1386f..d67d7514 100644 --- a/src/empty_trash.php +++ b/src/empty_trash.php @@ -16,17 +16,26 @@ $mailbox = $trash_folder; fputs($imapConnection, "1 LIST \"$mailbox\" *\n"); $data = imapReadData($imapConnection , "1", false, $response, $message); - while (substr($data[0], strpos($data[0], " ")+1, 4) == "LIST") { - echo "DEBUG - data from IMAP \"LIST\" : " . $data[0] . "
\n"; - for ($i = 0; $i < count($boxes); $i++) { - if (($boxes[$i]["UNFORMATTED"] == $mailbox) || - (substr($boxes[$i]["UNFORMATTED"], 0, strlen($mailbox . $dm)) == $mailbox . $dm)) { - removeFolder($imapConnection, $boxes[$i]["UNFORMATTED"]); - } + + echo "DEBUG - data from IMAP \"LIST\" : " . $data[0] . "
\n"; + + // According to RFC2060, a DELETE command should NOT remove inferiors (sub folders) + // so lets go through the list of subfolders and remove them before removing the + // parent. + // BUG??? - what if a subfolder has a subfolder?? need to start at lowest level + // and work up. + + + for ($i = 0; $i < count($boxes); $i++) { +// if (($boxes[$i]["UNFORMATTED"] == $mailbox) || +// (substr($boxes[$i]["UNFORMATTED"], 0, strlen($mailbox . $dm)) == $mailbox . $dm)) { + if (($boxes[$i]["UNFORMATTED"] != $mailbox) && (substr($boxes[$i]["UNFORMATTED"], 0, strlen($mailbox . $dm)) == $mailbox . $dm)) { + removeFolder($imapConnection, $boxes[$i]["UNFORMATTED"]); + echo "removing " . $boxes[$i]["UNFORMATTED"] . "
"; } - fputs($imapConnection, "1 LIST \"$mailbox\" *\n"); - $data = imapReadData($imapConnection , "1", false, $response, $message); } + // now lets remove the top level trash folder + removeFolder($imapConnection, $mailbox); createFolder($imapConnection, "$trash_folder", ""); -- 2.25.1