From bb85623f8ab1eb263cb0bfac6e1758438eaa5bd2 Mon Sep 17 00:00:00 2001
From: svncommit <devs@roundcube.net>
Date: Sun, 07 Jan 2007 21:26:47 -0500
Subject: [PATCH] fixed display of HTML attachments

---
 program/steps/mail/get.inc |   18 +++++++++++-------
 1 files changed, 11 insertions(+), 7 deletions(-)

diff --git a/program/steps/mail/get.inc b/program/steps/mail/get.inc
index e1ae281..995a485 100644
--- a/program/steps/mail/get.inc
+++ b/program/steps/mail/get.inc
@@ -88,15 +88,20 @@
     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
       {
       // turn off output buffering and print part content
-      //@ob_end_clean();
       $IMAP->get_message_part($MESSAGE['UID'], $part->mime_id, $part->encoding, true);
       }
 

--
Gitblit v1.9.1