A lot of code optimization with regard to deleting and creating folders.
[squirrelmail.git] / src / empty_trash.php
index f6baf0db982eef4f0200b96b63cfdd7cfc24add2..ea38697ef29e2de6bcfaa7a7acb3829eef94c51b 100644 (file)
       exit;
    }
 
+
+   /** GET FOLDER ARRAY OF TRASH SUBFOLDERS **/
+   fputs($imapConnection, "1 list \"\" *\n");
+   $str = imapReadData($imapConnection);
+
+   for ($i = 0;$i < count($str); $i++) {
+      $box = Chop($str[$i]);
+      $mailbox = findMailboxName($box);
+
+      if (strpos($box, $trash_folder) > 0) {
+         $folders[$i] = $mailbox;
+      } else {
+         $folders[$i] = "NOPE";
+      }
+   }
+
    // mark them as deleted
    setMessageFlag($imapConnection, 1, $numMessages, "Deleted");
    expungeBox($imapConnection, $mailbox);
 
-   // Log out this session
-   fputs($imapConnection, "1 logout");
+   // remove subfolders
+   for ($i = 0; $i < count($folders); $i++) {
+      if (($folders[$i] == "NOPE") || ($folders[$i] == "$trash_folder")) {
+      } else {
+         $thisfolder = getFolderNameMinusINBOX($folders[$i]);
+         $thisfolder = "user.$username.$thisfolder";
+         removeFolder($imapConnection, $thisfolder);
+      }
+   }
 
+   selectMailbox($imapConnection, $trash_folder, $numMessages);
    echo "<HTML><BODY TEXT=\"#000000\" BGCOLOR=\"#FFFFFF\" LINK=\"#0000EE\" VLINK=\"#0000EE\" ALINK=\"#0000EE\">";
    displayPageHeader($mailbox);
-
-   messages_deleted_message($mailbox, $sort, $startMessage);
+   messages_deleted_message($trash_folder, $sort, $startMessage);
+   fputs($imapConnection, "1 logout");
 ?>