File: fckutils.cfm

package info (click to toggle)
fckeditor 1:2.6.6-1squeeze1
  • links: PTS
  • area: main
  • in suites: squeeze
  • size: 5,556 kB
  • ctags: 26,935
  • sloc: perl: 1,566; php: 1,097; python: 786; xml: 373; makefile: 32
file content (78 lines) | stat: -rw-r--r-- 2,380 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
<!---
 * FCKeditor - The text editor for Internet - http://www.fckeditor.net
 * Copyright (C) 2003-2010 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/([0-9]{8})", 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>