X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=src%2Fdelete_message.php;h=a0c219eb10af415d6fa07f8c1eedd0b94a87bbc9;hb=1519cc5356c599eebc7b54051d65905c5cb3e744;hp=09c2fef64e30faaac62ee09b30ec143c63707436;hpb=f38b7cf06c3343a7fead417d90bd67d291f5dc29;p=squirrelmail.git diff --git a/src/delete_message.php b/src/delete_message.php index 09c2fef6..a0c219eb 100644 --- a/src/delete_message.php +++ b/src/delete_message.php @@ -3,20 +3,24 @@ /** * delete_message.php * - * Copyright (c) 1999-2003 The SquirrelMail Project Team + * Copyright (c) 1999-2005 The SquirrelMail Project Team * Licensed under the GNU GPL. For full terms see the file COPYING. * * Deletes a meesage from the IMAP server * - * $Id$ + * @version $Id$ + * @package squirrelmail */ -/* Path for SquirrelMail required files. */ +/** + * Path for SquirrelMail required files. + * @ignore + */ define('SM_PATH','../'); /* SquirrelMail required files. */ require_once(SM_PATH . 'include/validate.php'); -require_once(SM_PATH . 'functions/display_messages.php'); +include_once(SM_PATH . 'functions/display_messages.php'); require_once(SM_PATH . 'functions/imap.php'); /* get globals */ @@ -24,62 +28,95 @@ sqgetGlobalVar('username', $username, SQ_SESSION); sqgetGlobalVar('key', $key, SQ_COOKIE); sqgetGlobalVar('onetimepad', $onetimepad, SQ_SESSION); -sqgetGlobalVar('message', $message, SQ_GET); +sqgetGlobalVar('message', $message, SQ_FORM); sqgetGlobalVar('mailbox', $mailbox, SQ_GET); + +sqgetGlobalVar('bypass_trash', $bypass_trash, SQ_FORM); + +global $data_dir; /* end globals */ -if (isset($_GET['saved_draft'])) { - $saved_draft = urlencode($_GET['saved_draft']); +/* get $compose_new_win */ +$compose_new_win=getPref($data_dir,$username,'compose_new_win',0); + +/** + * Script is used when draft is saved again or sent. + * browser should be redirected to compose.php (compose_new_win=1) + * or right_main.php + * Problem: drafts folder listing is not refreshed when + * compose_new_win=1. + */ +if (sqGetGlobalVar('saved_draft', $tmp, SQ_GET)) { + $saved_draft = urlencode($tmp); } -if (isset($_GET['mail_sent'])) { - $mail_sent = urlencode($_GET['mail_sent']); +if (sqGetGlobalVar('mail_sent', $tmp, SQ_GET)) { + $mail_sent = urlencode($tmp); } -if (isset($_GET['sort'])) { - $sort = (int) $_GET['sort']; +/** + * Script is used in search page. + * browser should be redirected to search.php + * Is it really used in search page? + */ +if (sqGetGlobalVar('where', $tmp, SQ_FORM)) { + $where = urlencode($tmp); } - -if (isset($_GET['startMessage'])) { - $startMessage = (int) $_GET['startMessage']; +if (sqGetGlobalVar('what', $tmp, SQ_FORM)) { + $what = urlencode($tmp); } - -if(isset($_GET['where'])) { - $where = urlencode($_GET['where']); +/** + * FIXME: which part of code uses it? + */ +if (sqGetGlobalVar('sort', $tmp, SQ_FORM)) { + $sort = (int) $tmp; } -if(isset($_GET['what'])) { - $what = urlencode($_GET['what']); +if (sqGetGlobalVar('startMessage', $tmp, SQ_FORM)) { + $startMessage = (int) $tmp; } $imapConnection = sqimap_login($username, $key, $imapServerAddress, $imapPort, 0); +// FIXME: unchecked use of variables. sqimap_mailbox_select($imapConnection, $mailbox); -sqimap_messages_delete($imapConnection, $message, $message, $mailbox); +// FIXME: unchecked use of variables. +sqimap_messages_delete($imapConnection, $message, $message, $mailbox,$bypass_trash); if ($auto_expunge) { sqimap_mailbox_expunge($imapConnection, $mailbox, true); } -if (!isset($saved_draft)) { - $saved_draft = ''; -} - -if (!isset($mail_sent)) { - $mail_sent = ''; -} $location = get_location(); -if (isset($where) && isset($what)) { +/** + * FIXME: rg=on problems with $saved_drafts, $sent_mail, $where and $what + * FIXME: current version of squirrelmail contains only two + * delete_message.php calls. with saved_draft=yes (compose.php + * around line 360) and with mail_sent=yes (compose.php around line 434) + */ +if (isset($saved_draft)) { + // process resumed and again saved draft + if ($compose_new_win == '1') { + header("Location: $location/compose.php?saved_draft=yes"); + } else { + $draft_message = _("Draft Saved"); + header("Location: $location/right_main.php?mailbox=" . urlencode($draft_folder) . + "&startMessage=1¬e=".urlencode($draft_message)); + } +} elseif (isset($mail_sent)) { + // process resumed and then sent draft + if ($compose_new_win == '1') { + header("Location: $location/compose.php?mail_sent=yes"); + } else { + $draft_message = _("Your Message has been sent."); + header("Location: $location/right_main.php?mailbox=" . urlencode($draft_folder) . + "&startMessage=1¬e=".urlencode($draft_message)); + } +} elseif (isset($where) && isset($what)) { + // FIXME: I suspect that part of code is obsolete header("Location: $location/search.php?where=" . $where . '&what=' . $what . '&mailbox=' . urlencode($mailbox)); } else { - if (!empty($saved_draft) || !empty($mail_sent)) { - header("Location: $location/compose.php?mail_sent=$mail_sent&saved_draft=$saved_draft"); - } - else { - header("Location: $location/right_main.php?sort=$sort&startMessage=$startMessage&mailbox=" . - urlencode($mailbox)); - } + header("Location: $location/right_main.php?startMessage=$startMessage&mailbox=" . + urlencode($mailbox)); } - sqimap_logout($imapConnection); - -?> +?> \ No newline at end of file