Deleting and creating folders works great!
[squirrelmail.git] / src / folders_delete.php
index 8bc2ff5aa91340893f7ac99460a3d6971de108e0..acddaf55ecedb81593984e28237f51ec23b7bda7 100644 (file)
@@ -6,29 +6,41 @@
    include("../functions/mailbox.php");
 
    $imapConnection = loginToImapServer($username, $key, $imapServerAddress);
-
-   // switch to the mailbox, and get the number of messages in it.
    selectMailbox($imapConnection, $mailbox, $numMessages);
-
-   $folder = getFolderNameMinusINBOX($mailbox);
-   $trash = getFolderNameMinusINBOX($trash_folder);
-
-   /** check if they would like to move it to the trash folder or not */
-   if ($move_to_trash == true) {
-      createFolder($imapConnection, "user.$username.$trash.$folder");
-      echo "CREATING FOLDER:  user.$username.$trash.$folder<BR>";
-      if ($numMessages > 0)
-         $success = copyMessages($imapConnection, 1, $numMessages, $trash_folder);
-      else
-         $success = true;
-
-      if ($success == true)
-         removeFolder($imapConnection, "user.$username.$folder");
-   } else {
-      removeFolder($imapConnection, "user.$username.$folder");
+   getFolderList($imapConnection, $boxesFormatted, $boxesUnformatted);
+
+   /** Lets start removing the folders and messages **/
+   if ($move_to_trash == true) { /** if they wish to move messages to the trash **/
+      /** Creates the subfolders under $trash_folder **/
+      for ($i = 0; $i < count($boxesUnformatted); $i++) {
+         if (substr($boxesUnformatted[$i], 0, strlen($mailbox)) == $mailbox) {
+            $folderWithoutINBOX = getFolderNameMinusINBOX($boxesUnformatted[$i]);
+            createFolder($imapConnection, "$trash_folder.$folderWithoutINBOX");
+         }
+      }
+      for ($i = 0; $i < count($boxesUnformatted); $i++) {
+         if (substr($boxesUnformatted[$i], 0, strlen($mailbox)) == $mailbox) {
+            selectMailbox($imapConnection, $boxesUnformatted[$i], $numMessages);
+            $folder = getFolderNameMinusINBOX($boxesUnformatted[$i]);
+
+            if ($numMessages > 0)
+               $success = copyMessages($imapConnection, 1, $numMessages, "$trash_folder.$folder");
+            else
+               $success = true;
+
+            if ($success == true)
+               removeFolder($imapConnection, "$boxesUnformatted[$i]");
+         }
+      }
+   } else { /** if they do NOT wish to move messages to the trash **/
+      for ($i = 0; $i < count($boxesUnformatted); $i++) {
+         if (substr($boxesUnformatted[$i], 0, strlen($mailbox)) == $mailbox) {
+            removeFolder($imapConnection, "$boxesUnformatted[$i]");
+         }
+      }
    }
 
-   // Log out this session
+   /** Log out this session **/
    fputs($imapConnection, "1 logout");
 
    echo "<BR><BR><A HREF=\"folders.php\">Return</A>";