X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=src%2Fmove_messages.php;h=13cfcfa69b21f4f250a66afecb4c21ed7fb9e2f1;hb=ed4332d1ce7dc32d4af42d75c1d52d3d89730b2f;hp=ff9031bedbed8d6e7218cec8e4200036f021a289;hpb=b40316f9256e410ace42ec610ff07680800a6916;p=squirrelmail.git diff --git a/src/move_messages.php b/src/move_messages.php index ff9031be..13cfcfa6 100644 --- a/src/move_messages.php +++ b/src/move_messages.php @@ -1,57 +1,101 @@ + "; - echo "$errorNumber : $errorString
"; - exit; - } - $serverInfo = fgets($imapConnection, 256); - - // login - fputs($imapConnection, "1 login $username $key\n"); - $read = fgets($imapConnection, 1024); + function putSelectedMessagesIntoString($msg) { + $j = 0; + $i = 0; + $firstLoop = true; + + // If they have selected nothing msg is size one still, but will be an infinite + // loop because we never increment j. so check to see if msg[0] is set or not to fix this. + while (($j < count($msg)) && ($msg[0])) { + if ($msg[$i]) { + if ($firstLoop != true) + $selectedMessages .= "&"; + else + $firstLoop = false; - if (strpos($read, "NO")) { - error_username_password_incorrect(); - exit; + $selectedMessages .= "selMsg[$j]=$msg[$i]"; + + $j++; + } + $i++; + } } + + + $imapConnection = loginToImapServer($username, $key, $imapServerAddress); // switch to the mailbox, and get the number of messages in it. - selectMailbox($imapConnection, $mailbox, $numMessages); - - // Marks the selected messages ad 'Deleted' - $j = 0; - $i = 0; + selectMailbox($imapConnection, $mailbox, $numMessages, $imapServerAddress); - while ($j < count($msg)) { - if ($msg[$i]) { - /** check if they would like to move it to the trash folder or not */ - if ($move_to_trash == true) { - $success = copyMessages($imapConnection, $msg[$i], $msg[$i], $trash_folder); - if ($success == true) - setMessageFlag($imapConnection, $msg[$i], $msg[$i], "Deleted"); - } else { - setMessageFlag($imapConnection, $msg[$i], "Deleted"); + // If the delete button was pressed, the moveButton variable will not be set. + if (!$moveButton) { + displayPageHeader($mailbox); + if (is_array($msg) == 1) { + // Marks the selected messages ad 'Deleted' + $j = 0; + $i = 0; + + // If they have selected nothing msg is size one still, but will be an infinite + // loop because we never increment j. so check to see if msg[0] is set or not to fix this. + while ($j < count($msg)) { + if ($msg[$i]) { + /** check if they would like to move it to the trash folder or not */ + if ($move_to_trash == true) { + $success = copyMessages($imapConnection, $msg[$i], $msg[$i], $trash_folder); + if ($success == true) + setMessageFlag($imapConnection, $msg[$i], $msg[$i], "Deleted"); + } else { + setMessageFlag($imapConnection, $msg[$i], "Deleted"); + } + $j++; + } + $i++; } - $j++; + if ($auto_expunge == true) + expungeBox($imapConnection, $mailbox, $numMessages); + messages_deleted_message($mailbox, $sort, $startMessage); + } else { + echo "

No messages selected.
"; + } + } else { // Move messages + displayPageHeader($mailbox); + // lets check to see if they selected any messages + if (is_array($msg) == 1) { + $j = 0; + $i = 0; + + // If they have selected nothing msg is size one still, but will be an infinite + // loop because we never increment j. so check to see if msg[0] is set or not to fix this. + while ($j < count($msg)) { + if ($msg[$i]) { + /** check if they would like to move it to the trash folder or not */ + $success = copyMessages($imapConnection, $msg[$i], $msg[$i], $targetMailbox); + if ($success == true) + setMessageFlag($imapConnection, $msg[$i], $msg[$i], "Deleted"); + $j++; + } + $i++; + } + if ($auto_expunge == true) + expungeBox($imapConnection, $mailbox, $numMessages); + + echo "Messages are moved.
"; + } else { + echo "\n


\n"; + echo "
No messages selected.
\n"; } - $i++; } - if ($auto_expunge == true) - expungeBox($imapConnection, $mailbox, $numMessages); - // Log out this session fputs($imapConnection, "1 logout"); - echo ""; - displayPageHeader($mailbox); - - messages_deleted_message($mailbox, $sort, $startMessage); -?> \ No newline at end of file +?> +