X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=src%2Fempty_trash.php;h=b3f4c476fbc1cc09efadf9cc793c2f38c250aa97;hb=9ae70b623b5bda18ee4b60d9481d49d057b2f508;hp=0201b8b9dfefd0ab3d35acf3c472348440bf086f;hpb=6c84ba1ec45ab854c37b6f65c5b4d84ab1c7aad4;p=squirrelmail.git diff --git a/src/empty_trash.php b/src/empty_trash.php index 0201b8b9..b3f4c476 100644 --- a/src/empty_trash.php +++ b/src/empty_trash.php @@ -3,38 +3,39 @@ /** * empty_trash.php * - * Copyright (c) 1999-2005 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 $imapSslOptions; // in case not defined in config +$imap_stream = sqimap_login($username, false, $imapServerAddress, $imapPort, 0, $imapSslOptions); $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); -?> \ No newline at end of file