| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165 |
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben
- *
- * == BEGIN LICENSE ==
- *
- * Licensed under the terms of any of the following licenses at your
- * choice:
- *
- * - GNU General Public License Version 2 or later (the "GPL")
- * http://www.gnu.org/licenses/gpl.html
- *
- * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- * http://www.gnu.org/licenses/lgpl.html
- *
- * - Mozilla Public License Version 1.1 or later (the "MPL")
- * http://www.mozilla.org/MPL/MPL-1.1.html
- *
- * == END LICENSE ==
- *
- * This is the class definition file for the sample pages.
- *
- DEFINE CLASS fckeditor AS custom
- cInstanceName =""
- BasePath =""
- cWIDTH =""
- cHEIGHT =""
- ToolbarSet =""
- cValue=""
- DIMENSION aConfig(10,2)
- && -----------------------------------------------------------------------
- FUNCTION fckeditor( tcInstanceName )
- LOCAL lnLoop,lnLoop2
- THIS.cInstanceName = tcInstanceName
- THIS.BasePath = '../../../FCKeditor/'
- THIS.cWIDTH = '100%'
- THIS.cHEIGHT = '200'
- THIS.ToolbarSet = 'Default'
- THIS.cValue = ''
- FOR lnLoop=1 TO 10
- FOR lnLoop2=1 TO 2
- THIS.aConfig(lnLoop,lnLoop2) = ""
- NEXT
- NEXT
- RETURN
- ENDFUNC
- && -----------------------------------------------------------------------
- FUNCTION CREATE()
- RETURN(THIS.CreateHtml())
- ENDFUNC
- && -----------------------------------------------------------------------
- FUNCTION CreateHtml()
- LOCAL html
- LOCAL lcLink
- HtmlValue = THIS.cValue && HTMLSPECIALCHARS()
- html = [<div>]
- IF THIS.IsCompatible()
- lcLink = THIS.BasePath+[editor/fckeditor.html?InstanceName=]+THIS.cInstanceName
- IF ( !THIS.ToolbarSet == '' )
- lcLink = lcLink + [&Toolbar=]+THIS.ToolbarSet
- ENDIF
- && Render the LINKED HIDDEN FIELD.
- html = html + [<input type="hidden" id="]+THIS.cInstanceName +[" name="]+THIS.cInstanceName +[" value="]+HtmlValue+[">]
- && Render the configurations HIDDEN FIELD.
- html = html + [<input type="hidden" id="]+THIS.cInstanceName +[___Config" value="]+THIS.GetConfigFieldString() + [">] +CHR(13)+CHR(10)
- && Render the EDITOR IFRAME.
- html = html + [<iframe id="]+THIS.cInstanceName +[___Frame" src="]+lcLink+[" width="]+THIS.cWIDTH+[" height="]+THIS.cHEIGHT+[" frameborder="no" scrolling="no"></iframe>]
- ELSE
- IF ( AT("%", THIS.cWIDTH)=0 )
- WidthCSS = THIS.cWIDTH + 'px'
- ELSE
- WidthCSS = THIS.cWIDTH
- ENDIF
- IF ( AT("%",THIS.cHEIGHT)=0 )
- HeightCSS = THIS.cHEIGHT + 'px'
- ELSE
- HeightCSS = THIS.cHEIGHT
- ENDIF
- html = html + [<textarea name="]+THIS.cInstanceName +[" rows="4" cols="40" style="width: ]+WidthCSS+[ height: ]+HeightCSS+[" wrap="virtual">]+HtmlValue+[</textarea>]
- ENDIF
- html = html + [</div>]
- RETURN (html)
- ENDFUNC
- && -----------------------------------------------------------------------
- FUNCTION IsCompatible()
- LOCAL llRetval
- LOCAL sAgent
- llRetval=.F.
- sAgent= LOWER(Request.ServerVariables("HTTP_USER_AGENT"))
- IF AT("msie",sAgent) >0 .AND. AT("mac",sAgent)=0 .AND. AT("opera",sAgent)=0
- iVersion=VAL(SUBSTR(sAgent,AT("msie",sAgent)+5,3))
- llRetval= iVersion > 5.5
- ELSE
- IF AT("gecko",sAgent)>0
- iVersion=VAL(SUBSTR(sAgent,AT("gecko/",sAgent)+6,8))
- llRetval =iVersion > 20030210
- ENDIF
- ENDIF
- RETURN (llRetval)
- ENDFUNC
- && -----------------------------------------------------------------------
- FUNCTION GetConfigFieldString()
- LOCAL sParams
- LOCAL bFirst
- LOCAL sKey
- sParams = ""
- bFirst = .T.
- FOR lnLoop=1 TO 10 && ALEN(this.aconfig)
- IF !EMPTY(THIS.aConfig(lnLoop,1))
- IF bFirst = .F.
- sParams = sParams + "&"
- ELSE
- bFirst = .F.
- ENDIF
- sParams = sParams +THIS.aConfig(lnLoop,1)+[=]+THIS.aConfig(lnLoop,2)
- ELSE
- EXIT
- ENDIF
- NEXT
- RETURN(sParams)
- ENDFUNC
- && -----------------------------------------------------------------------
- && This function removes unwanted characters in URL parameters mostly entered by hackers
- FUNCTION StripAttacks
- LPARAMETERS tcString
- IF !EMPTY(tcString)
- tcString=STRTRAN(tcString,"&","")
- tcString=STRTRAN(tcString,"?","")
- tcString=STRTRAN(tcString,";","")
- tcString=STRTRAN(tcString,"!","")
- tcString=STRTRAN(tcString,"<%","")
- tcString=STRTRAN(tcString,"%>","")
- tcString=STRTRAN(tcString,"<","")
- tcString=STRTRAN(tcString,">","")
- tcString=STRTRAN(tcString,"..","")
- tcString=STRTRAN(tcString,"/","")
- tcString=STRTRAN(tcString,"\","")
- tcString=STRTRAN(tcString,":","")
- ELSE
- tcString=""
- ENDIF
- RETURN (tcString)
- ENDDEFINE
|