--- src/compose.php-orig Thu Sep 18 22:24:21 2003 +++ src/compose.php Tue May 11 18:21:40 2004 @@ -197,11 +197,14 @@ foreach($display as $key => $val) { $display[$key] = $key .': '. str_pad('', $maxsize - $val); } - $from = decodeHeader($orig_header->getAddr_s('from',"\n$indent"),false,false); +// $from = decodeHeader($orig_header->getAddr_s('from',"\n$indent"),false,false); + $from = decodeHeader($orig_header->getAddr_s('from',"\n$indent"),true,false); $from = str_replace(' ',' ',$from); - $to = decodeHeader($orig_header->getAddr_s('to',"\n$indent"),false,false); +// $to = decodeHeader($orig_header->getAddr_s('to',"\n$indent"),false,false); + $to = decodeHeader($orig_header->getAddr_s('to',"\n$indent"),true,false); $to = str_replace(' ',' ',$to); - $subject = decodeHeader($orig_header->subject,false,false); +// $subject = decodeHeader($orig_header->subject,false,false); + $subject = decodeHeader($orig_header->subject,true,false); $subject = str_replace(' ',' ',$subject); $bodyTop = str_pad(' '._("Original Message").' ',$editor_size -2,'-',STR_PAD_BOTH) . "\n". $display[_("Subject")] . $subject . "\n" . @@ -209,7 +212,8 @@ $display[_("Date")] . getLongDateString( $orig_header->date ). "\n" . $display[_("To")] . $to . "\n"; if ($orig_header->cc != array() && $orig_header->cc !='') { - $cc = decodeHeader($orig_header->getAddr_s('cc',"\n$indent"),false,false); +// $cc = decodeHeader($orig_header->getAddr_s('cc',"\n$indent"),false,false); + $cc = decodeHeader($orig_header->getAddr_s('cc',"\n$indent"),true,false); $cc = str_replace(' ',' ',$cc); $bodyTop .= $display[_("Cc")] .$cc . "\n"; } @@ -607,8 +611,9 @@ $type0 = $message->type0; $type1 = $message->type1; foreach ($entities as $ent) { - $unencoded_bodypart = mime_fetch_body($imapConnection, $passed_id, $ent); +// $unencoded_bodypart = mime_fetch_body($imapConnection, $passed_id, $ent); $body_part_entity = $message->getEntity($ent); + $unencoded_bodypart = charset_decode($body_part_entity->header->getParameter('charset'), mime_fetch_body($imapConnection, $passed_id, $ent)); $bodypart = decodeBody($unencoded_bodypart, $body_part_entity->header->encoding); if ($type1 == 'html') { @@ -667,10 +672,14 @@ case ('draft'): $use_signature = FALSE; $composeMessage->rfc822_header = $orig_header; - $send_to = decodeHeader($orig_header->getAddr_s('to'),false,true); - $send_to_cc = decodeHeader($orig_header->getAddr_s('cc'),false,true); - $send_to_bcc = decodeHeader($orig_header->getAddr_s('bcc'),false,true); - $subject = decodeHeader($orig_header->subject,false,true); +// $send_to = decodeHeader($orig_header->getAddr_s('to'),false,true); + $send_to = decodeHeader($orig_header->getAddr_s('to'),true,true); +// $send_to_cc = decodeHeader($orig_header->getAddr_s('cc'),false,true); + $send_to_cc = decodeHeader($orig_header->getAddr_s('cc'),true,true); +// $send_to_bcc = decodeHeader($orig_header->getAddr_s('bcc'),false,true); + $send_to_bcc = decodeHeader($orig_header->getAddr_s('bcc'),true,true); +// $subject = decodeHeader($orig_header->subject,false,true); + $subject = decodeHeader($orig_header->subject,true,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; @@ -684,39 +693,52 @@ } unset($body_ary[$i]); } - sqUnWordWrap($body); +// sqUnWordWrap($body); $composeMessage = getAttachments($message, $composeMessage, $passed_id, $entities, $imapConnection); break; case ('edit_as_new'): - $send_to = decodeHeader($orig_header->getAddr_s('to'),false,true); - $send_to_cc = decodeHeader($orig_header->getAddr_s('cc'),false,true); - $send_to_bcc = decodeHeader($orig_header->getAddr_s('bcc'),false,true); - $subject = decodeHeader($orig_header->subject,false,true); +// $send_to = decodeHeader($orig_header->getAddr_s('to'),false,true); + $send_to = decodeHeader($orig_header->getAddr_s('to'),true,true); +// $send_to_cc = decodeHeader($orig_header->getAddr_s('cc'),false,true); + $send_to_cc = decodeHeader($orig_header->getAddr_s('cc'),true,true); +// $send_to_bcc = decodeHeader($orig_header->getAddr_s('bcc'),false,true); + $send_to_bcc = decodeHeader($orig_header->getAddr_s('bcc'),true,true); +// $subject = decodeHeader($orig_header->subject,false,true); + $subject = decodeHeader($orig_header->subject,true,true); $mailprio = $orig_header->priority; $orig_from = ''; $composeMessage = getAttachments($message, $composeMessage, $passed_id, $entities, $imapConnection); - sqUnWordWrap($body); +// sqUnWordWrap($body); break; case ('forward'): $send_to = ''; - $subject = decodeHeader($orig_header->subject,false,true); +// $subject = decodeHeader($orig_header->subject,false,true); + $subject = decodeHeader($orig_header->subject,true,true); if ((substr(strtolower($subject), 0, 4) != 'fwd:') && (substr(strtolower($subject), 0, 5) != '[fwd:') && (substr(strtolower($subject), 0, 6) != '[ fwd:')) { $subject = '[Fwd: ' . $subject . ']'; } $body = getforwardHeader($orig_header) . $body; - sqUnWordWrap($body); +// sqUnWordWrap($body); $composeMessage = getAttachments($message, $composeMessage, $passed_id, $entities, $imapConnection); $body = "\n" . $body; break; case ('forward_as_attachment'): +// $subject = decodeHeader($orig_header->subject,false,true); + $subject = decodeHeader($orig_header->subject,true,true); + if ((substr(strtolower($subject), 0, 4) != 'fwd:') && + (substr(strtolower($subject), 0, 5) != '[fwd:') && + (substr(strtolower($subject), 0, 6) != '[ fwd:')) { + $subject = '[Fwd: ' . $subject . ']'; + } $composeMessage = getMessage_RFC822_Attachment($message, $composeMessage, $passed_id, $passed_ent_id, $imapConnection); $body = ''; break; case ('reply_all'): $send_to_cc = replyAllString($orig_header); - $send_to_cc = decodeHeader($send_to_cc,false,true); +// $send_to_cc = decodeHeader($send_to_cc,false,true); + $send_to_cc = decodeHeader($send_to_cc,true,true); case ('reply'): $send_to = $orig_header->reply_to; if (is_array($send_to) && count($send_to)) { @@ -726,8 +748,10 @@ } else { $send_to = $orig_header->getAddr_s('from'); } - $send_to = decodeHeader($send_to,false,true); - $subject = decodeHeader($orig_header->subject,false,true); +// $send_to = decodeHeader($send_to,false,true); + $send_to = decodeHeader($send_to,true,true); +// $subject = decodeHeader($orig_header->subject,false,true); + $subject = decodeHeader($orig_header->subject,true,true); $subject = str_replace('"', "'", $subject); $subject = trim($subject); if (substr(strtolower($subject), 0, 3) != 're:') {