Source for file folders_delete.php
Documentation is available at folders_delete.php
* Deletes folders from the IMAP server.
* Called from the folders.php
* @copyright 1999-2020 The SquirrelMail Project Team
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @version $Id: folders_delete.php 14840 2020-01-07 07:42:38Z pdontthink $
/** This is the folders_delete page */
define('PAGE_NAME', 'folders_delete');
* Path for SquirrelMail required files.
/* SquirrelMail required files. */
require_once(SM_PATH .
'include/validate.php');
require_once(SM_PATH .
'functions/global.php');
require_once(SM_PATH .
'functions/imap.php');
require_once(SM_PATH .
'functions/tree.php');
require_once(SM_PATH .
'functions/display_messages.php');
require_once(SM_PATH .
'functions/html.php');
require_once(SM_PATH .
'functions/forms.php');
* $mailbox - selected mailbox from the form
'<br /><a href="../src/folders.php">'.
_("Click here to go back").
'</a>.', $color);
header ("Location: $location/folders.php");
// get displayable mailbox format
if (substr($mailbox,0,strlen($folder_prefix))==
$folder_prefix) {
$mailbox_unformatted_disp =
substr($mailbox, strlen($folder_prefix));
$mailbox_unformatted_disp =
$mailbox;
html_tag( 'table', '', 'center', '', 'width="95%" border="0"' ) .
html_tag( 'td', '<b>' .
_("Delete Folder") .
'</b>', 'center', $color[0] )
html_tag( 'td', '', 'center', $color[4] ) .
addForm('folders_delete.php', 'post', '', '', '', '', TRUE).
"<p>\n".
'</p></form><br /></td></tr></table>';
// first, validate security token
global $imap_stream_options; // in case not defined in config
$imap_stream =
sqimap_login($username, $key, $imapServerAddress, $imapPort, 0, $imap_stream_options);
$numboxes =
count($boxes);
if (substr($mailbox, -
1) ==
$delimiter)
$mailbox_no_dm =
$mailbox;
/** lets see if we CAN move folders to the trash.. otherwise,
if ((isset
($delete_folder) &&
$delete_folder) ||
$can_move_to_trash =
FALSE;
/* Otherwise, check if trash folder exits and support sub-folders */
for ($i =
0; $i <
$numboxes; $i++
) {
if ($boxes[$i]['unformatted'] ==
$trash_folder) {
$can_move_to_trash =
!in_array('noinferiors', $boxes[$i]['flags']);
/** First create the top node in the tree **/
for ($i =
0; $i <
$numboxes; $i++
) {
if (($boxes[$i]['unformatted-dm'] ==
$mailbox) &&
(strlen($boxes[$i]['unformatted-dm']) ==
strlen($mailbox))) {
$foldersTree[0]['value'] =
$mailbox;
$foldersTree[0]['doIHaveChildren'] =
false;
/* Now create the nodes for subfolders of the parent folder
You can tell that it is a subfolder by tacking the mailbox delimiter
on the end of the $mailbox string, and compare to that. */
for ($i =
0; $i <
$numboxes; $i++
) {
if (substr($boxes[$i]['unformatted'], 0, strlen($mailbox_no_dm .
$delimiter)) ==
($mailbox_no_dm .
$delimiter)) {
addChildNodeToTree($boxes[$i]["unformatted"], $boxes[$i]['unformatted-dm'], $foldersTree);
/** 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 **/
} else { /** if they do NOT wish to move messages to the trash (or cannot)**/
/** Log out this session **/
header ("Location: $location/folders.php?success=delete");
Documentation generated on Mon, 13 Jan 2020 04:24:38 +0100 by phpDocumentor 1.4.3