forked from extern/egroupware
78 lines
2.3 KiB
Plaintext
78 lines
2.3 KiB
Plaintext
|
<!---
|
||
|
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
||
|
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
||
|
*
|
||
|
* == BEGIN LICENSE ==
|
||
|
*
|
||
|
* Licensed under the terms of any of the following licenses at your
|
||
|
* choice:
|
||
|
*
|
||
|
* - GNU General Public License Version 2 or later (the "GPL")
|
||
|
* http://www.gnu.org/licenses/gpl.html
|
||
|
*
|
||
|
* - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
|
||
|
* http://www.gnu.org/licenses/lgpl.html
|
||
|
*
|
||
|
* - Mozilla Public License Version 1.1 or later (the "MPL")
|
||
|
* http://www.mozilla.org/MPL/MPL-1.1.html
|
||
|
*
|
||
|
* == END LICENSE ==
|
||
|
*
|
||
|
* ColdFusion integration.
|
||
|
* This function is used by FCKeditor module to check browser compatibility
|
||
|
--->
|
||
|
<cfscript>
|
||
|
function FCKeditor_IsCompatibleBrowser()
|
||
|
{
|
||
|
sAgent = lCase( cgi.HTTP_USER_AGENT );
|
||
|
isCompatibleBrowser = false;
|
||
|
|
||
|
// check for Internet Explorer ( >= 5.5 )
|
||
|
if( find( "msie", sAgent ) and not find( "mac", sAgent ) and not find( "opera", sAgent ) )
|
||
|
{
|
||
|
// try to extract IE version
|
||
|
stResult = reFind( "msie ([5-9]\.[0-9])", sAgent, 1, true );
|
||
|
if( arrayLen( stResult.pos ) eq 2 )
|
||
|
{
|
||
|
// get IE Version
|
||
|
sBrowserVersion = mid( sAgent, stResult.pos[2], stResult.len[2] );
|
||
|
if( sBrowserVersion GTE 5.5 )
|
||
|
isCompatibleBrowser = true;
|
||
|
}
|
||
|
}
|
||
|
// check for Gecko ( >= 20030210+ )
|
||
|
else if( find( "gecko/", sAgent ) )
|
||
|
{
|
||
|
// try to extract Gecko version date
|
||
|
stResult = reFind( "gecko/(200[3-9][0-1][0-9][0-3][0-9])", sAgent, 1, true );
|
||
|
if( arrayLen( stResult.pos ) eq 2 )
|
||
|
{
|
||
|
// get Gecko build (i18n date)
|
||
|
sBrowserVersion = mid( sAgent, stResult.pos[2], stResult.len[2] );
|
||
|
if( sBrowserVersion GTE 20030210 )
|
||
|
isCompatibleBrowser = true;
|
||
|
}
|
||
|
}
|
||
|
else if( find( "opera/", sAgent ) )
|
||
|
{
|
||
|
// try to extract Opera version
|
||
|
stResult = reFind( "opera/([0-9]+\.[0-9]+)", sAgent, 1, true );
|
||
|
if( arrayLen( stResult.pos ) eq 2 )
|
||
|
{
|
||
|
if ( mid( sAgent, stResult.pos[2], stResult.len[2] ) gte 9.5)
|
||
|
isCompatibleBrowser = true;
|
||
|
}
|
||
|
}
|
||
|
else if( find( "applewebkit", sAgent ) )
|
||
|
{
|
||
|
// try to extract Gecko version date
|
||
|
stResult = reFind( "applewebkit/([0-9]+)", sAgent, 1, true );
|
||
|
if( arrayLen( stResult.pos ) eq 2 )
|
||
|
{
|
||
|
if( mid( sAgent, stResult.pos[2], stResult.len[2] ) gte 522 )
|
||
|
isCompatibleBrowser = true;
|
||
|
}
|
||
|
}
|
||
|
return isCompatibleBrowser;
|
||
|
}
|
||
|
</cfscript>
|