Index: branches/2.8.x/CHANGELOG
===================================================================
--- branches/2.8.x/CHANGELOG	(revision 1827)
+++ branches/2.8.x/CHANGELOG	(revision 1828)
@@ -13,7 +13,10 @@
 
 
 
-20 Nov-2012 Build 1826 Dietmar Woellbrink (Luisehahne)
+22 Nov-2012 Build 1828 Dietmar Woellbrink (Luisehahne)
+! Update Checks if a browser's user agent string is compatible with the FCKeditor.
+! Set WebsiteBaker Module Version to 2.9.8
+20 Nov-2012 Build 1827 Dietmar Woellbrink (Luisehahne)
 # force FCKeditor to work with Firefox 17
 20 Nov-2012 Build 1826 Dietmar Woellbrink (Luisehahne)
 # fixed to big preview images in media
Index: branches/2.8.x/wb/admin/interface/version.php
===================================================================
--- branches/2.8.x/wb/admin/interface/version.php	(revision 1827)
+++ branches/2.8.x/wb/admin/interface/version.php	(revision 1828)
@@ -51,5 +51,5 @@
 
 // check if defined to avoid errors during installation (redirect to admin panel fails if PHP error/warnings are enabled)
 if(!defined('VERSION')) define('VERSION', '2.8.3');
-if(!defined('REVISION')) define('REVISION', '1827');
+if(!defined('REVISION')) define('REVISION', '1828');
 if(!defined('SP')) define('SP', '');
Index: branches/2.8.x/wb/modules/fckeditor/info.php
===================================================================
--- branches/2.8.x/wb/modules/fckeditor/info.php	(revision 1827)
+++ branches/2.8.x/wb/modules/fckeditor/info.php	(revision 1828)
@@ -19,7 +19,7 @@
 $module_directory		= 'fckeditor';
 $module_name			= 'FCKeditor';
 $module_function		= 'WYSIWYG';
-$module_version			= '2.9.7.2';
+$module_version			= '2.9.8';
 $module_platform		= '2.7 | 2.8.x';
 $module_requirements    = 'PHP 4.3.11 or higher, WB 2.7 or higher';
 $module_author 			= 'Christian Sommer, P. Widlund, S. Braunewell, M. Gallas, Wouldlouper, Aldus, Luisehahne';
Index: branches/2.8.x/wb/modules/fckeditor/fckeditor/editor/dialog/fck_about.html
===================================================================
--- branches/2.8.x/wb/modules/fckeditor/fckeditor/editor/dialog/fck_about.html	(revision 1827)
+++ branches/2.8.x/wb/modules/fckeditor/fckeditor/editor/dialog/fck_about.html	(revision 1828)
@@ -130,8 +130,8 @@
             <tr>
                 <td colspan="2" align="center" valign="middle">
 					<span fcklang="DlgAboutModule" style="font-size: 12px" dir="ltr">
-                    Modified for WebsiteBaker Version 2.8.2 and higher<br />Modulversion
-                    </span>2.9.7.1
+                    Modified for WebsiteBaker Version 2.8.x and higher<br />Modulversion
+                    </span>2.9.8
                 </td>
             </tr>
 		</table>
Index: branches/2.8.x/wb/modules/fckeditor/fckeditor/fckeditor_php5.php
===================================================================
--- branches/2.8.x/wb/modules/fckeditor/fckeditor/fckeditor_php5.php	(revision 1827)
+++ branches/2.8.x/wb/modules/fckeditor/fckeditor/fckeditor_php5.php	(revision 1828)
@@ -25,6 +25,7 @@
  * instances in PHP pages on server side.
  */
 
