X-Git-Url: https://vcs.fsf.org/?p=squirrelmail.git;a=blobdiff_plain;f=src%2Ffolders_delete.php;h=140d1400f8befea3acbffb9adea3302e1b6ffa69;hp=a05780ceb323dc1c02982d4900c7f05f8c463acd;hb=dfec863ee306edcf23b897453bc19262002343d0;hpb=245a6892bf5c780904ef9677f24d624ea17e0749 diff --git a/src/folders_delete.php b/src/folders_delete.php index a05780ce..140d1400 100644 --- a/src/folders_delete.php +++ b/src/folders_delete.php @@ -11,35 +11,21 @@ ** $Id$ **/ - session_start(); + 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 */ - if (!isset($config_php)) - include("../config/config.php"); - if (!isset($strings_php)) - include("../functions/strings.php"); - if (!isset($page_header_php)) - include("../functions/page_header.php"); - if (!isset($imap_php)) - include("../functions/imap.php"); - if (!isset($array_php)) - include("../functions/array.php"); - if (!isset($tree_php)) - include("../functions/tree.php"); - - include("../src/load_prefs.php"); - - $imap_stream = sqimap_login($username, $key, $imapServerAddress, $imapPort, 0); $boxes = sqimap_mailbox_list ($imap_stream); - $dm = sqimap_get_delimiter($imap_stream); - $mailbox = sqStripSlashes($mailbox); + global $delimiter; - if (substr($mailbox, -1) == $dm) + if (substr($mailbox, -1) == $delimiter) $mailbox_no_dm = substr($mailbox, 0, strlen($mailbox) - 1); else $mailbox_no_dm = $mailbox; @@ -63,11 +49,7 @@ 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; - } + $can_move_to_trash = !in_array('noinferiors', $boxes[$i]['flags']); } } } @@ -85,7 +67,7 @@ // on the end of the $mailbox string, and compare to that. $j = 0; for ($i = 0;$i < count($boxes);$i++) { - if (substr($boxes[$i]["unformatted"], 0, strlen($mailbox_no_dm . $dm)) == ($mailbox_no_dm . $dm)) { + if (substr($boxes[$i]["unformatted"], 0, strlen($mailbox_no_dm . $delimiter)) == ($mailbox_no_dm . $delimiter)) { addChildNodeToTree($boxes[$i]["unformatted"], $boxes[$i]["unformatted-dm"], $foldersTree); } } @@ -93,7 +75,7 @@ /** Lets start removing the folders and messages **/ if (($move_to_trash == true) && ($can_move_to_trash == true)) { /** if they wish to move messages to the trash **/ - walkTreeInPostOrderCreatingFoldersUnderTrash(0, $imap_stream, $foldersTree, $dm, $mailbox); + walkTreeInPostOrderCreatingFoldersUnderTrash(0, $imap_stream, $foldersTree, $mailbox); walkTreeInPreOrderDeleteFolders(0, $imap_stream, $foldersTree); } else { /** if they do NOT wish to move messages to the trash (or cannot)**/ walkTreeInPreOrderDeleteFolders(0, $imap_stream, $foldersTree);