~ubuntu-branches/ubuntu/natty/moin/natty-updates

« back to all changes in this revision

Viewing changes to MoinMoin/web/static/htdocs/applets/FCKeditor/fckeditor.lasso

  • Committer: Bazaar Package Importer
  • Author(s): Jonas Smedegaard
  • Date: 2008-06-22 21:17:13 UTC
  • mto: This revision was merged to the branch mainline in revision 18.
  • Revision ID: james.westby@ubuntu.com-20080622211713-inlv5k4eifxckelr
ImportĀ upstreamĀ versionĀ 1.7.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
[//lasso
2
 
/*
3
 
 * FCKeditor - The text editor for Internet - http://www.fckeditor.net
4
 
 * Copyright (C) 2003-2010 Frederico Caldeira Knabben
5
 
 *
6
 
 * == BEGIN LICENSE ==
7
 
 *
8
 
 * Licensed under the terms of any of the following licenses at your
9
 
 * choice:
10
 
 *
11
 
 *  - GNU General Public License Version 2 or later (the "GPL")
12
 
 *    http://www.gnu.org/licenses/gpl.html
13
 
 *
14
 
 *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
15
 
 *    http://www.gnu.org/licenses/lgpl.html
16
 
 *
17
 
 *  - Mozilla Public License Version 1.1 or later (the "MPL")
18
 
 *    http://www.mozilla.org/MPL/MPL-1.1.html
19
 
 *
20
 
 * == END LICENSE ==
21
 
 *
22
 
 * This is the integration file for Lasso.
23
 
 *
24
 
 * It defines the FCKeditor class ("custom type" in Lasso terms) that can
25
 
 * be used to create editor instances in Lasso pages on server side.
26
 
 */
27
 
 
28
 
        define_type(
29
 
                'editor',
30
 
                -namespace='fck_',
31
 
                -description='Creates an instance of FCKEditor.'
32
 
        );
33
 
                local(
34
 
                        'instancename'  =       'FCKEditor1',
35
 
                        'width'                 =       '100%',
36
 
                        'height'                =       '200',
37
 
                        'toolbarset'    =       'Default',
38
 
                        'initialvalue'  =       string,
39
 
                        'basepath'              =       '/fckeditor/',
40
 
                        'config'                =       array,
41
 
                        'checkbrowser'  =       true,
42
 
                        'displayerrors' =       false
43
 
                );
44
 
 
45
 
                define_tag(
46
 
                        'onCreate',
47
 
                        -required='instancename', -type='string',
48
 
                        -optional='width', -type='string',
49
 
                        -optional='height', -type='string',
50
 
                        -optional='toolbarset', -type='string',
51
 
                        -optional='initialvalue', -type='string',
52
 
                        -optional='basepath', -type='string',
53
 
                        -optional='config', -type='array'
54
 
                );
55
 
                        self->instancename = #instancename;
56
 
                        local_defined('width') ? self->width = #width;
57
 
                        local_defined('height') ? self->height = #height;
58
 
                        local_defined('toolbarset') ? self->toolbarset = #toolbarset;
59
 
                        local_defined('initialvalue') ? self->initialvalue = #initialvalue;
60
 
                        local_defined('basepath') ? self->basepath = #basepath;
61
 
                        local_defined('config') ? self->config = #config;
62
 
                /define_tag;
63
 
 
64
 
                define_tag('create');
65
 
                        if(self->isCompatibleBrowser);
66
 
                                local('out' = '
67
 
                                                <input type="hidden" id="' + self->instancename + '" name="' + self->instancename + '" value="' + encode_html(self->initialvalue) + '" style="display:none" />
68
 
                                                ' + self->parseConfig + '
69
 
                                                <iframe id="' + self->instancename + '___Frame" src="' + self->basepath + 'editor/fckeditor.html?InstanceName=' + self->instancename + '&Toolbar=' + self->toolbarset + '" width="' + self->width + '" height="' + self->height + '" frameborder="0" scrolling="no"></iframe>
70
 
                                ');
71
 
                        else;
72
 
                                local('out' = '
73
 
                                                <textarea name="' + self->instancename + '" rows="4" cols="40" style="width: ' + self->width + '; height: ' + self->height + '">' + encode_html(self->initialvalue) + '</textarea>
74
 
                                ');
75
 
                        /if;
76
 
                        return(@#out);
77
 
                /define_tag;
78
 
 
79
 
                define_tag('isCompatibleBrowser');
80
 
                        local('result' = false);
81
 
                        if (client_browser->Find("MSIE") && !client_browser->Find("mac") && !client_browser->Find("Opera"));
82
 
                                #result = client_browser->Substring(client_browser->Find("MSIE")+5,3)>=5.5;
83
 
                        /if;
84
 
                        if (client_browser->Find("Gecko/"));
85
 
                                #result = client_browser->Substring(client_browser->Find("Gecko/")+6,8)>=20030210;
86
 
                        /if;
87
 
                        if (client_browser->Find("Opera/"));
88
 
                                #result = client_browser->Substring(client_browser->Find("Opera/")+6,4)>=9.5;
89
 
                        /if;
90
 
                        if (client_browser->Find("AppleWebKit/"));
91
 
                                #result = client_browser->Substring(client_browser->Find("AppleWebKit/")+12,3)>=522;
92
 
                        /if;
93
 
                        return(#result);
94
 
                /define_tag;
95
 
 
96
 
                define_tag('parseConfig');
97
 
                        if(self->config->size);
98
 
                                local('out' = '<input type="hidden" id="' + self->instancename + '___Config" value="');
99
 
                                iterate(self->config, local('this'));
100
 
                                        loop_count > 1 ? #out += '&amp;';
101
 
                                        #out += encode_html(#this->first) + '=' + encode_html(#this->second);
102
 
                                /iterate;
103
 
                                #out += '" style="display:none" />\n';
104
 
                                return(@#out);
105
 
                        /if;
106
 
                /define_tag;
107
 
        /define_type;
108
 
]