View File | Revision Log | Show Annotations | Download File | View Changeset
/hippo/hippo-cms7/cms/tags/hippo-cms-2.24.22/richtext/resources/src/external/xinha/examples/files/ext_example-menu.php
Revision: 58560
Committed: Tue Feb 2 13:57:03 2016 UTC (4 years, 2 months ago) by aschrijvers
File size: 12731 byte(s)
Log Message:
:CMS-9865 replace svn external for xinha with actual sources for tag as well

File Contents

# Content
1 <?php
2 $LocalPluginPath = dirname(dirname(dirname(__FILE__))).DIRECTORY_SEPARATOR.'plugins';
3 $LocalSkinPath = dirname(dirname(dirname(__File__))).DIRECTORY_SEPARATOR.'skins';
4 ?>
5 <html>
6 <head>
7
8 <!--------------------------------------:noTabs=true:tabSize=2:indentSize=2:--
9 -- Xinha example menu. This file is used by full_example.html within a
10 -- frame to provide a menu for generating example editors using
11 -- full_example-body.html, and full_example.js.
12 --
13 -- $HeadURL: http://svn.xinha.webfactional.com/trunk/examples/files/ext_example-menu.php $
14 -- $LastChangedDate: 2008-10-12 19:42:42 +0200 (zo, 12 okt 2008) $
15 -- $LastChangedRevision: 1084 $
16 -- $LastChangedBy: ray $
17 --------------------------------------------------------------------------->
18
19 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
20 <title>Example of Xinha</title>
21 <link rel="stylesheet" href="full_example.css" />
22 <style type="text/css">
23 h1 {font: bold 22px "Staccato222 BT", cursive;}
24 form, p {margin: 0px; padding: 0px;}
25 label { display:block;}
26 </style>
27 <script language="JavaScript" type="text/javascript">
28 var settings = null;
29 settings = {
30 width: "auto",
31 height: "auto",
32 sizeIncludesBars: true,
33 sizeIncludesPanels: true,
34 statusBar: true,
35 htmlareaPaste: false,
36 mozParaHandler: "best",
37 getHtmlMethod: "DOMwalk",
38 undoSteps: 20,
39 undoTimeout: 500,
40 changeJustifyWithDirection: false,
41 fullPage: false,
42 pageStyle: "",
43 baseHref: null,
44 expandRelativeUrl: true,
45 stripBaseHref: true,
46 stripSelfNamedAnchors: true,
47 only7BitPrintablesInURLs: true,
48 sevenBitClean: false,
49 killWordOnPaste: true,
50 makeLinkShowsTarget: true,
51 flowToolbars: true,
52 stripScripts: false,
53 CharacterMapMode: "popup",
54 ListTypeMode: "toolbar",
55 showLoading: false,
56 showChar: true,
57 showWord: true,
58 showHtml: true
59 };
60
61
62 function getCookieVal (offset) {
63 var endstr = document.cookie.indexOf (";", offset);
64 if (endstr == -1)
65 endstr = document.cookie.length;
66 return unescape(document.cookie.substring(offset, endstr));
67 }
68
69 function getCookie (name) {
70 var arg = name + "=";
71 var alen = arg.length;
72 var clen = document.cookie.length;
73 var i = 0;
74 while (i < clen) {
75 var j = i + alen;
76 if (document.cookie.substring(i, j) == arg)
77 return getCookieVal (j);
78 i = document.cookie.indexOf(" ", i) + 1;
79 if (i == 0) break;
80 }
81 return null;
82 }
83
84 function setCookie (name, value) {
85 var argv = setCookie.arguments;
86 var argc = setCookie.arguments.length;
87 var expires = (argc > 2) ? argv[2] : null;
88 var path = (argc > 3) ? argv[3] : null;
89 var domain = (argc > 4) ? argv[4] : null;
90 var secure = (argc > 5) ? argv[5] : false;
91 document.cookie = name + "=" + escape (value) +
92 ((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
93 ((path == null) ? "" : ("; path=" + path)) +
94 ((domain == null) ? "" : ("; domain=" + domain)) +
95 ((secure == true) ? "; secure" : "");
96 }
97
98 function _onResize() {
99 var sHeight;
100 if (window.innerHeight) sHeight = window.innerHeight;
101 else if (document.body && document.body.offsetHeight) sHeight = document.body.offsetHeight;
102 else return;
103 if (sHeight>270) {
104 sHeight = sHeight - 245;
105 } else {
106 sHeight = 30
107 }
108 var div = document.getElementById("div_plugins");
109 div.style.height = sHeight + "px";
110 }
111
112 function Dialog(url, action, init) {
113 if (typeof init == "undefined") {
114 init = window; // pass this window object by default
115 }
116 if (typeof window.showModalDialog == 'function')
117 {
118 Dialog._return = action;
119 var r = window.showModalDialog(url, init, "dialogheight=10;dialogheight=10;scroll=yes;resizable=yes");
120 }
121 else
122 {
123 Dialog._geckoOpenModal(url, action, init);
124 }
125 };
126
127 Dialog._parentEvent = function(ev) {
128 setTimeout( function() { if (Dialog._modal && !Dialog._modal.closed) { Dialog._modal.focus() } }, 50);
129 if (Dialog._modal && !Dialog._modal.closed) {
130 agt = navigator.userAgent.toLowerCase();
131 is_ie = ((agt.indexOf("msie") != -1) && (agt.indexOf("opera") == -1));
132 if (is_ie) {
133 ev.cancelBubble = true;
134 ev.returnValue = false;
135 } else {
136 ev.preventDefault();
137 ev.stopPropagation();
138 }
139 }
140 };
141
142
143 // should be a function, the return handler of the currently opened dialog.
144 Dialog._return = null;
145
146 // constant, the currently opened dialog
147 Dialog._modal = null;
148
149 // the dialog will read it's args from this variable
150 Dialog._arguments = null;
151
152 Dialog._geckoOpenModal = function(url, action, init) {
153 var dlg = window.open(url, "hadialog",
154 "toolbar=no,menubar=no,personalbar=no,width=10,height=10," +
155 "scrollbars=no,resizable=yes,modal=yes,dependable=yes");
156 Dialog._modal = dlg;
157 Dialog._arguments = init;
158
159 // capture some window's events
160 function capwin(w) {
161 // Xinha._addEvent(w, "click", Dialog._parentEvent);
162 // Xinha._addEvent(w, "mousedown", Dialog._parentEvent);
163 // Xinha._addEvent(w, "focus", Dialog._parentEvent);
164 };
165 // release the captured events
166 function relwin(w) {
167 // Xinha._removeEvent(w, "click", Dialog._parentEvent);
168 // Xinha._removeEvent(w, "mousedown", Dialog._parentEvent);
169 // Xinha._removeEvent(w, "focus", Dialog._parentEvent);
170 };
171 capwin(window);
172 // capture other frames
173 for (var i = 0; i < window.frames.length; capwin(window.frames[i++]));
174 // make up a function to be called when the Dialog ends.
175 Dialog._return = function (val) {
176 if (val && action) {
177 action(val);
178 }
179 relwin(window);
180 // capture other frames
181 for (var i = 0; i < window.frames.length; relwin(window.frames[i++]));
182 Dialog._modal = null;
183 };
184 };
185
186 function fExtended () {
187 Dialog("Extended.html", function(param) {
188 if(param) {
189 settings.width = param["width"];
190 settings.height = param["height"];
191 settings.sizeIncludesBars = (param["sizeIncludesBars"]=="true");
192 settings.sizeIncludesPanels = (param["sizeIncludesPanels"]=="true");
193 settings.statusBar = (param["statusBar"]=="true");
194 settings.htmlareaPaste = (param["htmlareaPaste"]=="true");
195 settings.mozParaHandler = param["mozParaHandler"];
196 settings.getHtmlMethod = param["getHtmlMethod"];
197 settings.undoSteps = param["undoSteps"];
198 settings.undoTimeout = param["undoTimeout"];
199 settings.changeJustifyWithDirection = (param["changeJustifyWithDirection"]=="true");
200 settings.fullPage = (param["fullPage"]=="true");
201 settings.pageStyle = param["pageStyle"];
202 settings.baseHref = param["baseHref"];
203 settings.expandRelativeUrl = (param["expandRelativeUrl"]=="true");
204 settings.stripBaseHref = (param["stripBaseHref"]=="true");
205 settings.stripSelfNamedAnchors = (param["stripSelfNamedAnchors"]=="true");
206 settings.only7BitPrintablesInURLs = (param["only7BitPrintablesInURLs"]=="true");
207 settings.sevenBitClean = (param["sevenBitClean"]=="true");
208 settings.killWordOnPaste = (param["killWordOnPaste"]=="true");
209 settings.makeLinkShowsTarget = (param["makeLinkShowsTarget"]=="true");
210 settings.flowToolbars = (param["flowToolbars"]=="true");
211 settings.stripScripts = (param["stripScripts"]=="true");
212 settings.CharacterMapMode = param["CharacterMapMode"];
213 settings.ListTypeMode = param["ListTypeMode"];
214 settings.showLoading = (param["showLoading"]=="true");
215 settings.showChar = (param["showChar"]=="true");
216 settings.showWord = (param["showWord"]=="true");
217 settings.showHtml = (param["showHtml"]=="true");
218 }
219 }, settings );
220 }
221
222 function init(){
223 var co = getCookie('co_ext_Xinha');
224 if(co!=null){
225 var co_values;
226 var co_entries = co.split('###');
227 for (var i in co_entries) {
228 co_values = co_entries[i].split('=');
229 if(co_values[0]=='plugins') {
230 for(var x = 0; x < document.forms[0].plugins.length; x++) {
231 if(co_values[1].indexOf(document.forms[0].plugins[x].value)!=-1) {
232 document.forms[0].plugins[x].checked = true;
233 }
234 }
235 } else if(co_values[0]!='') {
236 document.getElementById(co_values[0]).value = co_values[1];
237 }
238 }
239 }
240 _onResize();
241 };
242
243 window.onresize = _onResize;
244 window.onload = init;
245 </script>
246 </head>
247
248 <body>
249 <form action="ext_example-body.html" target="body" name="fsettings" id="fsettings">
250 <h1>Xinha Example</h1>
251 <fieldset>
252 <legend>Settings</legend>
253 <label>
254 Number of Editors: <input type="text" name="num" id="num" value="1" style="width:25;" maxlength="2"/>
255 </label>
256 <label>
257 Language:
258 <select name="lang" id="lang">
259 <option value="en">English</option>
260 <option value="de">German</option>
261 <option value="fr">French</option>
262 <option value="it">Italian</option>
263 <option value="no">Norwegian</option>
264 <option value="pl">Polish</option>
265 <option value="ja">Japanese</option>
266 </select>
267 </label>
268 <label>
269 Skin:
270 <select name="skin" id="skin">
271 <option value="">-- no skin --</option>
272 <?php
273 $d = @dir($LocalSkinPath);
274 while (false !== ($entry = $d->read())) //not a dot file or directory
275 { if(substr($entry,0,1) != '.')
276 { echo '<option value="' . $entry . '"> ' . $entry . '</option>'."\n";
277 }
278 }
279 $d->close();
280 ?>
281 </select>
282 </label>
283 <center><input type="button" value="extended Settings" onClick="fExtended();" /></center>
284
285 </fieldset>
286 <fieldset>
287 <legend>Plugins</legend>
288 <div id="div_plugins" style="width:100%; overflow:auto">
289 <?php
290 $d = @dir($LocalPluginPath);
291 $dir_array = array();
292 while (false !== ($entry = $d->read())) //not a dot file or directory
293 { if(substr($entry,0,1) != '.')
294 { $dir_array[] = $entry;
295 }
296 }
297 $d->close();
298 sort($dir_array);
299 foreach ($dir_array as $entry)
300 { echo '<label><input type="checkbox" name="plugins" id="plugins" value="' . $entry . '"> ' . $entry . '</label>'."\n";
301 }
302
303 ?>
304 </div>
305 </fieldset>
306 <center><button type="submit">reload editor</button></center>
307
308 <textarea id="myTextarea0" style="display:none">
309 <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
310 Aliquam et tellus vitae justo varius placerat. Suspendisse iaculis
311 velit semper dolor. Donec gravida tincidunt mi. Curabitur tristique
312 ante elementum turpis. Aliquam nisl. Nulla posuere neque non
313 tellus. Morbi vel nibh. Cum sociis natoque penatibus et magnis dis
314 parturient montes, nascetur ridiculus mus. Nam nec wisi. In wisi.
315 Curabitur pharetra bibendum lectus.</p>
316
317 <ul>
318 <li> Phasellus et massa sed diam viverra semper. </li>
319 <li> Mauris tincidunt felis in odio. </li>
320 <li> Nulla placerat nunc ut pede. </li>
321 <li> Vivamus ultrices mi sit amet urna. </li>
322 <li> Quisque sed augue quis nunc laoreet volutpat.</li>
323 <li> Nunc sit amet metus in tortor semper mattis. </li>
324 </ul>
325 </textarea>
326
327 </form>
328 <script type="text/javascript">
329 top.frames["body"].location.href = document.location.href.replace(/ext_example-menu\.php.*/, 'ext_example-body.html')
330 var _oldSubmitHandler = null;
331 if (document.forms[0].onsubmit != null) {
332 _oldSubmitHandler = document.forms[0].onsubmit;
333 }
334 function frame_onSubmit(){
335 var thenewdate = new Date ();
336 thenewdate.setTime(thenewdate.getTime() + (5*24*60*60*1000));
337 var co_value = 'skin=' + document.getElementById('skin').options[document.getElementById('skin').selectedIndex].value + '###' +
338 'lang=' + document.getElementById('lang').options[document.getElementById('lang').selectedIndex].value + '###' +
339 'num=' + document.getElementById('num').value + '###';
340 var s_value='';
341 for(var x = 0; x < document.forms[0].plugins.length; x++) {
342 if(document.forms[0].plugins[x].checked)
343 s_value += document.forms[0].plugins[x].value + '/';
344 }
345 if(s_value!='') {
346 co_value += 'plugins=' + s_value + '###'
347 }
348 setCookie('co_ext_Xinha', co_value, thenewdate);
349 if (_oldSubmitHandler != null) {
350 _oldSubmitHandler();
351 }
352 }
353 document.forms[0].onsubmit = frame_onSubmit;
354 </script>
355
356 </body>
357 </html>