PluginProbe
Wp-Insert / 1.7
Wp-Insert v1.7
trunk 1.0 1.1 1.2 1.2.1 1.2.2 1.3.0 1.3.1 1.3.3 1.4 1.5.0 1.5.1 1.5.2 1.5.3 1.6.0 1.6.1 1.6.2 1.7 1.7.1 1.7.2 1.7.3 1.7.4 1.7.5 1.7.6 2.0 All 63 releases
wp-insert / fckeditor / fckeditor.cfm

fckeditor.cfm in Wp-Insert 1.7, at fckeditor/fckeditor.cfm

160 lines 6.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <cfsetting enablecfoutputonly="Yes">
2 <!---
3 * FCKeditor - The text editor for Internet - http://www.fckeditor.net
4 * Copyright (C) 2003-2009 Frederico Caldeira Knabben
5 *
6 * == BEGIN LICENSE ==
7 *
8 * Licensed under the terms of any of the following licenses at your
9 * choice:
10 *
11 * - GNU General Public License Version 2 or later (the "GPL")
12 * http://www.gnu.org/licenses/gpl.html
13 *
14 * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
15 * http://www.gnu.org/licenses/lgpl.html
16 *
17 * - Mozilla Public License Version 1.1 or later (the "MPL")
18 * http://www.mozilla.org/MPL/MPL-1.1.html
19 *
20 * == END LICENSE ==
21 *
22 * ColdFusion integration.
23 * Note this module is created for use with Coldfusion 4.52 and above.
24 * For a cfc version for coldfusion mx check the fckeditor.cfc.
25 *
26 * Syntax:
27 *
28 * <cfmodule name="path/to/cfc/fckeditor"
29 * instanceName="myEditor"
30 * toolbarSet="..."
31 * width="..."
32 * height="..:"
33 * value="..."
34 * config="..."
35 * >
36 --->
37 <!--- ::
38 * Attribute validation
39 :: --->
40 <cfparam name="attributes.instanceName" type="string">
41 <cfparam name="attributes.width" type="string" default="100%">
42 <cfparam name="attributes.height" type="string" default="200">
43 <cfparam name="attributes.toolbarSet" type="string" default="Default">
44 <cfparam name="attributes.value" type="string" default="">
45 <cfparam name="attributes.basePath" type="string" default="/fckeditor/">
46 <cfparam name="attributes.checkBrowser" type="boolean" default="true">
47 <cfparam name="attributes.config" type="struct" default="#structNew()#">
48 <cfinclude template="fckutils.cfm">
49
50 <!--- ::
51 * check browser compatibility via HTTP_USER_AGENT, if checkBrowser is true
52 :: --->
53
54 <cfscript>
55 if( attributes.checkBrowser )
56 {
57 isCompatibleBrowser = FCKeditor_IsCompatibleBrowser();
58 }
59 else
60 {
61 // If we should not check browser compatibility, assume true
62 isCompatibleBrowser = true;
63 }
64 </cfscript>
65
66 <cfif isCompatibleBrowser>
67
68 <!--- ::
69 * show html editor area for compatible browser
70 :: --->
71
72 <cfscript>
73 // try to fix the basePath, if ending slash is missing
74 if( len( attributes.basePath) and right( attributes.basePath, 1 ) is not "/" )
75 attributes.basePath = attributes.basePath & "/";
76
77 // construct the url
78 sURL = attributes.basePath & "editor/fckeditor.html?InstanceName=" & attributes.instanceName;
79
80 // append toolbarset name to the url
81 if( len( attributes.toolbarSet ) )
82 sURL = sURL & "&amp;Toolbar=" & attributes.toolbarSet;
83
84 // create configuration string: Key1=Value1&Key2=Value2&... (Key/Value:HTML encoded)
85
86 /**
87 * CFML doesn't store casesensitive names for structure keys, but the configuration names must be casesensitive for js.
88 * So we need to find out the correct case for the configuration keys.
89 * We "fix" this by comparing the caseless configuration keys to a list of all available configuration options in the correct case.
90 * changed 20041206 hk@lwd.de (improvements are welcome!)
91 */
92 lConfigKeys = "";
93 lConfigKeys = lConfigKeys & "CustomConfigurationsPath,EditorAreaCSS,ToolbarComboPreviewCSS,DocType";
94 lConfigKeys = lConfigKeys & ",BaseHref,FullPage,Debug,AllowQueryStringDebug,SkinPath";
95 lConfigKeys = lConfigKeys & ",PreloadImages,PluginsPath,AutoDetectLanguage,DefaultLanguage,ContentLangDirection";
96 lConfigKeys = lConfigKeys & ",ProcessHTMLEntities,IncludeLatinEntities,IncludeGreekEntities,ProcessNumericEntities,AdditionalNumericEntities";
97 lConfigKeys = lConfigKeys & ",FillEmptyBlocks,FormatSource,FormatOutput,FormatIndentator";
98 lConfigKeys = lConfigKeys & ",StartupFocus,ForcePasteAsPlainText,AutoDetectPasteFromWord,ForceSimpleAmpersand";
99 lConfigKeys = lConfigKeys & ",TabSpaces,ShowBorders,SourcePopup,ToolbarStartExpanded,ToolbarCanCollapse";
100 lConfigKeys = lConfigKeys & ",IgnoreEmptyParagraphValue,FloatingPanelsZIndex,TemplateReplaceAll,TemplateReplaceCheckbox";
101 lConfigKeys = lConfigKeys & ",ToolbarLocation,ToolbarSets,EnterMode,ShiftEnterMode,Keystrokes";
102 lConfigKeys = lConfigKeys & ",ContextMenu,BrowserContextMenuOnCtrl,FontColors,FontNames,FontSizes";
103 lConfigKeys = lConfigKeys & ",FontFormats,StylesXmlPath,TemplatesXmlPath,SpellChecker,IeSpellDownloadUrl";
104 lConfigKeys = lConfigKeys & ",SpellerPagesServerScript,FirefoxSpellChecker,MaxUndoLevels,DisableObjectResizing,DisableFFTableHandles";
105 lConfigKeys = lConfigKeys & ",LinkDlgHideTarget ,LinkDlgHideAdvanced,ImageDlgHideLink ,ImageDlgHideAdvanced,FlashDlgHideAdvanced";
106 lConfigKeys = lConfigKeys & ",ProtectedTags,BodyId,BodyClass,DefaultLinkTarget,CleanWordKeepsStructure";
107 lConfigKeys = lConfigKeys & ",LinkBrowser,LinkBrowserURL,LinkBrowserWindowWidth,LinkBrowserWindowHeight,ImageBrowser";
108 lConfigKeys = lConfigKeys & ",ImageBrowserURL,ImageBrowserWindowWidth,ImageBrowserWindowHeight,FlashBrowser,FlashBrowserURL";
109 lConfigKeys = lConfigKeys & ",FlashBrowserWindowWidth ,FlashBrowserWindowHeight,LinkUpload,LinkUploadURL,LinkUploadWindowWidth";
110 lConfigKeys = lConfigKeys & ",LinkUploadWindowHeight,LinkUploadAllowedExtensions,LinkUploadDeniedExtensions,ImageUpload,ImageUploadURL";
111 lConfigKeys = lConfigKeys & ",ImageUploadAllowedExtensions,ImageUploadDeniedExtensions,FlashUpload,FlashUploadURL,FlashUploadAllowedExtensions";
112 lConfigKeys = lConfigKeys & ",FlashUploadDeniedExtensions,SmileyPath,SmileyImages,SmileyColumns,SmileyWindowWidth,SmileyWindowHeight";
113
114 sConfig = "";
115
116 for( key in attributes.config )
117 {
118 iPos = listFindNoCase( lConfigKeys, key );
119 if( iPos GT 0 )
120 {
121 if( len( sConfig ) )
122 sConfig = sConfig & "&amp;";
123
124 fieldValue = attributes.config[key];
125 fieldName = listGetAt( lConfigKeys, iPos );
126
127 sConfig = sConfig & urlEncodedFormat( fieldName ) & '=' & urlEncodedFormat( fieldValue );
128 }
129 }
130 </cfscript>
131
132 <cfoutput>
133 <input type="hidden" id="#attributes.instanceName#" name="#attributes.instanceName#" value="#HTMLEditFormat(attributes.value)#" style="display:none" />
134 <input type="hidden" id="#attributes.instanceName#___Config" value="#sConfig#" style="display:none" />
135 <iframe id="#attributes.instanceName#___Frame" src="#sURL#" width="#attributes.width#" height="#attributes.height#" frameborder="0" scrolling="no"></iframe>
136 </cfoutput>
137
138 <cfelse>
139
140 <!--- ::
141 * show plain textarea for non compatible browser
142 :: --->
143
144 <cfscript>
145 // append unit "px" for numeric width and/or height values
146 if( isNumeric( attributes.width ) )
147 attributes.width = attributes.width & "px";
148 if( isNumeric( attributes.height ) )
149 attributes.height = attributes.height & "px";
150 </cfscript>
151
152 <!--- Fixed Bug ##1075166. hk@lwd.de 20041206 --->
153 <cfoutput>
154 <textarea name="#attributes.instanceName#" rows="4" cols="40" style="WIDTH: #attributes.width#; HEIGHT: #attributes.height#">#HTMLEditFormat(attributes.value)#</textarea>
155 </cfoutput>
156
157 </cfif>
158
159 <cfsetting enablecfoutputonly="No"><cfexit method="exittag">
160