PluginProbe
Wp-Insert / 1.6.0
Wp-Insert v1.6.0
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.asp

fckeditor.asp in Wp-Insert 1.6.0, at fckeditor/fckeditor.asp

236 lines 6.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <!--
2 * FCKeditor - The text editor for Internet - http://www.fckeditor.net
3 * Copyright (C) 2003-2009 Frederico Caldeira Knabben
4 *
5 * == BEGIN LICENSE ==
6 *
7 * Licensed under the terms of any of the following licenses at your
8 * choice:
9 *
10 * - GNU General Public License Version 2 or later (the "GPL")
11 * http://www.gnu.org/licenses/gpl.html
12 *
13 * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
14 * http://www.gnu.org/licenses/lgpl.html
15 *
16 * - Mozilla Public License Version 1.1 or later (the "MPL")
17 * http://www.mozilla.org/MPL/MPL-1.1.html
18 *
19 * == END LICENSE ==
20 *
21 * This is the integration file for ASP.
22 *
23 * It defines the FCKeditor class that can be used to create editor
24 * instances in ASP pages on server side.
25 -->
26 <%
27 Class FCKeditor
28
29 private sBasePath
30 private sInstanceName
31 private sWidth
32 private sHeight
33 private sToolbarSet
34 private sValue
35
36 private oConfig
37
38 Private Sub Class_Initialize()
39 sBasePath = "/fckeditor/"
40 sWidth = "100%"
41 sHeight = "200"
42 sToolbarSet = "Default"
43 sValue = ""
44
45 Set oConfig = CreateObject("Scripting.Dictionary")
46 End Sub
47
48 Public Property Let BasePath( basePathValue )
49 sBasePath = basePathValue
50 End Property
51
52 Public Property Let InstanceName( instanceNameValue )
53 sInstanceName = instanceNameValue
54 End Property
55
56 Public Property Let Width( widthValue )
57 sWidth = widthValue
58 End Property
59
60 Public Property Let Height( heightValue )
61 sHeight = heightValue
62 End Property
63
64 Public Property Let ToolbarSet( toolbarSetValue )
65 sToolbarSet = toolbarSetValue
66 End Property
67
68 Public Property Let Value( newValue )
69 If ( IsNull( newValue ) OR IsEmpty( newValue ) ) Then
70 sValue = ""
71 Else
72 sValue = newValue
73 End If
74 End Property
75
76 Public Property Let Config( configKey, configValue )
77 oConfig.Add configKey, configValue
78 End Property
79
80 ' Generates the instace of the editor in the HTML output of the page.
81 Public Sub Create( instanceName )
82 response.write CreateHtml( instanceName )
83 end Sub
84
85 ' Returns the html code that must be used to generate an instance of FCKeditor.
86 Public Function CreateHtml( instanceName )
87 dim html
88
89 If IsCompatible() Then
90
91 Dim sFile, sLink
92 If Request.QueryString( "fcksource" ) = "true" Then
93 sFile = "fckeditor.original.html"
94 Else
95 sFile = "fckeditor.html"
96 End If
97
98 sLink = sBasePath & "editor/" & sFile & "?InstanceName=" + instanceName
99
100 If (sToolbarSet & "") <> "" Then
101 sLink = sLink + "&amp;Toolbar=" & sToolbarSet
102 End If
103
104 html = ""
105 ' Render the linked hidden field.
106 html = html & "<input type=""hidden"" id=""" & instanceName & """ name=""" & instanceName & """ value=""" & Server.HTMLEncode( sValue ) & """ style=""display:none"" />"
107
108 ' Render the configurations hidden field.
109 html = html & "<input type=""hidden"" id=""" & instanceName & "___Config"" value=""" & GetConfigFieldString() & """ style=""display:none"" />"
110
111 ' Render the editor IFRAME.
112 html = html & "<iframe id=""" & instanceName & "___Frame"" src=""" & sLink & """ width=""" & sWidth & """ height=""" & sHeight & """ frameborder=""0"" scrolling=""no""></iframe>"
113
114 Else
115
116 Dim sWidthCSS, sHeightCSS
117
118 If InStr( sWidth, "%" ) > 0 Then
119 sWidthCSS = sWidth
120 Else
121 sWidthCSS = sWidth & "px"
122 End If
123
124 If InStr( sHeight, "%" ) > 0 Then
125 sHeightCSS = sHeight
126 Else
127 sHeightCSS = sHeight & "px"
128 End If
129
130 html = "<textarea name=""" & instanceName & """ rows=""4"" cols=""40"" style=""width: " & sWidthCSS & "; height: " & sHeightCSS & """>" & Server.HTMLEncode( sValue ) & "</textarea>"
131
132 End If
133
134 CreateHtml = html
135
136 End Function
137
138 Private Function IsCompatible()
139
140 IsCompatible = FCKeditor_IsCompatibleBrowser()
141
142 End Function
143
144 Private Function GetConfigFieldString()
145
146 Dim sParams
147
148 Dim bFirst
149 bFirst = True
150
151 Dim sKey
152 For Each sKey in oConfig
153
154 If bFirst = False Then
155 sParams = sParams & "&amp;"
156 Else
157 bFirst = False
158 End If
159
160 sParams = sParams & EncodeConfig( sKey ) & "=" & EncodeConfig( oConfig(sKey) )
161
162 Next
163
164 GetConfigFieldString = sParams
165
166 End Function
167
168 Private Function EncodeConfig( valueToEncode )
169 ' The locale of the asp server makes the conversion of a boolean to string different to "true" or "false"
170 ' so we must do it manually
171 If vartype(valueToEncode) = vbBoolean then
172 If valueToEncode=True Then
173 EncodeConfig="True"
174 Else
175 EncodeConfig="False"
176 End If
177 Else
178 EncodeConfig = Replace( valueToEncode, "&", "%26" )
179 EncodeConfig = Replace( EncodeConfig , "=", "%3D" )
180 EncodeConfig = Replace( EncodeConfig , """", "%22" )
181 End if
182
183 End Function
184
185 End Class
186
187
188 ' A function that can be used to check if the current browser is compatible with FCKeditor
189 ' without the need to create an instance of the class.
190 Function FCKeditor_IsCompatibleBrowser()
191
192
193 Dim sAgent
194 sAgent = Request.ServerVariables("HTTP_USER_AGENT")
195
196 Dim iVersion
197 Dim re, Matches
198
199 If InStr(sAgent, "MSIE") > 0 AND InStr(sAgent, "mac") <= 0 AND InStr(sAgent, "Opera") <= 0 Then
200 iVersion = CInt( FCKeditor_ToNumericFormat( Mid(sAgent, InStr(sAgent, "MSIE") + 5, 3) ) )
201 FCKeditor_IsCompatibleBrowser = ( iVersion >= 5.5 )
202 ElseIf InStr(sAgent, "Gecko/") > 0 Then
203 iVersion = CLng( Mid( sAgent, InStr( sAgent, "Gecko/" ) + 6, 8 ) )
204 FCKeditor_IsCompatibleBrowser = ( iVersion >= 20030210 )
205 ElseIf InStr(sAgent, "Opera/") > 0 Then
206 iVersion = CSng( FCKeditor_ToNumericFormat( Mid( sAgent, InStr( sAgent, "Opera/" ) + 6, 4 ) ) )
207 FCKeditor_IsCompatibleBrowser = ( iVersion >= 9.5 )
208 ElseIf InStr(sAgent, "AppleWebKit/") > 0 Then
209 Set re = new RegExp
210 re.IgnoreCase = true
211 re.global = false
212 re.Pattern = "AppleWebKit/(\d+)"
213 Set Matches = re.Execute(sAgent)
214 FCKeditor_IsCompatibleBrowser = ( re.Replace(Matches.Item(0).Value, "$1") >= 522 )
215 Else
216 FCKeditor_IsCompatibleBrowser = False
217 End If
218
219 End Function
220
221
222 ' By Agrotic
223 ' On ASP, when converting string to numbers, the number decimal separator is localized
224 ' so 5.5 will not work on systems were the separator is "," and vice versa.
225 Private Function FCKeditor_ToNumericFormat( numberStr )
226
227 If IsNumeric( "5.5" ) Then
228 FCKeditor_ToNumericFormat = Replace( numberStr, ",", ".")
229 Else
230 FCKeditor_ToNumericFormat = Replace( numberStr, ".", ",")
231 End If
232
233 End Function
234
235 %>
236