X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=src%2Fempty_trash.php;h=3b094f87ca4a135d2378ba686349fe79e4d297f9;hb=1c5dd6f2c4703243a932974cf22e78abf34defe5;hp=3b6a315aa216c7d0e59d3c35ef05c017e8b87b3e;hpb=30967a1e09679c395b31929cbdb1a0e88b13f01e;p=squirrelmail.git diff --git a/src/empty_trash.php b/src/empty_trash.php index 3b6a315a..3b094f87 100644 --- a/src/empty_trash.php +++ b/src/empty_trash.php @@ -3,38 +3,39 @@ /** * empty_trash.php * - * Copyright (c) 1999-2004 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. * + * @copyright 1999-2014 The SquirrelMail Project Team + * @license http://opensource.org/licenses/gpl-license.php GNU Public License * @version $Id$ * @package squirrelmail */ +/** This is the empty_trash page */ +define('PAGE_NAME', 'empty_trash'); + /** - * Path for SquirrelMail required files. - * @ignore + * Include the SquirrelMail initialization file. */ -define('SM_PATH','../'); +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); @@ -68,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); -?>