summaryrefslogtreecommitdiff
path: root/program/steps/mail/get.inc
diff options
context:
space:
mode:
authorthomascube <thomas@roundcube.net>2006-09-01 10:01:31 +0000
committerthomascube <thomas@roundcube.net>2006-09-01 10:01:31 +0000
commitea206d3d9299ce32996dcd24d49790e36f2b89a2 (patch)
treee607a652bff4d09b3d6d059d53806912d0f544b3 /program/steps/mail/get.inc
parent10c92bef09262b7d46e6c87893715bb5a2e5e4a1 (diff)
Improved message parsing and HTML validation
Diffstat (limited to 'program/steps/mail/get.inc')
-rw-r--r--program/steps/mail/get.inc14
1 files changed, 8 insertions, 6 deletions
diff --git a/program/steps/mail/get.inc b/program/steps/mail/get.inc
index f05bbbd94..083de8664 100644
--- a/program/steps/mail/get.inc
+++ b/program/steps/mail/get.inc
@@ -87,17 +87,19 @@ else if ($pid = get_input_value('_part', RCUBE_INPUT_GET))
// deliver part content
if ($ctype_primary=='text' && $ctype_secondary=='html')
{
- // get part body if not available
- if (!$part->body)
- $part->body = $IMAP->get_message_part($MESSAGE['UID'], $part->mime_id, $part);
-
- list($MESSAGE['parts']) = rcmail_parse_message($part,
+ // we have to analyze the whole structure again to find inline objects
+ list($MESSAGE['parts']) = rcmail_parse_message($MESSAGE['structure'],
array('safe' => (bool)$_GET['_safe'],
'prefer_html' => TRUE,
'get_url' => $GET_URL.'&_part=%s'));
+ $part = &$MESSAGE['parts'][0];
+
+ // get part body if not available
+ if (!$part->body)
+ $part->body = $IMAP->get_message_part($MESSAGE['UID'], $part->mime_id, $part);
$OUTPUT = new rcube_html_page();
- $OUTPUT->write(rcmail_print_body($MESSAGE['parts'][0], (bool)$_GET['_safe']));
+ $OUTPUT->write(rcmail_print_body($part, (bool)$_GET['_safe']));
}
else
{