diff options
author | thomascube <thomas@roundcube.net> | 2006-09-01 10:01:31 +0000 |
---|---|---|
committer | thomascube <thomas@roundcube.net> | 2006-09-01 10:01:31 +0000 |
commit | ea206d3d9299ce32996dcd24d49790e36f2b89a2 (patch) | |
tree | e607a652bff4d09b3d6d059d53806912d0f544b3 /program/steps/mail/get.inc | |
parent | 10c92bef09262b7d46e6c87893715bb5a2e5e4a1 (diff) |
Improved message parsing and HTML validation
Diffstat (limited to 'program/steps/mail/get.inc')
-rw-r--r-- | program/steps/mail/get.inc | 14 |
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 { |