Add support for custom message formatter.
authorFlorent Bruneau <florent.bruneau@polytechnique.org>
Sun, 8 May 2011 18:31:37 +0000 (20:31 +0200)
committerFlorent Bruneau <florent.bruneau@polytechnique.org>
Sun, 8 May 2011 18:31:37 +0000 (20:31 +0200)
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
banana/message.func.inc.php
banana/mimepart.inc.php

index ea9e11f..928dbb9 100644 (file)
@@ -240,8 +240,12 @@ function banana_formatPlainText(BananaMimePart $part, $base_level = 0)
     if ($part->isFlowed()) {
         $text = banana_unflowed($text);
     }
-    $text = banana_wrap($text, $base_level, $part->isFlowed());
-    return banana_plainTextToHtml($text, $part->isFlowed());
+    if (function_exists('hook_formatPart') && ($ret = hook_formatPart($text, $part, $base_level))) {
+        return $ret;
+    } else {
+        $text = banana_wrap($text, $base_level, $part->isFlowed());
+        return banana_plainTextToHtml($text, $part->isFlowed());
+    }
 }
 
 function banana_quotePlainText(BananaMimePart $part)
index 9a4b6ff..d086dbf 100644 (file)
@@ -124,7 +124,7 @@ class BananaMimePart
         return false;
     }
 
-    protected function getHeader($title, $filter = null)
+    public function getHeader($title, $filter = null)
     {
         if (!isset($this->headers[$title])) {
             return null;
@@ -308,7 +308,7 @@ class BananaMimePart
                 if (strpos($line, ':') !== false) {
                     list($hdr, $val) = explode(":", $line, 2);
                     $hdr = strtolower($hdr);
-                    if (in_array($hdr, Banana::$msgparse_headers)) {  
+                    if (in_array($hdr, Banana::$msgparse_headers)) {
                         $headers[$hdr] = ltrim($val);
                     } else {
                         unset($hdr);
@@ -453,9 +453,9 @@ class BananaMimePart
 
     public function toHtml()
     {
-        $signed =& $this->getSignedPart(); 
-        if ($signed !== $this) { 
-            return $signed->toHtml(); 
+        $signed =& $this->getSignedPart();
+        if ($signed !== $this) {
+            return $signed->toHtml();
         }
         @list($type, $subtype) = $this->getType();
         if ($type == 'image') {