fixed display of HTML attachments

release-0.6
svncommit 18 years ago
parent 21b5c77fb0
commit bb85623f8a

@ -1,11 +1,17 @@
CHANGELOG RoundCube Webmail
---------------------------
2007/01/07 (estadtherr)
----------
- Fixed display of HTML message attachments (closes #1484178)
2007/01/07 (thomasb)
----------
- Applied patch for preview caching (closes #1484186)
- Added Thai and Vietnamese localization files
2006/12/29 (thomasb)
----------
- Added error handling for attachment uploads

@ -1121,7 +1121,7 @@ class rcube_imap
/**
* Return a flat array with references to all parts, indexed by part numbmers
* Return a flat array with references to all parts, indexed by part numbers
*
* @param object Message body structure
* @return Array with part number -> object pairs

@ -973,7 +973,7 @@ function rcmail_parse_message(&$structure, $arg=array(), $recursive=FALSE)
else if ($mail_part->disposition=='attachment' || $mail_part->disposition=='inline' || $mail_part->headers['content-id'] ||
(empty($mail_part->disposition) && ($mail_part->d_parameters['filename'] || $mail_part->ctype_parameters['name'])))
{
// skip apple ressource files
// skip apple resource forks
if ($message_ctype_secondary=='appledouble' && $secondary_type=='applefile')
continue;
@ -995,7 +995,6 @@ function rcmail_parse_message(&$structure, $arg=array(), $recursive=FALSE)
}
}
// if this was a related part try to resolve references
if ($message_ctype_secondary=='related' && sizeof($sa_inline_objects))
{
@ -1501,4 +1500,4 @@ function rcmail_compose_cleanup()
}
?>
?>

@ -88,15 +88,20 @@ else if ($pid = get_input_value('_part', RCUBE_INPUT_GET))
if ($ctype_primary=='text' && $ctype_secondary=='html')
{
// 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];
list($new_parts, $new_attachments) =
rcmail_parse_message($MESSAGE['structure'],
array('safe' => (bool)$_GET['_safe'],
'prefer_html' => TRUE,
'get_url' => $GET_URL.'&_part=%s'));
$all_parts = array_merge($new_parts, $new_attachments);
for ($partix = 0; $partix < sizeof($all_parts); $partix++)
if ($all_parts[$partix]->mime_id == $pid)
$part = &$all_parts[$partix];
// get part body if not available
if (!$part->body)
$part->body = $IMAP->get_message_part($MESSAGE['UID'], $part->mime_id, $part);
$part->body = $IMAP->get_message_part($MESSAGE['UID'], $part->mime_id, $part);
$OUTPUT = new rcube_html_page();
$OUTPUT->write(rcmail_print_body($part, (bool)$_GET['_safe']));
@ -104,7 +109,6 @@ else if ($pid = get_input_value('_part', RCUBE_INPUT_GET))
else
{
// turn off output buffering and print part content
//@ob_end_clean();
$IMAP->get_message_part($MESSAGE['UID'], $part->mime_id, $part->encoding, true);
}

Loading…
Cancel
Save