}
$body = getforwardHeader($orig_header) . $body;
sqUnWordWrap($body);
- getAttachments($message, $session, $passed_id, $entities, $imapConnection);
+ getAttachments($message, $session, $passed_id, $entities, $imapConnection);
+ break;
+ case ('forward_as_attachment'):
+ getMessage_RFC822_Attachment($message, $session, $passed_id, $imapConnection);
+ $body = '';
break;
case ('reply_all'):
$send_to_cc = replyAllString($orig_header);
}
} else {
$filename = decodeHeader($message->header->getParameter('filename'));
- if ($filename == "") {
- $filename = "untitled-".$message->entity_id;
+ if ($filename == '') {
+ $name = decodeHeader($message->header->getParameter('name'));
+ if ($name == '') {
+ $filename = "untitled-".$message->entity_id;
+ } else {
+ $filename = $name;
+ }
}
}
$localfilename = GenerateRandomString(32, '', 7);
return;
}
+function getMessage_RFC822_Attachment($message, $session, $passed_id, $imapConnection) {
+ global $attachments, $attachment_dir, $username, $data_dir, $uid_support;
+ $hashed_attachment_dir = getHashedDir($username, $attachment_dir);
+ $body_a = sqimap_run_command($imapConnection, "FETCH $passed_id RFC822",true, $response, $readmessage, $uid_support);
+ if ($response = 'OK') {
+ $subject = encodeHeader($message->rfc822_header->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'] = $session;
+ $attachments[] = $newAttachment;
+ }
+ return;
+}
+
function showInputForm ($session, $values=false) {
global $send_to, $send_to_cc, $body,
$passed_body, $color, $use_signature, $signature, $prefix_sig,
if (isset($session)) {
echo '<input type="hidden" name="session" value="' . $session . "\">\n";
}
-
+
+ if (isset($passed_id)) {
+ echo '<input type="hidden" name="passed_id" value="' . $passed_id . "\">\n";
+ }
if ($saved_draft == 'yes') {
echo '<BR><CENTER><B>'. _("Draft Saved").'</CENTER></B>';