Index: trunk/CHANGELOG
===================================================================
--- trunk/CHANGELOG	(revision 883)
+++ trunk/CHANGELOG	(revision 884)
@@ -10,8 +10,10 @@
 # = Bugfix
 ! = Update/Change
 
-------------------------------------- 2.7.1 -------------------------------------
-27-Nov-2008 Thomas Hornik
+------------------------------------- 2.7.1 -------------------------------------
+28-Oct-2008 Christian Sommer
+!	updated output filter regex to exclude mail addresses contained in input fields
+27-Nov-2008 Thomas Hornik
 !	added redirect-type (301/302) to menu_link
 24-Nov-2008 Matthias Gallas
 !	updated upgrade-script.php to add sec_anchor field to settings table
Index: trunk/wb/modules/output_filter/filter-routines.php
===================================================================
--- trunk/wb/modules/output_filter/filter-routines.php	(revision 883)
+++ trunk/wb/modules/output_filter/filter-routines.php	(revision 884)
@@ -91,7 +91,7 @@
 		// first search part to find all mailto email addresses
 		$pattern = '#(<a[^<]*href\s*?=\s*?"\s*?mailto\s*?:\s*?)([A-Z0-9._%+-]+@(?:[A-Z0-9-]+\.)+[A-Z]{2,4})([^"]*?)"([^>]*>)(.*?)</a>';
 		// second part to find all non mailto email addresses
-		$pattern .= '|\b([A-Z0-9._%+-]+@(?:[A-Z0-9-]+\.)+[A-Z]{2,4})\b#i';
+		$pattern .= '|(value\s*=\s*"|\')??\b([A-Z0-9._%+-]+@(?:[A-Z0-9-]+\.)+[A-Z]{2,4})\b#i';
 		/*
 		Sub 1:\b(<a.[^<]*href\s*?=\s*?"\s*?mailto\s*?:\s*?)			-->	"<a id="yyy" class="xxx" href = " mailto :" ignoring white spaces
 		Sub 2:([A-Z0-9._%+-]+@(?:[A-Z0-9-]+\.)+[A-Z]{2,4})			-->	the email address in the mailto: part of the mail link
@@ -120,8 +120,8 @@
 		$search = array('@', '.');
 		$replace = array(OUTPUT_FILTER_AT_REPLACEMENT ,OUTPUT_FILTER_DOT_REPLACEMENT);
 		
-		// check if the match contains the expected number of subpatterns (6|7)
-		if(count($match) == 7) {
+		// check if the match contains the expected number of subpatterns (6|8)
+		if(count($match) == 8) {
 			/**
 				OUTPUT FILTER FOR EMAIL ADDRESSES EMBEDDED IN TEXT
 			**/
@@ -128,6 +128,9 @@
 			
 			// 1.. text mails only, 3.. text mails + mailto (no JS), 7 text mails + mailto (JS)
 			if(!in_array(OUTPUT_FILTER_MODE, array(1,3,7))) return $match[0];
+
+			// do not filter mail addresses included in input tags (<input ... value = "test@mail)
+			if (strpos($match[6], 'value') !== false) return $match[0];
 			
 			// filtering of non mailto email addresses enabled
 			return str_replace($search, $replace, $match[0]);
