From 3ea0e3202a73eb7efcbf0b825582a6d3504658aa Mon Sep 17 00:00:00 2001
From: thomascube <thomas@roundcube.net>
Date: Fri, 01 Sep 2006 09:43:14 -0400
Subject: [PATCH] Quota display as image

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

diff --git a/program/steps/mail/get.inc b/program/steps/mail/get.inc
index ded6a00..083de86 100644
--- a/program/steps/mail/get.inc
+++ b/program/steps/mail/get.inc
@@ -69,12 +69,12 @@
       // send download headers
       header("Content-Type: application/octet-stream");
       header(sprintf('Content-Disposition: attachment; filename="%s"',
-                     $filename ? $filename : "roundcube.$ctype_secondary"));
+                     $filename ? rcube_imap::decode_mime_string($filename) : "roundcube.$ctype_secondary"));
       }
     else
       {
       header("Content-Type: $mimetype");
-      header(sprintf('Content-Disposition: inline; filename="%s"', $filename));
+      header(sprintf('Content-Disposition: inline; filename="%s"', rcube_imap::decode_mime_string($filename)));
       }
 
     // We need to set the following headers to make downloads work using IE in HTTPS mode.
@@ -87,16 +87,19 @@
     // 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];
 
-      print rcmail_print_body($MESSAGE['parts'][0], (bool)$_GET['_safe']);
+      // 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($part, (bool)$_GET['_safe']));
       }
     else
       {

--
Gitblit v1.9.1