+
 /**
  * Check if browser is compatible with FCKeditor.
  * Return true if is compatible.
@@ -33,43 +34,47 @@
  */
 function FCKeditor_IsCompatibleBrowser()
 {
-	if ( isset( $_SERVER ) ) {
-		$sAgent = $_SERVER['HTTP_USER_AGENT'] ;
-	}
-	else {
-		global $HTTP_SERVER_VARS ;
-		if ( isset( $HTTP_SERVER_VARS ) ) {
-			$sAgent = $HTTP_SERVER_VARS['HTTP_USER_AGENT'] ;
-		}
-		else {
-			global $HTTP_USER_AGENT ;
-			$sAgent = $HTTP_USER_AGENT ;
-		}
-	}
+    $sAgent = 'sorry';
+    if ( isset( $_SERVER['HTTP_USER_AGENT'] ) ) {
+        $sAgent = $_SERVER['HTTP_USER_AGENT'] ;
+    } else {
+        if( isset( $GLOBALS['HTTP_SERVER_VARS']['HTTP_USER_AGENT'] )) {
+            $sAgent = $GLOBALS['HTTP_SERVER_VARS']['HTTP_USER_AGENT'] ;
+        } else {
+            if( isset( $GLOBALS['HTTP_USER_AGENT'] )) {
+                $sAgent = $GLOBALS['HTTP_USER_AGENT'];
+            }
+        }
+    }
 
-	if ( strpos($sAgent, 'MSIE') !== false && strpos($sAgent, 'mac') === false && strpos($sAgent, 'Opera') === false )
-	{
-		$iVersion = (float)substr($sAgent, strpos($sAgent, 'MSIE') + 5, 3) ;
-		return ($iVersion >= 5.5) ;
-	}
-	else if ( strpos($sAgent, 'Gecko/') !== false )
-	{
-		$iVersion = (int)substr($sAgent, strpos($sAgent, 'Gecko/') + 6, 8) ;
-		return ($iVersion >= 3.5) ;
-//		return ($iVersion >= 20030210) ;
-	}
-	else if ( strpos($sAgent, 'Opera/') !== false )
-	{
-		$fVersion = (float)substr($sAgent, strpos($sAgent, 'Opera/') + 6, 4) ;
-		return ($fVersion >= 9.5) ;
-	}
-	else if ( preg_match( "|AppleWebKit/(\d+)|i", $sAgent, $matches ) )
-	{
-		$iVersion = $matches[1] ;
-		return ( $matches[1] >= 522 ) ;
-	}
-	else
-		return false ;
+    // check for client agent
+    $bRetval = false;
+    if(preg_match('/ gecko\/([0-9.]+)/si', $sAgent, $aMatches)) {
+        // [Gecko] Firefox, SeaMonkey and most Gecko based browsers
+        if(strpos($aMatches[1], '.')) {
+            // Versions from Gecko 17.0 up
+            $bRetval = version_compare($aMatches[1], '4.0', '>=');
+        } else {
+            // versions before Gecko 17.0
+            if((int)$aMatches[1] >= 20030210) { $bRetval = true; }
+        }
+    } elseif(preg_match('/ applewebkit\/([0-9.]+)/si', $sAgent, $aMatches)) {
+        // [AppleWebKit] Crome, Safari
+        $bRetval = version_compare($aMatches[1], '522', '>=');
+    } elseif(preg_match('/^opera\/([0-9.]+)/si', $sAgent, $aMatches)) {
+        // [Opera] Opera
+        $bRetval = version_compare($aMatches[1], '9.5', '>=');
+    } elseif(preg_match('/^mozilla\/[\d.]+\s\(.*?msie[^\)]*\(.*?\ msie\ ([0-9.]+);/si', $sAgent, $aMatches)) {
+        // [MSIE] Internetexplorer compatibility mode
+        $bRetval = version_compare($aMatches[1], '5.5', '>=');
+    } elseif(preg_match('/^mozilla\/[\d.]+\s\(.*?\ msie\ ([0-9.]+);/si', $sAgent, $aMatches)) {
+        // [MSIE] Internetexplorer
+        $bRetval = version_compare($aMatches[1], '5.5', '>=');
+    } else {
+        // undefined client agent
+        $bRetval = false;
+    }
+    return $bRetval;
 }
 
 class FCKeditor
