Foros del Web » Programando para Internet » ASP Clásico »

compatibilidad datos editor

Estas en el tema de compatibilidad datos editor en el foro de ASP Clásico en Foros del Web. Hola. Mi problema es el siguiente: Tengo una web donde edito el texto mediante un editor. Este se carga al pinchar un botón. Hasta el ...
  #1 (permalink)  
Antiguo 01/06/2010, 02:38
 
Fecha de Ingreso: enero-2007
Mensajes: 284
Antigüedad: 17 años, 10 meses
Puntos: 1
compatibilidad datos editor

Hola.
Mi problema es el siguiente:

Tengo una web donde edito el texto mediante un editor. Este se carga al pinchar un botón. Hasta el dia de hoy me ha funcionado perfectamente. El problema viene cuando el hosting que tenemos nos lo actualizan de windows2003 a windows2008.

He encontrado donde esta el error pero no se como solucionarlo (todo esto lo realizo un compañero que ya no esta y me toca a mi solucionarlo). El error que me da es:

Microsoft VBScript runtime error '800a000d'
Type mismatch: 'Server.HTMLEncode'
/fckeditor/fckeditor.asp, line 106

El problema es que tengo los campos de tipo text y es ahi donde falla ya que si los pongo a varchar carga el editor perfectamente.

El editor que utilizo es el FCKEDITOR. Este es el codigo asp de donde da el error:

<%
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 )
If ( IsNull( newValue ) OR IsEmpty( newValue ) ) Then
sValue = ""
Else
sValue = newValue
End If
End Property

Public Property Let Config( configKey, configValue )
oConfig.Add configKey, configValue
End Property

' Generates the instace of the editor in the HTML output of the page.
Public Sub Create( instanceName )
response.write CreateHtml( instanceName )
end Sub

' Returns the html code that must be used to generate an instance of FCKeditor.
Public Function CreateHtml( instanceName )
dim html

If IsCompatible() Then

Dim sFile, sLink
If Request.QueryString( "fcksource" ) = "true" Then
sFile = "fckeditor.original.html"
Else
sFile = "fckeditor.html"
End If

sLink = sBasePath & "editor/" & sFile & "?InstanceName=" + instanceName

If (sToolbarSet & "") <> "" Then
sLink = sLink + "&amp;Toolbar=" & sToolbarSet
End If

****error****
html = ""
' Render the linked hidden field.
html = html & "<input type=""hidden"" id=""" & instanceName & """ name=""" & instanceName & """ value=""" & Server.HTMLEncode( sValue ) & """ style=""display:none"" />"

' Render the configurations hidden field.
html = html & "<input type=""hidden"" id=""" & instanceName & "___Config"" value=""" & GetConfigFieldString() & """ style=""display:none"" />"

' Render the editor IFRAME.
html = html & "<iframe id=""" & instanceName & "___Frame"" src=""" & sLink & """ width=""" & sWidth & """ height=""" & sHeight & """ frameborder=""0"" 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

html = "<textarea name=""" & instanceName & """ rows=""4"" cols=""40"" style=""width: " & sWidthCSS & "; height: " & sHeightCSS & """>" & Server.HTMLEncode( sValue ) & "</textarea>"

End If

CreateHtml = html

End Function

Private Function IsCompatible()

IsCompatible = FCKeditor_IsCompatibleBrowser()

End Function

Private Function GetConfigFieldString()

Dim sParams

Dim bFirst
bFirst = True

Dim sKey
For Each sKey in oConfig

If bFirst = False Then
sParams = sParams & "&amp;"
Else
bFirst = False
End If

sParams = sParams & EncodeConfig( sKey ) & "=" & EncodeConfig( oConfig(sKey) )

Next

GetConfigFieldString = sParams

End Function

