|
|
|
@ -93,6 +93,8 @@ if (empty($RCMAIL->action) || $RCMAIL->action == 'list')
|
|
|
|
|
$OUTPUT->set_env('read_when_deleted', true);
|
|
|
|
|
if ($CONFIG['skip_deleted'])
|
|
|
|
|
$OUTPUT->set_env('skip_deleted', true);
|
|
|
|
|
if ($CONFIG['display_next'])
|
|
|
|
|
$OUTPUT->set_env('display_next', true);
|
|
|
|
|
|
|
|
|
|
if ($CONFIG['trash_mbox'])
|
|
|
|
|
$OUTPUT->set_env('trash_mailbox', $CONFIG['trash_mbox']);
|
|
|
|
@ -686,17 +688,15 @@ function rcmail_wash_html($html, $p = array(), $cid_replaces)
|
|
|
|
|
$html = preg_replace_callback('/(<[\/!]*)([^ >]+)/', 'rcmail_html_tag_callback', $html);
|
|
|
|
|
|
|
|
|
|
// charset was converted to UTF-8 in rcube_imap::get_message_part(),
|
|
|
|
|
// -> change charset specification in HTML accordingly
|
|
|
|
|
$charset_pattern = '(content=[\'"]?\w+\/\w+;\s*charset)=([a-z0-9-_]+)';
|
|
|
|
|
if (preg_match("/<meta\s+[^>]*$charset_pattern/Ui", $html)) {
|
|
|
|
|
$html = preg_replace("/\s+$charset_pattern/i", '\\1='.RCMAIL_CHARSET, $html);
|
|
|
|
|
// change charset specification in HTML accordingly
|
|
|
|
|
$charset_pattern = '/(\s+content=[\'"]?\w+\/\w+;\s*charset)=([a-z0-9-_]+)/i';
|
|
|
|
|
if (preg_match($charset_pattern, $html)) {
|
|
|
|
|
$html = preg_replace($charset_pattern, '\\1='.RCMAIL_CHARSET, $html);
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
// add meta content-type to malformed messages, washtml cannot work without that
|
|
|
|
|
// add head for malformed messages, washtml cannot work without that
|
|
|
|
|
if (!preg_match('/<head[^>]*>(.*)<\/head>/Uims', $html))
|
|
|
|
|
$html = '<head></head>'. $html;
|
|
|
|
|
$html = substr_replace($html, '<meta http-equiv="Content-Type" content="text/html; charset='.RCMAIL_CHARSET.'" />', intval(stripos($html, '<head>')+6), 0);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// turn relative into absolute urls
|
|
|
|
|
$html = rcmail_resolve_base($html);
|
|
|
|
|