X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=src%2Fempty_trash.php;h=4c1099b284e829a9df80eb923143263b9fbecd6a;hb=3a634ed1d9902d54edf6921ee3c1b1c5e7b40db8;hp=b34af88cd656199bc4d94d6d4efe57e31f7fb10a;hpb=8f6f9ba5df6491d396aa690dcf3e5b9070a565ca;p=squirrelmail.git diff --git a/src/empty_trash.php b/src/empty_trash.php index b34af88c..4c1099b2 100644 --- a/src/empty_trash.php +++ b/src/empty_trash.php @@ -3,35 +3,39 @@ /** * empty_trash.php * - * Copyright (c) 1999-2003 The SquirrelMail Project Team - * Licensed under the GNU GPL. For full terms see the file COPYING. - * * Handles deleting messages from the trash folder without * deleting subfolders. * - * $Id$ + * @copyright 1999-2016 The SquirrelMail Project Team + * @license http://opensource.org/licenses/gpl-license.php GNU Public License + * @version $Id$ * @package squirrelmail */ -/** Path for SquirrelMail required files. */ -define('SM_PATH','../'); +/** This is the empty_trash page */ +define('PAGE_NAME', 'empty_trash'); + +/** + * Include the SquirrelMail initialization file. + */ +require('../include/init.php'); -/* SquirrelMail required files. */ -require_once(SM_PATH . 'include/validate.php'); -require_once(SM_PATH . 'functions/display_messages.php'); -require_once(SM_PATH . 'functions/imap.php'); -require_once(SM_PATH . 'functions/tree.php'); +require(SM_PATH . 'functions/imap_general.php'); +require(SM_PATH . 'functions/imap_messages.php'); +require(SM_PATH . 'functions/tree.php'); /* get those globals */ -sqgetGlobalVar('username', $username, SQ_SESSION); -sqgetGlobalVar('key', $key, SQ_COOKIE); sqgetGlobalVar('delimiter', $delimiter, SQ_SESSION); -sqgetGlobalVar('onetimepad', $onetimepad, SQ_SESSION); /* finished globals */ -$imap_stream = sqimap_login($username, $key, $imapServerAddress, $imapPort, 0); +// first do a security check +sqgetGlobalVar('smtoken', $submitted_token, SQ_GET, ''); +sm_validate_security_token($submitted_token, -1, TRUE); + +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; $boxes = sqimap_mailbox_list($imap_stream); @@ -65,9 +69,13 @@ for ($i = 0; $i < $numboxes; $i++) { // now lets go through the tree and delete the folders walkTreeInPreOrderEmptyTrash(0, $imap_stream, $foldersTree); +// update mailbox cache +$mailboxes=sqimap_get_mailboxes($imap_stream,true,$show_only_subscribed_folders); +sqimap_logout($imap_stream); + +// close session properly before redirecting +session_write_close(); $location = get_location(); header ("Location: $location/left_main.php"); -sqimap_logout($imap_stream); -?>