From 2a5afe1cdeb177642d10567687df460fd220802d Mon Sep 17 00:00:00 2001
From: Aleksander Machniak <alec@alec.pl>
Date: Mon, 12 Nov 2012 04:41:22 -0500
Subject: [PATCH] BINARY extension can't be used with $formatting=true on binary content

---
 program/include/rcube_imap.php         |    2 +-
 program/include/rcube_imap_generic.php |    3 ++-
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/program/include/rcube_imap.php b/program/include/rcube_imap.php
index a89fd16..f2645f6 100644
--- a/program/include/rcube_imap.php
+++ b/program/include/rcube_imap.php
@@ -2074,7 +2074,7 @@
 
         if ($o_part && $o_part->size) {
             $body = $this->conn->handlePartBody($this->folder, $uid, true,
-                $part ? $part : 'TEXT', $o_part->encoding, $print, $fp);
+                $part ? $part : 'TEXT', $o_part->encoding, $print, $fp, $o_part->ctype_primary == 'text');
         }
 
         if ($fp || $print) {
diff --git a/program/include/rcube_imap_generic.php b/program/include/rcube_imap_generic.php
index 651de9d..bc7ecfc 100644
--- a/program/include/rcube_imap_generic.php
+++ b/program/include/rcube_imap_generic.php
@@ -2379,7 +2379,7 @@
         return $this->handlePartBody($mailbox, $id, $is_uid, $part);
     }
 
-    function handlePartBody($mailbox, $id, $is_uid=false, $part='', $encoding=NULL, $print=NULL, $file=NULL, $formatted=true)
+    function handlePartBody($mailbox, $id, $is_uid=false, $part='', $encoding=NULL, $print=NULL, $file=NULL, $formatted=false)
     {
         if (!$this->select($mailbox)) {
             return false;
@@ -2417,6 +2417,7 @@
         }
 
         if ($binary) {
+            // WARNING: Use $formatting argument with care, this may break binary data stream
             $mode = -1;
         }
 

--
Gitblit v1.9.1