PluginProbe
Wp-Insert / 1.7.2
Wp-Insert v1.7.2
trunk 1.0 1.1 1.2 1.2.1 1.2.2 1.3.0 1.3.1 1.3.3 1.4 1.5.0 1.5.1 1.5.2 1.5.3 1.6.0 1.6.1 1.6.2 1.7 1.7.1 1.7.2 1.7.3 1.7.4 1.7.5 1.7.6 2.0 All 63 releases
wp-insert / fckeditor / fckeditor.lasso

fckeditor.lasso in Wp-Insert 1.7.2, at fckeditor/fckeditor.lasso

109 lines 3.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 [//lasso
2 /*
3 * FCKeditor - The text editor for Internet - http://www.fckeditor.net
4 * Copyright (C) 2003-2009 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 ]
109