X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=src%2Fmove_messages.php;h=a9fb476aabc4bda82783fba7ca11936ba4df6eb8;hb=44925ab0dda165dd60b99aa629b402c1c5571bf4;hp=d43c3b107d959d40f9ab5024319df6cfd3e113d5;hpb=9837b0a5afee61309027869b117a406defc2f437;p=squirrelmail.git diff --git a/src/move_messages.php b/src/move_messages.php index d43c3b10..a9fb476a 100644 --- a/src/move_messages.php +++ b/src/move_messages.php @@ -22,6 +22,12 @@ require_once(SM_PATH . 'functions/html.php'); global $compose_new_win; +if (isset($_SESSION['composesession'])) { + $composesession = $_SESSION['composesession']; +} else { + $composesession = 0; +} + function putSelectedMessagesIntoString($msg) { $j = 0; $i = 0; @@ -55,11 +61,12 @@ function attachSelectedMessages($msg, $imapConnection) { sqsession_register($compose_messages,'compose_messages'); } - if (!isset($composesession) ) { + if (!$composesession) { $composesession = 1; sqsession_register($composesession,'composesession'); } else { $composesession++; + sqsession_register($composesession,'composesession'); } $hashed_attachment_dir = getHashedDir($username, $attachment_dir, $composesession); @@ -105,7 +112,8 @@ function attachSelectedMessages($msg, $imapConnection) { $i++; } $compose_messages[$composesession] = $composeMessage; - sqsession_register($compose_messages,'compose_messages'); + sqsession_register($compose_messages,'compose_messages'); + session_write_close(); return $composesession; } @@ -118,7 +126,6 @@ $key = $_COOKIE['key']; $onetimepad = $_SESSION['onetimepad']; $base_uri = $_SESSION['base_uri']; $delimiter = $_SESSION['delimiter']; - if (isset($_GET['mailbox'])) { $mailbox = $_GET['mailbox']; } @@ -134,6 +141,12 @@ if (isset($_POST['msg'])) { elseif (isset($_GET['msg'])) { $msg = $_GET['msg']; } + +if (isset($_SESSION['msgs'])) { + $msgs = $_SESSION['msgs']; +} + + if (isset($_POST['expungeButton'])) { $expungeButton = $_POST['expungeButton']; } @@ -159,14 +172,21 @@ if (isset($_POST['attache'])) { $attache = $_POST['attache']; } +if (isset($_POST['location'])) { + $location = $_POST['location']; +} + +if (isset($_SESSION['composesession'])) { + $composesession = $_SESSION['composesession']; +} /* end of get globals */ $imapConnection = sqimap_login($username, $key, $imapServerAddress, $imapPort, 0); $mbx_response=sqimap_mailbox_select($imapConnection, $mailbox); -$location = set_url_var($location,'composenew'); -$location = set_url_var($location,'composesession'); -$location = set_url_var($location,'session'); +$location = set_url_var($location,'composenew',0,false); +$location = set_url_var($location,'composesession',0,false); +$location = set_url_var($location,'session',0,false); /* remember changes to mailbox setting */ if (!isset($lastTargetMailbox)) { @@ -176,18 +196,17 @@ if ($targetMailbox != $lastTargetMailbox) { $lastTargetMailbox = $targetMailbox; sqsession_register($lastTargetMailbox, 'lastTargetMailbox'); } - +$exception = false; // expunge-on-demand if user isn't using move_to_trash or auto_expunge if(isset($expungeButton)) { $cnt = sqimap_mailbox_expunge($imapConnection, $mailbox, true); if (($startMessage+$cnt-1) >= $mbx_response['EXISTS']) { if ($startMessage > $show_num) { - $location = set_url_var($location,'startMessage',$startMessage-$show_num); + $location = set_url_var($location,'startMessage',$startMessage-$show_num,false); } else { - $location = set_url_var($location,'startMessage',1); + $location = set_url_var($location,'startMessage',1,false); } } - header("Location: $location"); } elseif(isset($undeleteButton)) { // undelete messages if user isn't using move_to_trash or auto_expunge if (is_array($msg) == 1) { @@ -203,10 +222,8 @@ if(isset($expungeButton)) { } $i++; } - header ("Location: $location"); } else { - displayPageHeader($color, $mailbox); - error_message(_("No messages were selected."), $mailbox, $sort, $startMessage, $color); + $exception = true; } } elseif (!isset($moveButton)) { // If the delete button was pressed, the moveButton variable will not be set. @@ -238,26 +255,24 @@ if(isset($expungeButton)) { } if (isset($attache)) { $composesession = attachSelectedMessages($msg, $imapConnection); + $location = set_url_var($location, 'session', $composesession, false); if ($compose_new_win) { - header ("Location: $location&composenew=1&session=$composesession"); + $location = set_url_var($location, 'composenew', 1, false); } else { $location = str_replace('search.php','compose.php',$location); $location = str_replace('right_main.php','compose.php',$location); - header ("Location: $location&session=$composesession"); } } else { if (($startMessage+$cnt-1) >= $mbx_response['EXISTS']) { if ($startMessage > $show_num) { - $location = set_url_var($location,'startMessage',$startMessage-$show_num); + $location = set_url_var($location,'startMessage',$startMessage-$show_num, false); } else { - $location = set_url_var($location,'startMessage',1); + $location = set_url_var($location,'startMessage',1, false); } } - header ("Location: $location"); } } else { - displayPageHeader($color, $mailbox); - error_message(_("No messages were selected."), $mailbox, $sort, $startMessage, $color); + $exception = true; } } else { // Move messages // lets check to see if they selected any messages @@ -284,19 +299,23 @@ if(isset($expungeButton)) { if (($startMessage+$cnt-1) >= $mbx_response['EXISTS']) { if ($startMessage > $show_num) { - $location = set_url_var($location,'startMessage',$startMessage-$show_num); + $location = set_url_var($location,'startMessage',$startMessage-$show_num, false); } else { - $location = set_url_var($location,'startMessage',1); + $location = set_url_var($location,'startMessage',1, false); } } - header ("Location: $location"); } else { - displayPageHeader($color, $mailbox); - error_message(_("No messages were selected."), $mailbox, $sort, $startMessage, $color); + $exception = true; } } // Log out this session sqimap_logout($imapConnection); - +if ($exception) { + displayPageHeader($color, $mailbox); + error_message(_("No messages were selected."), $mailbox, $sort, $startMessage, $color); +} else { + header("Location: $location"); + exit; +} ?>