summaryrefslogtreecommitdiff
path: root/program/steps/mail
diff options
context:
space:
mode:
authorthomascube <thomas@roundcube.net>2008-06-05 17:35:12 +0000
committerthomascube <thomas@roundcube.net>2008-06-05 17:35:12 +0000
commitcfe4a6baf462c0befa06b283366945130cabfa5b (patch)
tree83d74e1c6fa50a71c4e893359630de247bc5c05a /program/steps/mail
parent077070381f4e97e98c5edf3ce6b456c4c57d057d (diff)
Fix structure parsing and html output for multipart messages
Diffstat (limited to 'program/steps/mail')
-rw-r--r--program/steps/mail/func.inc9
1 files changed, 7 insertions, 2 deletions
diff --git a/program/steps/mail/func.inc b/program/steps/mail/func.inc
index ddaf29063..79a84ccb4 100644
--- a/program/steps/mail/func.inc
+++ b/program/steps/mail/func.inc
@@ -549,6 +549,7 @@ function rcmail_print_body($part, $safe=false, $plain=false)
}
// text/enriched
else if ($part->ctype_secondary=='enriched') {
+ $part->ctype_secondary = 'html';
return Q(enriched_to_html($body), 'show');
}
else
@@ -645,6 +646,10 @@ function rcmail_message_headers($attrib, $headers=NULL)
// get associative array of headers object
if (!$headers)
$headers = is_object($MESSAGE->headers) ? get_object_vars($MESSAGE->headers) : $MESSAGE->headers;
+
+ // add empty subject if none exsists
+ if (empty($headers['subject']))
+ $headers['subject'] = rcube_label('nosubject');
$header_count = 0;
@@ -720,7 +725,7 @@ function rcmail_message_body($attrib)
$body = rcmail_print_body($part, $safe_mode, !$CONFIG['prefer_html']);
- if ($part->ctype_secondary != 'plain')
+ if ($part->ctype_secondary == 'html')
$out .= html::div('message-htmlpart', rcmail_html4inline($body, $attrib['id']));
else
$out .= html::div('message-part', $body);
@@ -728,7 +733,7 @@ function rcmail_message_body($attrib)
}
}
else
- $out .= html::div('message-part', html::div('pre', $MESSAGE->body));
+ $out .= html::div('message-part', html::div('pre', Q($MESSAGE->body)));
$ctype_primary = strtolower($MESSAGE->structure->ctype_primary);