[root@mail squirrelmail-1.4.8]# diff -wuN ./src/compose.php /var/www/squirrelmail/src/compose.php --- ./src/compose.php 2006-08-03 22:48:09.000000000 +0800 +++ /var/www/squirrelmail/src/compose.php 2014-07-21 08:00:13.813566843 +0800
@@ -529,7 +553,8 @@ } $signature = getSig($data_dir, $username, $no); } - $body .= "\n\n".($prefix_sig==true? "-- \n":'').$signature; + $prefixsig = "++++++++++++++++++++++"; //dywang + $body .= "\n\n".($prefix_sig==true? $prefixsig."\n" :'').$signature."\n".$prefixsig; if ($compose_new_win == '1') { compose_Header($color, $mailbox); } else {
@@ -691,9 +716,12 @@ $actual = 'us-ascii'; } - if ( $actual && is_conversion_safe($actual) && $actual != $default_charset){ - $bodypart = charset_convert($actual,$bodypart,$default_charset,false); - } + $bodypart = utf8convert($bodypart,$actural); //dywang + $bodypart = preg_replace("/(\r?\n)\\1+/","\\1",$bodypart); //dywang + $bodypart = preg_replace("/([\s]*<br>\n)+/","<br>\n",$bodypart); //dywang $body .= $bodypart;
@@ -845,7 +874,9 @@ sqsession_register($compose_messages, 'compose_messages'); session_write_close(); sqimap_logout($imapConnection); + if(!stristr($subject,$default_charset)) $subject = $default_charset . $subject; //dywang } $ret = array( 'send_to' => $send_to, 'send_to_cc' => $send_to_cc, 'send_to_bcc' => $send_to_bcc,
@@ -882,7 +913,8 @@ $filename = $message->getFilename(); break; } - $filename = decodeHeader($filename, false, false); + $filename = decodeHeader($filename,false,false,true); //dywang must debug + $filename = utf8convert($filename,''); if (isset($languages[$squirrelmail_language]['XTRA_CODE']) && function_exists($languages[$squirrelmail_language]['XTRA_CODE'])) { $filename = $languages[$squirrelmail_language]['XTRA_CODE']('encode', $filename);
@@ -958,6 +990,7 @@ $username, $compose_messages, $composesession, $default_charset, $javascript_on; + $prefixsig = "++++++++++++++++++++++"; //dywang if ($javascript_on) $onfocus = ' onfocus="alreadyFocused=true;"'; else
@@ -973,9 +1006,9 @@ $body = $values['body']; $identity = (int) $values['identity']; } else { - $send_to = decodeHeader($send_to, true, false); - $send_to_cc = decodeHeader($send_to_cc, true, false); - $send_to_bcc = decodeHeader($send_to_bcc, true, false); + $send_to = decodeHeader($send_to, true, false,true); //dywang + $send_to_cc = decodeHeader($send_to_cc, true, false,true); + $send_to_bcc = decodeHeader($send_to_bcc, true, false,true); } if ($use_javascript_addr_book) {
@@ -1132,18 +1167,18 @@ if ($sig_first == '1') { if ($default_charset == 'iso-2022-jp') { - echo "\n\n".($prefix_sig==true? "-- \n":'').mb_convert_encoding($signature, 'EUC-JP'); + echo "\n\n\n".($prefix_sig==true? $prefixsig."\n":'').mb_convert_encoding($signature, 'EUC-JP')."\n".$prefixsig; } else { - echo "\n\n".($prefix_sig==true? "-- \n":'').decodeHeader($signature,false,false,true); + echo "\n\n\n".($prefix_sig==true? $prefixsig."\n":'').decodeHeader($signature,false,false,true)."\n".$prefixsig; } echo "\n\n".htmlspecialchars(decodeHeader($body,false,false,true)); } else { - echo "\n\n".htmlspecialchars(decodeHeader($body,false,false,true)); + echo "\n\n\n".htmlspecialchars(decodeHeader($body,false,false,true)); if ($default_charset == 'iso-2022-jp') { - echo "\n\n".($prefix_sig==true? "-- \n":'').mb_convert_encoding($signature, 'EUC-JP'); + echo "\n".($prefix_sig==true? $prefixsig."\n":'').mb_convert_encoding($signature, 'EUC-JP')."\n".$prefixsig; }else{ - echo "\n\n".($prefix_sig==true? "-- \n":'').decodeHeader($signature,false,false,true); + echo "\n".($prefix_sig==true? $prefixsig."\n":'').decodeHeader($signature,false,false,true)."\n".$prefixsig; } } } else {
@@ -1213,7 +1248,8 @@ foreach ($composeMessage->entities as $key => $attachment) { $attached_file = $attachment->att_local_name; if ($attachment->att_local_name || $attachment->body_part) { - $attached_filename = decodeHeader($attachment->mime_header->getParameter('name')); + $attached_filename = decodeHeader($attachment->mime_header->getParameter('name'),false,false,true);//dywang $type = $attachment->mime_header->type0.'/'. $attachment->mime_header->type1;