GIF89a;
Direktori : /home/serb/www/fckeditor/ |
Current File : /home/serb/www/fckeditor/fckeditor.asp |
<!-- * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * File Name: fckeditor.asp * This is the integration file for ASP. * * It defines the FCKeditor class that can be used to create editor * instances in ASP pages on server side. * * Version: 2.0 RC3 * Modified: 2005-02-27 19:16:33 * * File Authors: * Frederico Caldeira Knabben (fredck@fckeditor.net) --> <% Class FCKeditor private sBasePath private sInstanceName private sWidth private sHeight private sToolbarSet private sValue private oConfig Private Sub Class_Initialize() sBasePath = "/FCKeditor/" sWidth = "100%" sHeight = "200" sToolbarSet = "Default" sValue = "" Set oConfig = CreateObject("Scripting.Dictionary") End Sub Public Property Let BasePath( basePathValue ) sBasePath = basePathValue End Property Public Property Let InstanceName( instanceNameValue ) sInstanceName = instanceNameValue End Property Public Property Let Width( widthValue ) sWidth = widthValue End Property Public Property Let Height( heightValue ) sHeight = heightValue End Property Public Property Let ToolbarSet( toolbarSetValue ) sToolbarSet = toolbarSetValue End Property Public Property Let Value( newValue ) sValue = newValue End Property Public Property Let Config( configKey, configValue ) oConfig.Add configKey, configValue End Property Public Function Create( instanceName ) Response.Write "<div>" If IsCompatible() Then Dim sLink sLink = sBasePath & "editor/fckeditor.html?InstanceName=" + instanceName If (sToolbarSet & "") <> "" Then sLink = sLink + "&Toolbar=" & sToolbarSet End If ' Render the linked hidden field. Response.Write "<input type=""hidden"" id=""" & instanceName & """ name=""" & instanceName & """ value=""" & Server.HTMLEncode( sValue ) & """>" ' Render the configurations hidden field. Response.Write "<input type=""hidden"" id=""" & instanceName & "___Config"" value=""" & GetConfigFieldString() & """>" ' Render the editor IFRAME. Response.Write "<iframe id=""" & instanceName & "___Frame"" src=""" & sLink & """ width=""" & sWidth & """ height=""" & sHeight & """ frameborder=""no"" scrolling=""no""></iframe>" Else Dim sWidthCSS, sHeightCSS If InStr( sWidth, "%" ) > 0 Then sWidthCSS = sWidth Else sWidthCSS = sWidth & "px" End If If InStr( sHeight, "%" ) > 0 Then sHeightCSS = sHeight Else sHeightCSS = sHeight & "px" End If Response.Write "<textarea name=""" & instanceName & """ rows=""4"" cols=""40"" style=""width: " & sWidthCSS & "; height: " & sHeightCSS & """ wrap=""virtual"">" & Server.HTMLEncode( sValue ) & "</textarea>" End If Response.Write "</div>" End Function Private Function IsCompatible() Dim sAgent sAgent = Request.ServerVariables("HTTP_USER_AGENT") Dim iVersion If InStr(sAgent, "MSIE") > 0 AND InStr(sAgent, "mac") <= 0 AND InStr(sAgent, "Opera") <= 0 Then iVersion = CInt( ToNumericFormat( Mid(sAgent, InStr(sAgent, "MSIE") + 5, 3) ) ) IsCompatible = ( iVersion >= 5.5 ) ElseIf InStr(sAgent, "Gecko") > 0 Then iVersion = CLng( Mid( sAgent, InStr( sAgent, "Gecko/" ) + 6, 8 ) ) IsCompatible = ( iVersion >= 20030210 ) Else IsCompatible = False End If End Function ' By Agrotic ' On ASP, when converting string to numbers, the number decimal separator is localized ' so 5.5 will not work on systems were the separator is "," and vice versa. Private Function ToNumericFormat( numberStr ) If IsNumeric( "5.5" ) Then ToNumericFormat = Replace( numberStr, ",", ".") Else ToNumericFormat = Replace( numberStr, ".", ",") End If End Function Private Function GetConfigFieldString() Dim sParams Dim bFirst bFirst = True Dim sKey For Each sKey in oConfig If bFirst = False Then sParams = sParams & "&" Else bFirst = False End If sParams = sParams & EncodeConfig( sKey ) & "=" & EncodeConfig( oConfig(sKey) ) Next GetConfigFieldString = sParams End Function Private Function EncodeConfig( valueToEncode ) EncodeConfig = Replace( valueToEncode, "&", "%26" ) EncodeConfig = Replace( EncodeConfig , "=", "%3D" ) EncodeConfig = Replace( EncodeConfig , """", "%22" ) End Function End Class %>