Private Function EncodeConfig( valueToEncode )
' The locale of the asp server makes the conversion of a boolean to string different to "true" or "false"
' so we must do it manually
If vartype(valueToEncode) = vbBoolean then
If valueToEncode=True Then
EncodeConfig="True"
Else
EncodeConfig="False"
End If
Else
EncodeConfig = Replace( valueToEncode, "&", "%26" )
EncodeConfig = Replace( EncodeConfig , "=", "%3D" )
EncodeConfig = Replace( EncodeConfig , """", "%22" )
End if

End Function

End Class


' A function that can be used to check if the current browser is compatible with FCKeditor
' without the need to create an instance of the class.
Function FCKeditor_IsCompatibleBrowser()


Dim sAgent
sAgent = Request.ServerVariables("HTTP_USER_AGENT")

Dim iVersion
Dim re, Matches

If InStr(sAgent, "MSIE") > 0 AND InStr(sAgent, "mac") <= 0 AND InStr(sAgent, "Opera") <= 0 Then
iVersion = CInt( FCKeditor_ToNumericFormat( Mid(sAgent, InStr(sAgent, "MSIE") + 5, 3) ) )
FCKeditor_IsCompatibleBrowser = ( iVersion >= 5.5 )
ElseIf InStr(sAgent, "Gecko/") > 0 Then
iVersion = CLng( Mid( sAgent, InStr( sAgent, "Gecko/" ) + 6, 8 ) )
FCKeditor_IsCompatibleBrowser = ( iVersion >= 20030210 )
ElseIf InStr(sAgent, "Opera/") > 0 Then
iVersion = CSng( FCKeditor_ToNumericFormat( Mid( sAgent, InStr( sAgent, "Opera/" ) + 6, 4 ) ) )
FCKeditor_IsCompatibleBrowser = ( iVersion >= 9.5 )
ElseIf InStr(sAgent, "AppleWebKit/") > 0 Then
Set re = new RegExp
re.IgnoreCase = true
re.global = false
re.Pattern = "AppleWebKit/(\d+)"
Set Matches = re.Execute(sAgent)
FCKeditor_IsCompatibleBrowser = ( re.Replace(Matches.Item(0).Value, "$1") >= 522 )
Else
FCKeditor_IsCompatibleBrowser = 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 FCKeditor_ToNumericFormat( numberStr )

If IsNumeric( "5.5" ) Then
FCKeditor_ToNumericFormat = Replace( numberStr, ",", ".")
Else
FCKeditor_ToNumericFormat = Replace( numberStr, ".", ",")
End If

End Function

%>


Si alguien sabe de alguna manera de solucionarlo estaria muy agradecido. Si necesitais mas información o cualquier cosa me comentais.

Gracias y un saludo.
  #2 (permalink)  
Antiguo 08/06/2010, 02:28
 
Fecha de Ingreso: enero-2007
Mensajes: 284
Antigüedad: 17 años, 10 meses
Puntos: 1
Respuesta: compatibilidad datos editor

Nadie sabe la solución? necesito urgentemente solucionarlo.

Gracias.
  #3 (permalink)  
Antiguo 15/06/2010, 03:15
 
Fecha de Ingreso: enero-2007
Mensajes: 284
Antigüedad: 17 años, 10 meses
Puntos: 1
Respuesta: compatibilidad datos editor

Alguien sabe de un editor que funcione en IIS7 o que hay que modificar en el fckeditor???

gracias.
  #4 (permalink)  
Antiguo 05/07/2010, 05:33
 
Fecha de Ingreso: enero-2007
Mensajes: 284
Antigüedad: 17 años, 10 meses
Puntos: 1
Respuesta: compatibilidad datos editor

Desde la pagina donde llamo al editor tengo este codigo

...
<%
Dim oFCKeditor
Set oFCKeditor = new FCKeditor
oFCKeditor.BasePath = "/fckeditor/"

oFCKeditor.Value =rs("texto1")

oFCKeditor.Create "FCKeditor1"
%>
...

en cambio si en vez de poner oFCKeditor.Value =rs("texto1") pongo por ejem:

oFCKeditor.Value ="hola"

si que funciona bien.

Alguna idea de como poner el valor del campo.

Gracias.

Etiquetas: compatibilidad, editor
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:59.