~ubuntu-branches/ubuntu/trusty/fusionforge/trusty

« back to all changes in this revision

Viewing changes to plugins/fckeditor/www/_samples/afp/fck.afpa.code

  • Committer: Bazaar Package Importer
  • Author(s): Roland Mas
  • Date: 2011-04-15 14:55:34 UTC
  • mfrom: (4.1.10 sid)
  • Revision ID: james.westby@ubuntu.com-20110415145534-mvn1nochufjmw177
Tags: 5.0.3-1
New upstream bugfix release.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
 * FCKeditor - The text editor for Internet - http://www.fckeditor.net
 
2
 * Copyright (C) 2003-2008 Frederico Caldeira Knabben
 
3
 *
 
4
 * == BEGIN LICENSE ==
 
5
 *
 
6
 * Licensed under the terms of any of the following licenses at your
 
7
 * choice:
 
8
 *
 
9
 *  - GNU General Public License Version 2 or later (the "GPL")
 
10
 *    http://www.gnu.org/licenses/gpl.html
 
11
 *
 
12
 *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
 
13
 *    http://www.gnu.org/licenses/lgpl.html
 
14
 *
 
15
 *  - Mozilla Public License Version 1.1 or later (the "MPL")
 
16
 *    http://www.mozilla.org/MPL/MPL-1.1.html
 
17
 *
 
18
 * == END LICENSE ==
 
19
 *
 
20
 * This is the class definition file for the sample pages.
 
21
 *
 
22
 
 
23
 DEFINE CLASS fckeditor AS custom
 
24
        cInstanceName =""
 
25
        BasePath =""
 
26
        cWIDTH =""
 
27
        cHEIGHT =""
 
28
        ToolbarSet =""
 
29
        cValue=""
 
30
        DIMENSION aConfig(10,2)
 
31
 
 
32
&& -----------------------------------------------------------------------
 
33
        FUNCTION fckeditor( tcInstanceName )
 
34
                LOCAL lnLoop,lnLoop2
 
35
                THIS.cInstanceName      = tcInstanceName
 
36
                THIS.BasePath   = '../../../FCKeditor/'
 
37
                THIS.cWIDTH             = '100%'
 
38
                THIS.cHEIGHT    = '200'
 
39
                THIS.ToolbarSet = 'Default'
 
40
                THIS.cValue             = ''
 
41
                FOR lnLoop=1 TO 10
 
42
                        FOR lnLoop2=1 TO 2
 
43
                                THIS.aConfig(lnLoop,lnLoop2)    = ""
 
44
                        NEXT
 
45
                NEXT
 
46
                RETURN
 
47
        ENDFUNC
 
48
 
 
49
 
 
50
&& -----------------------------------------------------------------------
 
51
        FUNCTION CREATE()
 
52
                RETURN(THIS.CreateHtml())
 
53
        ENDFUNC
 
54
 
 
55
&& -----------------------------------------------------------------------
 
56
        FUNCTION CreateHtml()
 
57
                LOCAL html
 
58
                LOCAL lcLink
 
59
 
 
60
                HtmlValue = THIS.cValue         && HTMLSPECIALCHARS()
 
61
 
 
62
                html = [<div>]
 
63
                IF THIS.IsCompatible()
 
64
                        lcLink = THIS.BasePath+[editor/fckeditor.html?InstanceName=]+THIS.cInstanceName
 
65
 
 
66
                        IF ( !THIS.ToolbarSet == '' )
 
67
                                lcLink = lcLink + [&Toolbar=]+THIS.ToolbarSet
 
68
                        ENDIF
 
69
 
 
70
&& Render the LINKED HIDDEN FIELD.
 
71
                        html = html + [<input type="hidden" id="]+THIS.cInstanceName +[" name="]+THIS.cInstanceName +[" value="]+HtmlValue+[">]
 
72
 
 
73
&& Render the configurations HIDDEN FIELD.
 
74
                        html = html + [<input type="hidden" id="]+THIS.cInstanceName +[___Config" value="]+THIS.GetConfigFieldString() + [">] +CHR(13)+CHR(10)
 
75
 
 
76
&& Render the EDITOR IFRAME.
 
77
                        html = html + [<iframe id="]+THIS.cInstanceName +[___Frame" src="]+lcLink+[" width="]+THIS.cWIDTH+[" height="]+THIS.cHEIGHT+[" frameborder="no" scrolling="no"></iframe>]
 
