- // Marks the selected messages ad 'Deleted'
- $j = 0;
- $i = 0;
-
- while ($j < count($msg)) {
- if ($msg[$i]) {
- /** check if they would like to move it to the trash folder or not */
- if ($move_to_trash == true) {
- createFolder($imapConnection, "user.$username.$folder");
- $success = copyMessages($imapConnection, $msg[$i], $msg[$i], $trash_folder);
- if ($success == true)
- setMessageFlag($imapConnection, $msg[$i], $msg[$i], "Deleted");
- } else {
- setMessageFlag($imapConnection, $msg[$i], "Deleted");
+require_once('../src/validate.php');
+require_once('../functions/imap.php');
+require_once('../functions/array.php');
+require_once('../functions/tree.php');
+
+ /*
+ * Incoming values:
+ * $mailbox - selected mailbox from the form
+ */
+
+ $imap_stream = sqimap_login($username, $key, $imapServerAddress, $imapPort, 0);
+ $boxes = sqimap_mailbox_list ($imap_stream);
+ global $delimiter;
+
+ if (substr($mailbox, -1) == $delimiter)
+ $mailbox_no_dm = substr($mailbox, 0, strlen($mailbox) - 1);
+ else
+ $mailbox_no_dm = $mailbox;
+
+ /** 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']);