X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=src%2Fmove_messages.php;h=17841ea8673ba33be12ef93256f854417deaa79b;hb=e4c6fe416876dabfcddf636bb7dd8af11cd064a6;hp=21c87a76726eb38781baf250fc1df21e46b14def;hpb=cd8850780fb934d74f62f368af42ca8c5b927265;p=squirrelmail.git diff --git a/src/move_messages.php b/src/move_messages.php index 21c87a76..17841ea8 100644 --- a/src/move_messages.php +++ b/src/move_messages.php @@ -47,29 +47,29 @@ function attachSelectedMessages($msg, $imapConnection) { if (!isset($attachments)) { - $attachments = array(); - session_register('attachments'); + $attachments = array(); + session_register('attachments'); } - if (!isset($composesession)) { - $composesession = 1; - session_register('$composesession'); + if (!isset($composesession) ) { + $composesession = 1; + session_register('composesession'); } else { - $composesession++; + $composesession++; } - $hashed_attachment_dir = getHashedDir($username, $attachment_dir,$composesession); + $hashed_attachment_dir = getHashedDir($username, $attachment_dir, $composesession); $rem_attachments = array(); foreach ($attachments as $info) { - if ($info['session'] == $composesession) { + if ($info['session'] == $composesession) { $attached_file = "$hashed_attachment_dir/$info[localfilename]"; if (file_exists($attached_file)) { - unlink($attached_file); + unlink($attached_file); } - } else { - $rem_attachments[] = $info; - } + } else { + $rem_attachments[] = $info; + } } $attachments = $rem_attachments; @@ -77,46 +77,46 @@ function attachSelectedMessages($msg, $imapConnection) { $i = 0; $j = 0; - + $hashed_attachment_dir = getHashedDir($username, $attachment_dir); while ($j < count($msg)) { if (isset($msg[$i])) { - $id = $msg[$i]; - $body_a = sqimap_run_command($imapConnection, "FETCH $id RFC822",true, $response, $readmessage); - if ($response = 'OK') { - // get subject so we can set the remotefilename - $read = sqimap_run_command ($imapConnection, "FETCH $id BODY.PEEK[HEADER.FIELDS (Subject)]", true, $response, $readmessage); - $subject = substr($read[1], strpos($read[1], ' ')); - $subject = trim($subject); - - if (isset($subject) && $subject != '') { - $subject = htmlentities($subject); - } else { - $subject = _(""); - $subject = htmlentities($subject); - } - - array_shift($body_a); - $body = implode('', $body_a); - $body .= "\r\n"; - - $localfilename = GenerateRandomString(32, 'FILE', 7); - $full_localfilename = "$hashed_attachment_dir/$localfilename"; - - $fp = fopen( $full_localfilename, 'w'); - fwrite ($fp, $body); - fclose($fp); - - $newAttachment = array(); - $newAttachment['localfilename'] = $localfilename; - $newAttachment['type'] = "message/rfc822"; - $newAttachment['remotefilename'] = "$subject".".eml"; - $newAttachment['session'] = $composesession; - $attachments[] = $newAttachment; - flush(); + $id = $msg[$i]; + $body_a = sqimap_run_command($imapConnection, "FETCH $id RFC822",true, $response, $readmessage); + if ($response = 'OK') { + // get subject so we can set the remotefilename + $read = sqimap_run_command ($imapConnection, "FETCH $id BODY.PEEK[HEADER.FIELDS (Subject)]", true, $response, $readmessage); + $subject = substr($read[1], strpos($read[1], ' ')); + $subject = trim($subject); + + if (isset($subject) && $subject != '') { + $subject = htmlentities($subject); + } else { + $subject = _(""); + $subject = htmlentities($subject); + } + + array_shift($body_a); + $body = implode('', $body_a); + $body .= "\r\n"; + + $localfilename = GenerateRandomString(32, 'FILE', 7); + $full_localfilename = "$hashed_attachment_dir/$localfilename"; + + $fp = fopen( $full_localfilename, 'w'); + fwrite ($fp, $body); + fclose($fp); + + $newAttachment = array(); + $newAttachment['localfilename'] = $localfilename; + $newAttachment['type'] = "message/rfc822"; + $newAttachment['remotefilename'] = "$subject".".eml"; + $newAttachment['session'] = $composesession; + $attachments[] = $newAttachment; + flush(); } - $j++; - } - $i++; + $j++; + } + $i++; } return $composesession; @@ -200,7 +200,16 @@ if(isset($expungeButton)) { } $location = get_location(); if (isset($where) && isset($what)) { - header ("Location: $location/search.php?mailbox=".urlencode($mailbox)."&what=".urlencode($what)."&where=".urlencode($where)); + if (isset($attache)) { + $composesession = attachSelectedMessages($msg, $imapConnection); + if ($compose_new_win == '1') { + header ("Location: $location/search.php?mailbox=".urlencode($mailbox)."&what=".urlencode($what)."&where=".urlencode($where)."&composenew=1&session=$composesession&attachedmessages=true"); + } else { + header ("Location: $location/compose.php?startMessage=$startMessage&mailbox=". urlencode($mailbox)."&session=$composesession&attachedmessages=true".$wherewhat); + } + } else { + header ("Location: $location/search.php?mailbox=".urlencode($mailbox)."&what=".urlencode($what)."&where=".urlencode($where)); + } } elseif(isset($attache)) { $composesession = attachSelectedMessages($msg, $imapConnection); if ($compose_new_win == '1') {