From 1088d667458ae03a54fcb4b8d290f6218e84d304 Mon Sep 17 00:00:00 2001 From: alecpl <alec@alec.pl> Date: Mon, 05 May 2008 05:59:56 -0400 Subject: [PATCH] - Do charset conversion also for from/to column on messages list --- program/steps/mail/func.inc | 30 ++++++++++++++++-------------- 1 files changed, 16 insertions(+), 14 deletions(-) diff --git a/program/steps/mail/func.inc b/program/steps/mail/func.inc index 393fcaa..34586dd 100644 --- a/program/steps/mail/func.inc +++ b/program/steps/mail/func.inc @@ -19,7 +19,6 @@ */ -require_once('lib/html2text.inc'); require_once('lib/enriched.inc'); require_once('include/rcube_smtp.inc'); @@ -72,10 +71,10 @@ $OUTPUT->set_env('junk_mailbox', $CONFIG['junk_mbox']); if (!$OUTPUT->ajax_call) - rcube_add_label('checkingmail', 'deletemessage', 'movemessagetotrash'); + rcube_add_label('checkingmail', 'deletemessage', 'movemessagetotrash', 'movingmessage'); // set page title -if (empty($_action) || $_action == 'list') +if (empty($RCMAIL->action) || $RCMAIL->action == 'list') $OUTPUT->set_pagetitle(rcmail_localize_foldername($IMAP->get_mailbox_name())); @@ -232,12 +231,12 @@ $zebra_class); $out .= sprintf("<td class=\"icon\">%s</td>\n", $message_icon ? sprintf($image_tag, $skin_path, $message_icon, '') : ''); - + // format each col foreach ($a_show_cols as $col) { if ($col=='from' || $col=='to') - $cont = Q(rcmail_address_string($header->$col, 3, $attrib['addicon']), 'show'); + $cont = Q(rcmail_address_string(rcube_imap::decode_mime_string($header->$col, $header->charset), 3, $attrib['addicon']), 'show'); else if ($col=='subject') { $action = $mbox==$CONFIG['drafts_mbox'] ? 'compose' : 'show'; @@ -326,7 +325,7 @@ foreach ($a_show_cols as $col) { if ($col=='from' || $col=='to') - $cont = Q(rcmail_address_string($header->$col, 3), 'show'); + $cont = Q(rcmail_address_string(rcube_imap::decode_mime_string($header->$col, $header->charset), 3), 'show'); else if ($col=='subject') { $action = $mbox==$CONFIG['drafts_mbox'] ? 'compose' : 'show'; @@ -971,7 +970,7 @@ continue; if ($hkey=='date' && !empty($headers[$hkey])) - $header_value = format_date(strtotime($headers[$hkey])); + $header_value = format_date($headers[$hkey]); else if (in_array($hkey, array('from', 'to', 'cc', 'bcc', 'reply-to'))) $header_value = Q(rcmail_address_string($headers[$hkey], NULL, $attrib['addicon']), 'show'); else @@ -1140,7 +1139,8 @@ // add comments arround html and other tags $out = preg_replace(array( - '/(<!DOCTYPE.+)/i', + '/(<!DOCTYPE[^>]*>)/i', + '/(<\?xml[^>]*>)/i', '/(<\/?html[^>]*>)/i', '/(<\/?head[^>]*>)/i', '/(<title[^>]*>.*<\/title>)/Ui', @@ -1277,7 +1277,7 @@ function rcmail_address_string($input, $max=NULL, $addicon=NULL) { global $IMAP, $PRINT_MODE, $CONFIG, $OUTPUT, $EMAIL_ADDRESS_PATTERN; - + $a_parts = $IMAP->decode_address_list($input); if (!sizeof($a_parts)) @@ -1291,7 +1291,7 @@ { $j++; if ($PRINT_MODE) - $out .= sprintf('%s <%s>', Q($part['name']), $part['mailto']); + $out .= sprintf('%s <%s>', Q(rcube_charset_convert($part['name'])), $part['mailto']); else if (preg_match($EMAIL_ADDRESS_PATTERN, $part['mailto'])) { $out .= sprintf('<a href="mailto:%s" onclick="return %s.command(\'compose\',\'%s\',this)" class="rcmContactAddress" title="%s">%s</a>', @@ -1419,10 +1419,12 @@ // clean Bcc from header for recipients $send_headers = $headers; unset($send_headers['Bcc']); + // here too, it because txtHeaders() below use $message->_headers not only $send_headers + unset($message->_headers['Bcc']); // send message $smtp_response = array(); - $sent = smtp_mail($from, $a_recipients, ($foo = $message->txtHeaders($send_headers)), $msg_body, $smtp_response); + $sent = smtp_mail($from, $a_recipients, ($foo = $message->txtHeaders($send_headers, true)), $msg_body, $smtp_response); // log error if (!$sent) @@ -1473,7 +1475,7 @@ $recipient = array_shift($IMAP->decode_address_list($message['headers']->mdn_to)); $mailto = $recipient['mailto']; - $compose = new rc_mail_mime(rcmail_header_delm()); + $compose = new rcube_mail_mime(rcmail_header_delm()); $compose->setParam(array( 'text_encoding' => 'quoted-printable', 'html_encoding' => 'quoted-printable', @@ -1500,7 +1502,7 @@ $body = rcube_label("yourmessage") . "\r\n\r\n" . "\t" . rcube_label("to") . ': ' . rcube_imap::decode_mime_string($message['headers']->to, $message['headers']->charset) . "\r\n" . "\t" . rcube_label("subject") . ': ' . $message['subject'] . "\r\n" . - "\t" . rcube_label("sent") . ': ' . format_date(strtotime($message['headers']->date), $CONFIG['date_long']) . "\r\n" . + "\t" . rcube_label("sent") . ': ' . format_date($message['headers']->date, $CONFIG['date_long']) . "\r\n" . "\r\n" . rcube_label("receiptnote") . "\r\n"; $ua = !empty($CONFIG['useragent']) ? $CONFIG['useragent'] : "RoundCube Webmail (Version ".RCMAIL_VERSION.")"; @@ -1541,7 +1543,7 @@ 'messagecontentframe' => 'rcmail_messagecontent_frame', 'messagepartframe' => 'rcmail_message_part_frame', 'messagepartcontrols' => 'rcmail_message_part_controls', - 'searchform' => 'rcmail_search_form' + 'searchform' => array($OUTPUT, 'search_form'), )); ?> -- Gitblit v1.9.1