Source for file empty_trash.php
Documentation is available at empty_trash.php
* Handles deleting messages from the trash folder without
* @copyright 1999-2020 The SquirrelMail Project Team
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @version $Id: empty_trash.php 14845 2020-01-07 08:09:34Z pdontthink $
/** This is the empty_trash page */
define('PAGE_NAME', 'empty_trash');
* Include the SquirrelMail initialization file.
require
('../include/init.php');
require
(SM_PATH .
'functions/imap_general.php');
require
(SM_PATH .
'functions/imap_messages.php');
require
(SM_PATH .
'functions/tree.php');
// first do a security check
global $imap_stream_options; // in case not defined in config
$imap_stream =
sqimap_login($username, false, $imapServerAddress, $imapPort, 0, $imap_stream_options);
$mailbox =
$trash_folder;
* According to RFC2060, a DELETE command should NOT remove inferiors (sub folders)
* so lets go through the list of subfolders and remove them before removing the
/** First create the top node in the tree **/
$numboxes =
count($boxes);
for ($i =
0; $i <
$numboxes; $i++
) {
if (($boxes[$i]['unformatted'] ==
$mailbox) &&
(strlen($boxes[$i]['unformatted']) ==
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 .
$delimiter)) ==
($mailbox .
$delimiter)) {
addChildNodeToTree($boxes[$i]['unformatted'], $boxes[$i]['unformatted-dm'], $foldersTree);
// now lets go through the tree and delete the folders
// close session properly before redirecting
header ("Location: $location/left_main.php");
Documentation generated on Mon, 13 Jan 2020 04:22:25 +0100 by phpDocumentor 1.4.3