1<?php
2
3/**
4 * delete_message.php
5 *
6 * Deletes a meesage from the IMAP server
7 *
8 * @copyright 1999-2021 The SquirrelMail Project Team
9 * @license http://opensource.org/licenses/gpl-license.php GNU Public License
10 * @version $Id: delete_message.php 14885 2021-02-05 19:19:32Z pdontthink $
11 * @package squirrelmail
12 */
13
14/**
15 * Path for SquirrelMail required files.
16 * @ignore
17 */
18define('SM_PATH','../');
19
20/* SquirrelMail required files. */
21require_once(SM_PATH . 'include/validate.php');
22require_once(SM_PATH . 'functions/display_messages.php');
23require_once(SM_PATH . 'functions/imap.php');
24
25/* get globals */
26sqgetGlobalVar('username', $username, SQ_SESSION);
27sqgetGlobalVar('key', $key, SQ_COOKIE);
28sqgetGlobalVar('onetimepad', $onetimepad, SQ_SESSION);
29
30sqgetGlobalVar('message', $message, SQ_GET);
31sqgetGlobalVar('mailbox', $mailbox, SQ_GET);
32if (!sqgetGlobalVar('smtoken',$submitted_token, SQ_GET)) {
33    $submitted_token = '';
34}
35/* end globals */
36
37if (isset($_GET['saved_draft'])) {
38    $saved_draft = urlencode($_GET['saved_draft']);
39}
40if (isset($_GET['mail_sent'])) {
41    $mail_sent = urlencode($_GET['mail_sent']);
42}
43if (isset($_GET['where'])) {
44    $where = urlencode($_GET['where']);
45}
46if (isset($_GET['what'])) {
47    $what = urlencode($_GET['what']);
48}
49if (isset($_GET['sort'])) {
50    $sort = (int) $_GET['sort'];
51}
52if (isset($_GET['startMessage'])) {
53    $startMessage = (int) $_GET['startMessage'];
54}
55
56// first, validate security token
57sm_validate_security_token($submitted_token, -1, TRUE);
58
59global $imap_stream_options; // in case not defined in config
60$imapConnection = sqimap_login($username, $key, $imapServerAddress, $imapPort, 0, $imap_stream_options);
61
62sqimap_mailbox_select($imapConnection, $mailbox);
63
64sqimap_msgs_list_delete($imapConnection, $mailbox, $message);
65if ($auto_expunge) {
66    sqimap_mailbox_expunge($imapConnection, $mailbox, true);
67}
68sqimap_logout($imapConnection);
69
70if (!isset($saved_draft)) {
71    $saved_draft = '';
72}
73
74if (!isset($mail_sent)) {
75    $mail_sent = '';
76}
77
78$location = get_location();
79
80if (isset($where) && isset($what)) {
81    header("Location: $location/search.php?where=" . $where .
82           '&smtoken=' . sm_generate_security_token() .
83           '&what=' . $what . '&mailbox=' . urlencode($mailbox));
84} else {
85    if (!empty($saved_draft) || !empty($mail_sent)) {
86          if ($compose_new_win == '1')
87              header("Location: $location/compose.php?mail_sent=$mail_sent&saved_draft=$saved_draft");
88          else
89              header("Location: $location/right_main.php?mail_sent=$mail_sent&saved_draft=$saved_draft");
90    }
91    else {
92        header("Location: $location/right_main.php?sort=$sort&startMessage=$startMessage&mailbox=" .
93               urlencode($mailbox));
94    }
95}
96
97
98