- /** 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");
+ /** lets see if we CAN move folders to the trash.. otherwise,
+ ** just delete them **/
+
+ // Courier IMAP doesn't like subfolders of Trash
+ if (strtolower($imap_server_type) == "courier") {
+ $can_move_to_trash = false;
+ }
+
+ // If it's already a subfolder of trash, we'll have to delete it
+ else if(eregi("^".$trash_folder.".+", $mailbox)) {
+
+ $can_move_to_trash = false;
+
+ }
+
+ // Otherwise, check if trash folder exits and support sub-folders
+ else {
+ for ($i = 0; $i < count($boxes); $i++) {
+ if ($boxes[$i]["unformatted"] == $trash_folder) {
+ $can_move_to_trash = !in_array('noinferiors', $boxes[$i]['flags']);