Explorar el Código

Folders below the trash folder are deleted instead of being moved to trash
when the user delete them.

pallo hace 25 años
padre
commit
1bb99d929c
Se han modificado 1 ficheros con 15 adiciones y 4 borrados
  1. 15 4
      src/folders_delete.php

+ 15 - 4
src/folders_delete.php

@@ -44,16 +44,27 @@
 
    /** 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") {
-      // Courier IMAP doesn't like subfolders of Trash
       $can_move_to_trash = false;
-   } else {
+   } 
+
+   // 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 = true;
             for ($j = 0; $j < count($boxes[$i]["flags"]); $j++) {
-               if (strtolower($boxes[$i]["flags"][$j]) == "noinferiors")                                                               
-               $can_move_to_trash = false;
+               if (strtolower($boxes[$i]["flags"][$j]) == "noinferiors")
+		  $can_move_to_trash = false;
             }
          }
       }