pastebin

Paste Search Dynamic
Recent pastes
/fckeditor.asp
  1.  
  2. <%
  3. Class FCKeditor
  4.  
  5.         private sBasePath
  6.         private sInstanceName
  7.         private sWidth
  8.         private sHeight
  9.         private sToolbarSet
  10.         private sValue
  11.  
  12.         private oConfig
  13.  
  14.         Private Sub Class_Initialize()
  15.                 sBasePath               = "/fckeditor/"
  16.                 sWidth                  = "100%"
  17.                 sHeight                 = "200"
  18.                 sToolbarSet             = "Default"
  19.                 sValue                  = ""
  20.  
  21.                 Set oConfig = CreateObject("Scripting.Dictionary")
  22.         End Sub
  23.  
  24.         Public Property Let BasePath( basePathValue )
  25.                 sBasePath = basePathValue
  26.         End Property
  27.  
  28.         Public Property Let InstanceName( instanceNameValue )
  29.                 sInstanceName = instanceNameValue
  30.         End Property
  31.  
  32.         Public Property Let Width( widthValue )
  33.                 sWidth = widthValue
  34.         End Property
  35.  
  36.         Public Property Let Height( heightValue )
  37.                 sHeight = heightValue
  38.         End Property
  39.  
  40.         Public Property Let ToolbarSet( toolbarSetValue )
  41.                 sToolbarSet = toolbarSetValue
  42.         End Property
  43.  
  44.         Public Property Let Value( newValue )
  45.                 If ( IsNull( newValue ) OR IsEmpty( newValue ) ) Then
  46.                         sValue = ""
  47.                 Else
  48.                         sValue = newValue
  49.                 End If
  50.         End Property
  51.  
  52.         Public Property Let Config( configKey, configValue )
  53.                 oConfig.Add configKey, configValue
  54.         End Property
  55.  
  56.         Public Function Create( instanceName )
  57.  
  58.                 Response.Write "<div>"
  59.  
  60.                 If IsCompatible() Then
  61.  
  62.                         Dim sFile
  63.                         If Request.QueryString( "fcksource" ) = "true" Then
  64.                                 sFile = "fckeditor.original.html"
  65.                         Else
  66.                                 sFile = "fckeditor.html"
  67.                         End If
  68.  
  69.                         Dim sLink
  70.                         sLink = sBasePath & "editor/" & sFile & "?InstanceName=" + instanceName
  71.  
  72.                         If (sToolbarSet & "") <> "" Then
  73.                                 sLink = sLink + "&amp;Toolbar=" & sToolbarSet
  74.                         End If
  75.  
  76.                         ' Render the linked hidden field.
  77.                         Response.Write "<input type=""hidden"" id=""" & instanceName & """ name=""" & instanceName & """ value=""" & Server.HTMLEncode( sValue ) & """ style=""display:none"" />"
  78.  
  79.                         ' Render the configurations hidden field.
  80.                         Response.Write "<input type=""hidden"" id=""" & instanceName & "___Config"" value=""" & GetConfigFieldString() & """ style=""display:none"" />"
  81.  
  82.                         ' Render the editor IFRAME.
  83.                         Response.Write "<iframe id=""" & instanceName & "___Frame"" src=""" & sLink & """ width=""" & sWidth & """ height=""" & sHeight & """ frameborder=""0"" scrolling=""no""></iframe>"
  84.  
  85.                 Else
  86.  
  87.                         Dim sWidthCSS, sHeightCSS
  88.  
  89.                         If InStr( sWidth, "%" ) > 0  Then
  90.                                 sWidthCSS = sWidth
  91.                         Else
  92.                                 sWidthCSS = sWidth & "px"
  93.                         End If
  94.  
  95.                         If InStr( sHeight, "%" ) > 0  Then
  96.                                 sHeightCSS = sHeight
  97.                         Else
  98.                                 sHeightCSS = sHeight & "px"
  99.                         End If
  100.  
  101.                         Response.Write "<textarea name=""" & instanceName & """ rows=""4"" cols=""40"" style=""width: " & sWidthCSS & "; height: " & sHeightCSS & """>" & Server.HTMLEncode( sValue ) & "</textarea>"
  102.  
  103.                 End If
  104.  
  105.                 Response.Write "</div>"
  106.  
  107.         End Function
  108.  
  109.         Private Function IsCompatible()
  110.  
  111.                 Dim sAgent
  112.                 sAgent = Request.ServerVariables("HTTP_USER_AGENT")
  113.  
  114.                 Dim iVersion
  115.  
  116.                 If InStr(sAgent, "MSIE") > 0 AND InStr(sAgent, "mac") <= 0  AND InStr(sAgent, "Opera") <= 0 Then
  117.                         iVersion = CInt( ToNumericFormat( Mid(sAgent, InStr(sAgent, "MSIE") + 5, 3) ) )
  118.                         IsCompatible = ( iVersion >= 5.5 )
  119.                 ElseIf InStr(sAgent, "Gecko/") > 0 Then
  120.                         iVersion = CLng( Mid( sAgent, InStr( sAgent, "Gecko/" ) + 6, 8 ) )
  121.                         IsCompatible = ( iVersion >= 20030210 )
  122.                 Else
  123.                         IsCompatible = False
  124.                 End If
  125.  
  126.         End Function
  127.  
  128.         ' By Agrotic
  129.         ' On ASP, when converting string to numbers, the number decimal separator is localized
  130.         ' so 5.5 will not work on systems were the separator is "," and vice versa.
  131.         Private Function ToNumericFormat( numberStr )
  132.  
  133.                 If IsNumeric( "5.5" ) Then
  134.                         ToNumericFormat = Replace( numberStr, ",", ".")
  135.                 Else
  136.                         ToNumericFormat = Replace( numberStr, ".", ",")
  137.                 End If
  138.  
  139.         End Function
  140.  
  141.         Private Function GetConfigFieldString()
  142.  
  143.                 Dim sParams
  144.  
  145.                 Dim bFirst
  146.                 bFirst = True
  147.  
  148.                 Dim sKey
  149.                 For Each sKey in oConfig
  150.  
  151.                         If bFirst = False Then
  152.                                 sParams = sParams & "&amp;"
  153.                         Else
  154.                                 bFirst = False
  155.                         End If
  156.  
  157.                         sParams = sParams & EncodeConfig( sKey ) & "=" & EncodeConfig( oConfig(sKey) )
  158.  
  159.                 Next
  160.  
  161.                 GetConfigFieldString = sParams
  162.  
  163.         End Function
  164.  
  165.         Private Function EncodeConfig( valueToEncode )
  166.                 ' The locale of the asp server makes the conversion of a boolean to string different to "true" or "false"
  167.                 ' so we must do it manually
  168.     If vartype(valueToEncode) = vbBoolean then
  169.                         If valueToEncode=True Then
  170.                                 EncodeConfig="True"
  171.                         Else
  172.                                 EncodeConfig="False"
  173.                         End If
  174.                 Else
  175.                         EncodeConfig = Replace( valueToEncode, "&", "%26" )
  176.                         EncodeConfig = Replace( EncodeConfig , "=", "%3D" )
  177.                         EncodeConfig = Replace( EncodeConfig , """", "%22" )
  178.                 End if                          
  179.  
  180.         End Function
  181.  
  182. End Class
  183. %>
Parsed in 0.011 seconds