78
                ELSE
 
79
                        IF ( AT("%", THIS.cWIDTH)=0 )
 
80
                                WidthCSS = THIS.cWIDTH + 'px'
 
81
                        ELSE
 
82
                                WidthCSS = THIS.cWIDTH
 
83
                        ENDIF
 
84
 
 
85
                        IF ( AT("%",THIS.cHEIGHT)=0  )
 
86
                                HeightCSS = THIS.cHEIGHT + 'px'
 
87
                        ELSE
 
88
                                HeightCSS = THIS.cHEIGHT
 
89
                        ENDIF
 
90
 
 
91
                        html = html + [<textarea name="]+THIS.cInstanceName +[" rows="4" cols="40" style="width: ]+WidthCSS+[ height: ]+HeightCSS+[" wrap="virtual">]+HtmlValue+[</textarea>]
 
92
                ENDIF
 
93
 
 
94
                html = html + [</div>]
 
95
 
 
96
                RETURN (html)
 
97
        ENDFUNC
 
98
 
 
99
 
 
100
&& -----------------------------------------------------------------------
 
101
        FUNCTION IsCompatible()
 
102
                LOCAL llRetval
 
103
                LOCAL sAgent
 
104
 
 
105
                llRetval=.F.
 
106
 
 
107
                sAgent= LOWER(Request.ServerVariables("HTTP_USER_AGENT"))
 
108
 
 
109
                IF AT("msie",sAgent) >0 .AND. AT("mac",sAgent)=0 .AND. AT("opera",sAgent)=0
 
110
                        iVersion=VAL(SUBSTR(sAgent,AT("msie",sAgent)+5,3))
 
111
                        llRetval= iVersion > 5.5
 
112
                ELSE
 
113
                        IF AT("gecko",sAgent)>0
 
114
                                iVersion=VAL(SUBSTR(sAgent,AT("gecko/",sAgent)+6,8))
 
115
                                llRetval =iVersion > 20030210
 
116
                        ENDIF
 
117
                ENDIF
 
118
                RETURN (llRetval)
 
119
        ENDFUNC
 
120
 
 
121
&& -----------------------------------------------------------------------
 
122
        FUNCTION GetConfigFieldString()
 
123
                LOCAL sParams
 
124
                LOCAL bFirst
 
125
                LOCAL sKey
 
126
                sParams = ""
 
127
                bFirst = .T.
 
128
                FOR lnLoop=1 TO 10 && ALEN(this.aconfig)
 
129
                        IF !EMPTY(THIS.aConfig(lnLoop,1))
 
130
                                IF bFirst = .F.
 
131
                                        sParams = sParams + "&"
 
132
                                ELSE
 
133
                                        bFirst = .F.
 
134
                                ENDIF
 
135
                                sParams = sParams +THIS.aConfig(lnLoop,1)+[=]+THIS.aConfig(lnLoop,2)
 
136
                        ELSE
 
137
                                EXIT
 
138
                        ENDIF
 
139
                NEXT
 
140
                RETURN(sParams)
 
141
        ENDFUNC
 
142
&& -----------------------------------------------------------------------
 
143
&& This function removes unwanted characters in URL parameters mostly entered by hackers
 
144
 
 
145
        FUNCTION StripAttacks
 
146
                LPARAMETERS tcString
 
147
                IF !EMPTY(tcString)
 
148
                        tcString=STRTRAN(tcString,"&","")
 
149
                        tcString=STRTRAN(tcString,"?","")
 
150
                        tcString=STRTRAN(tcString,";","")
 
151
                        tcString=STRTRAN(tcString,"!","")
 
152
                        tcString=STRTRAN(tcString,"<%","")
 
153
                        tcString=STRTRAN(tcString,"%>","")
 
154
                        tcString=STRTRAN(tcString,"<","")
 
155
                        tcString=STRTRAN(tcString,">","")
 
156
                        tcString=STRTRAN(tcString,"..","")
 
157
                        tcString=STRTRAN(tcString,"/","")
 
158
                        tcString=STRTRAN(tcString,"\","")
 
159
                        tcString=STRTRAN(tcString,":","")
 
160
                ELSE
 
161
                        tcString=""
 
162
                ENDIF
 
163
                RETURN (tcString)
 
164
 
 
165
ENDDEFINE