X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=src%2Fcompose.php;h=1cd22ce72d46f3aaf5c939e437a8c0294014d4eb;hb=c3ccfa1912b4ca47279d259bb587ceb293ce5d83;hp=3c20980dea2bd70d87bef1adfa13f5bb71161faf;hpb=a869e065a9ba7a53cafd6a067634f410cb342149;p=squirrelmail.git diff --git a/src/compose.php b/src/compose.php index 3c20980d..1cd22ce7 100644 --- a/src/compose.php +++ b/src/compose.php @@ -559,7 +559,7 @@ function newMail ($mailbox='', $passed_id='', $passed_ent_id='', $action='', $se $use_signature, $composesession, $data_dir, $username, $username, $key, $imapServerAddress, $imapPort, $compose_messages, $composeMessage; - global $languages, $squirrelmail_language; + global $languages, $squirrelmail_language; $send_to = $send_to_cc = $send_to_bcc = $subject = $identity = ''; $mailprio = 3; @@ -666,8 +666,8 @@ function newMail ($mailbox='', $passed_id='', $passed_ent_id='', $action='', $se $send_to_bcc = decodeHeader($orig_header->getAddr_s('bcc'),false,true); $subject = decodeHeader($orig_header->subject,false,true); // /* remember the references and in-reply-to headers in case of an reply */ -// $composeMessage->rfc822_header->more_headers['References'] = $orig_header->references; -// $composeMessage->rfc822_header->more_headers['In-Reply-To'] = $orig_header->in_reply_to; + $composeMessage->rfc822_header->more_headers['References'] = $orig_header->references; + $composeMessage->rfc822_header->more_headers['In-Reply-To'] = $orig_header->in_reply_to; $body_ary = explode("\n", $body); $cnt = count($body_ary) ; $body = ''; @@ -694,7 +694,7 @@ function newMail ($mailbox='', $passed_id='', $passed_ent_id='', $action='', $se case ('forward'): $send_to = ''; $subject = decodeHeader($orig_header->subject,false,true); - if ((substr(strtolower($subject), 0, 4) != 'fwd:') && + if ((substr(strtolower($subject), 0, 4) != 'fwd:') && (substr(strtolower($subject), 0, 5) != '[fwd:') && (substr(strtolower($subject), 0, 6) != '[ fwd:')) { $subject = '[Fwd: ' . $subject . ']'; @@ -774,16 +774,19 @@ function getAttachments($message, &$composeMessage, $passed_id, $entities, $imap if ( !in_array($message->entity_id, $entities) && $message->entity_id) { switch ($message->type0) { case 'message': - if ($message->type1 == 'rfc822') { - $filename = $message->rfc822_header->subject.'.eml'; - if ($filename == "") { - $filename = "untitled-".$message->entity_id.'.eml'; - } - } else { - $filename = $message->getFilename(); - } + if ($message->type1 == 'rfc822') { + $filename = $message->rfc822_header->subject.'.eml'; + if ($filename == "") { + $filename = "untitled-".$message->entity_id.'.eml'; + } + } else { + $filename = $message->getFilename(); + } break; default: + if (!$message->mime_header) { /* temporary hack */ + $message->mime_header = $message->header; + } $filename = $message->getFilename(); break; } @@ -799,12 +802,10 @@ function getAttachments($message, &$composeMessage, $passed_id, $entities, $imap $full_localfilename = "$hashed_attachment_dir/$localfilename"; } $message->att_local_name = $full_localfilename; - if (!$message->mime_header) { /* temporary hack */ - $message->mime_header = $message->header; - } + + $composeMessage->initAttachment($message->type0.'/'.$message->type1,$filename, + $full_localfilename); - $composeMessage->addEntity($message); - /* Write Attachment to file */ $fp = fopen ("$hashed_attachment_dir/$localfilename", 'wb'); fputs($fp, decodeBody(mime_fetch_body($imapConnection, @@ -880,14 +881,14 @@ function showInputForm ($session, $values=false) { } if ($use_javascript_addr_book) { - echo "\n". '' . "\n\n"; + "// -->\n\n\n"; } echo "\n" . '
'; echo ' ' . "\n" . ' ' . "\n" . ' by nonbreaking spaces   + by replacing them back to spaces addressparsing works */ + /* FIXME: How to handle in case of other charsets where "\240" + is not a non breaking space ??? */ + + $send_to = str_replace("\240",' ',$send_to); + $send_to_cc = str_replace("\240",' ',$send_to_cc); + $send_to_bcc = str_replace("\240",' ',$send_to_bcc); + $rfc822_header = $composeMessage->rfc822_header; $abook = addressbook_init(false, true); @@ -1425,14 +1435,14 @@ function deliverMessage($composeMessage, $draft=false) { } else { $rfc822_header->encoding = '8bit'; } - } - if ($default_charset) { - $content_type->properties['charset']=$default_charset; + if ($default_charset) { + $content_type->properties['charset']=$default_charset; + } } $rfc822_header->content_type = $content_type; $composeMessage->rfc822_header = $rfc822_header; - + /* Here you can modify the message structure just before we hand it over to deliver */ do_hook('compose_send');