Fixes vim mode line.
[banana.git] / banana / message.func.inc.php
index ea9e11f..ee03660 100644 (file)
@@ -41,7 +41,7 @@ function banana_quote($line, $level, $mark = '>')
     $lines = explode("\n", $line);
     $quote = str_repeat($mark, $level);
     foreach ($lines as &$line) {
-        $line = $quote . $line;
+        $line = $quote . ' ' . $line;
     }
     return implode("\n", $lines);
 }
@@ -223,7 +223,7 @@ function banana_wrap($text, $base_level = 0, $strict = true)
             if (!empty($buffer)) {
                 $text  .= banana_wordwrap(implode("\n", $buffer), $level + $base_level) . "\n";
                 $buffer = array();
-            }    
+            }
             $level  = $lvl;
         }
         $buffer[] = $line;
@@ -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)
@@ -350,7 +354,7 @@ function banana_filterCss($css)
     }
     return $css;
 }
-    
+
 /**
  * @return string
  * @param string
@@ -362,7 +366,7 @@ function banana_cleanHtml($source, $to_xhtml = false)
         $tidy_config = array('drop-empty-paras' => true,
                              'drop-proprietary-attributes' => true,
                              'hide-comments' => true,
-                             'logical-emphasis' => true, 
+                             'logical-emphasis' => true,
                              'output-xhtml' => true,
                              'replace-color' => true,
                              'join-classes'  => false,
@@ -410,7 +414,7 @@ function banana_cleanHtml($source, $to_xhtml = false)
     // Use inlined style instead of old html attributes
     if ($to_xhtml) {
         $source = preg_replace('/<(\/?\w+)(.*?)(\/?>)/muise', "'<\\1' . banana_cleanStyles('\\1', '\\2') . '\\3'", $source);
-    }    
+    }
     return preg_replace('/<(.*?)>/ie', "'<'.banana_removeEvilAttributes('\\1').'>'", $source);
 }
 
@@ -485,7 +489,7 @@ function banana_htmlToPlainText($res)
     $res = trim(strip_tags($res, '<div><br><p><blockquote>'));
     $res = preg_replace("@</?(br|p|div).*?>@si", "\n", $res);
     $res = banana__convertQuotes($res);
-    return banana_html_entity_decode($res);    
+    return banana_html_entity_decode($res);
 }
 
 function banana_formatHtml(BananaMimePart $part)
@@ -494,7 +498,7 @@ function banana_formatHtml(BananaMimePart $part)
     $text = banana_catchHtmlSignature($text);
     if (!Banana::$msgshow_externalimages) {
         $text = banana_hideExternalImages($text);
-    }    
+    }
     $text = banana_catchPartLinks($text);
     return banana_cleanHtml($text, true);
 }
@@ -560,5 +564,5 @@ function banana_quoteRichtText(BananaMimePart $part)
 
 // }}}
 
-// vim:set et sw=4 sts=4 ts=4 enc=utf-8:
+// vim:set et sw=4 sts=4 ts=4 fenc=utf-8:
 ?>