Bug #4299: Fix dimming signatures when mixed with quoted text
authorMichael M Slusarz <slusarz@curecanti.org>
Tue, 13 Oct 2009 00:45:50 +0000 (18:45 -0600)
committerMichael M Slusarz <slusarz@curecanti.org>
Tue, 13 Oct 2009 00:46:27 +0000 (18:46 -0600)
framework/Text_Filter/lib/Horde/Text/Filter/Dimsignature.php
framework/Text_Filter/package.xml

index 07ee6c3..5833e9b 100644 (file)
@@ -22,12 +22,14 @@ class Horde_Text_Filter_Dimsignature extends Horde_Text_Filter
      */
     public function postProcess($text)
     {
-        $parts = preg_split('|(\n--\s*(?:<br />)?\r?\n)|', $text, -1, PREG_SPLIT_DELIM_CAPTURE);
-        $num_parts = count($parts);
-        if ($num_parts > 2) {
-            return implode('', array_slice($parts, 0, -2))
-                . '<span class="signature">' . $parts[$num_parts - 2]
-                . $parts[$num_parts - 1] . '</span>';
+        $parts = preg_split('/(\n--\s*(?:<br \/>)?\r?\n.*?)(?=<\/?(?:div|span)|$\s)/is', $text, -1, PREG_SPLIT_DELIM_CAPTURE);
+        $text = '';
+
+        while (count($parts)) {
+            $text .= array_shift($parts);
+            if (count($parts)) {
+                $text .= '<span class="signature">' . array_shift($parts) . '</span>';
+            }
         }
 
         return $text;
index 647f2f0..08d66dc 100644 (file)
@@ -37,7 +37,8 @@ http://pear.php.net/dtd/package-2.0.xsd">
   <api>beta</api>
  </stability>
  <license uri="http://www.gnu.org/copyleft/lesser.html">LGPL</license>
- <notes>* Added javscript minify filter.
+ <notes>* Fix dimming signatures when mixed with quoted text (Bug #4299).
+ * Added javscript minify filter.
  * Add support for using the tidy extension when filtering HTML data.
  * Initial Horde 4 package.
  </notes>