summaryrefslogtreecommitdiff
path: root/roundcubemail/program/steps/mail/get.inc
diff options
context:
space:
mode:
authorthomasb <thomasb@208e9e7b-5314-0410-a742-e7e81cd9613c>2006-09-01 10:01:31 +0000
committerthomasb <thomasb@208e9e7b-5314-0410-a742-e7e81cd9613c>2006-09-01 10:01:31 +0000
commit1093fa882ad848bedd4c0fbd41204e84169b9623 (patch)
tree0d6dc43e1e3b0eeb27b68f455946df2b7cec59e1 /roundcubemail/program/steps/mail/get.inc
parent8f5f407073eb77599803823450d8c3e7fdc8d344 (diff)
Improved message parsing and HTML validation
git-svn-id: https://svn.roundcube.net/trunk@330 208e9e7b-5314-0410-a742-e7e81cd9613c
Diffstat (limited to 'roundcubemail/program/steps/mail/get.inc')
-rw-r--r--roundcubemail/program/steps/mail/get.inc14
1 files changed, 8 insertions, 6 deletions
diff --git a/roundcubemail/program/steps/mail/get.inc b/roundcubemail/program/steps/mail/get.inc
index f05bbbd94..083de8664 100644
--- a/roundcubemail/program/steps/mail/get.inc
+++ b/roundcubemail/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
{