1 | <!-- |
---|
2 | |
---|
3 | (c) dynarch.com, 2003-2004 |
---|
4 | Author: Mihai Bazon, http://dynarch.com/mishoo |
---|
5 | Distributed as part of HTMLArea 3.0 |
---|
6 | |
---|
7 | "You are not expected to understand this... I don't neither." |
---|
8 | |
---|
9 | (from The Linux Kernel Source Code, |
---|
10 | ./arch/x86_64/ia32/ptrace.c:90) |
---|
11 | |
---|
12 | ;-) |
---|
13 | |
---|
14 | --> |
---|
15 | |
---|
16 | <html style="height: 100%"> |
---|
17 | <head> |
---|
18 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
---|
19 | <title>About HTMLArea</title> |
---|
20 | <script type="text/javascript" src="popup.js"></script> |
---|
21 | <script type="text/javascript"> |
---|
22 | window.resizeTo(450, 250); |
---|
23 | var TABS = []; |
---|
24 | var CURRENT_TAB = 0; |
---|
25 | var CONTENT_HEIGHT_DIFF = 0; |
---|
26 | var CONTENT_WIDTH_DIFF = 0; |
---|
27 | function selectTab(idx) { |
---|
28 | var ct = TABS[CURRENT_TAB]; |
---|
29 | ct.className = ct.className.replace(/\s*tab-current\s*/, ' '); |
---|
30 | ct = TABS[CURRENT_TAB = idx]; |
---|
31 | ct.className += ' tab-current'; |
---|
32 | for (var i = TABS.length; --i >= 0;) { |
---|
33 | var area = document.getElementById("tab-area-" + i); |
---|
34 | if (CURRENT_TAB == i) { |
---|
35 | area.style.display = "block"; |
---|
36 | } else { |
---|
37 | area.style.display = "none"; |
---|
38 | } |
---|
39 | } |
---|
40 | document.body.style.visibility = "hidden"; |
---|
41 | document.body.style.visibility = "visible"; |
---|
42 | document.cookie = "HTMLAREA-ABOUT-TAB=" + idx; |
---|
43 | } |
---|
44 | var editor = null; |
---|
45 | function initDocument() { |
---|
46 | editor = window.dialogArguments; |
---|
47 | HTMLArea = window.opener.HTMLArea; |
---|
48 | |
---|
49 | var plugins = document.getElementById("plugins"); |
---|
50 | var j = 0; |
---|
51 | var html = "<table width='99%' cellpadding='0' style='margin-top: 1em; collapse-borders: collapse; border: 1px solid #8b8;'>" + |
---|
52 | "<thead><tr>" + |
---|
53 | "<td>Name</td>" + |
---|
54 | "<td>Developer</td>" + |
---|
55 | "<td>Sponsored by</td>" + |
---|
56 | "<td>License<sup>*</sup></td>" + |
---|
57 | "</tr></thead><tbody>"; |
---|
58 | for (var i in editor.plugins) { |
---|
59 | var info = editor.plugins[i]; |
---|
60 | html += "<tr><td>" + info.name + " v" + info.version + "</td>" + |
---|
61 | "<td><a href='" + info.developer_url + "' target='_blank' title='Visit developer website'>" + |
---|
62 | info.developer + "</a></td>" + |
---|
63 | "<td><a href='" + info.sponsor_url + "' target='_blank' title='Visit sponsor website'>" + |
---|
64 | info.sponsor + "</a></td>" + |
---|
65 | "<td>" + info.license + "</td></tr>"; |
---|
66 | ++j; |
---|
67 | } |
---|
68 | |
---|
69 | if (j) { |
---|
70 | html += "</tbody></table>" + |
---|
71 | "<p><sup>*</sup> License \"htmlArea\" means that the plugin is distributed under the same terms " + |
---|
72 | "as HTMLArea itself. Such plugins are likely to be those included in the official " + |
---|
73 | "HTMLArea distribution</p>"; |
---|
74 | plugins.innerHTML = "<p>The following plugins have been loaded.</p>" + html; |
---|
75 | } else { |
---|
76 | plugins.innerHTML = "<p>No plugins have been loaded</p>"; |
---|
77 | } |
---|
78 | |
---|
79 | plugins.innerHTML += "<p>User agent reports:<br/>" + navigator.userAgent + "</p>"; |
---|
80 | |
---|
81 | var content = document.getElementById("content"); |
---|
82 | if (window.innerHeight) { |
---|
83 | CONTENT_HEIGHT_DIFF = window.innerHeight - 250; |
---|
84 | CONTENT_WIDTH_DIFF = window.innerWidth - content.offsetWidth; |
---|
85 | } else { |
---|
86 | CONTENT_HEIGHT_DIFF = document.body.offsetHeight - 250; |
---|
87 | CONTENT_WIDTH_DIFF = document.body.offsetWidth - 400; |
---|
88 | } |
---|
89 | window.onresize(); |
---|
90 | var bar = document.getElementById("tabbar"); |
---|
91 | j = 0; |
---|
92 | for (var i = bar.firstChild; i; i = i.nextSibling) { |
---|
93 | TABS.push(i); |
---|
94 | i.__msh_tab = j; |
---|
95 | i.onmousedown = function(ev) { selectTab(this.__msh_tab); HTMLArea._stopEvent(ev || window.event); }; |
---|
96 | var area = document.getElementById("tab-area-" + j); |
---|
97 | if (/tab-current/.test(i.className)) { |
---|
98 | CURRENT_TAB = j; |
---|
99 | area.style.display = "block"; |
---|
100 | } else { |
---|
101 | area.style.display = "none"; |
---|
102 | } |
---|
103 | ++j; |
---|
104 | } |
---|
105 | if (document.cookie.match(/HTMLAREA-ABOUT-TAB=([0-9]+)/)) |
---|
106 | selectTab(RegExp.$1); |
---|
107 | } |
---|
108 | window.onresize = function() { |
---|
109 | var content = document.getElementById("content"); |
---|
110 | if (window.innerHeight) { |
---|
111 | content.style.height = (window.innerHeight - CONTENT_HEIGHT_DIFF) + "px"; |
---|
112 | content.style.width = (window.innerWidth - CONTENT_WIDTH_DIFF) + "px"; |
---|
113 | } else { |
---|
114 | content.style.height = (document.body.offsetHeight - CONTENT_HEIGHT_DIFF) + "px"; |
---|
115 | //content.style.width = (document.body.offsetWidth - CONTENT_WIDTH_DIFF) + "px"; |
---|
116 | } |
---|
117 | } |
---|
118 | </script> |
---|
119 | <style> |
---|
120 | html,body,textarea,table { font-family: tahoma,verdana,arial; font-size: 11px; |
---|
121 | padding: 0px; margin: 0px; } |
---|
122 | tt { font-size: 120%; } |
---|
123 | body { padding: 0px; background: #cea; color: 000; } |
---|
124 | a:link, a:visited { color: #00f; } |
---|
125 | a:hover { color: #f00; } |
---|
126 | a:active { color: #f80; } |
---|
127 | button { font: 11px tahoma,verdana,sans-serif; background-color: #cea; |
---|
128 | border-width: 1px; } |
---|
129 | |
---|
130 | p { margin: 0.5em 0px; } |
---|
131 | |
---|
132 | h1 { font: bold 130% georgia,"times new roman",serif; margin: 0px; border-bottom: 1px solid #6a6; } |
---|
133 | h2 { font: bold 110% georgia,"times new roman",serif; margin: 0.7em 0px; } |
---|
134 | |
---|
135 | thead { |
---|
136 | font-weight: bold; |
---|
137 | background-color: #dfb; |
---|
138 | } |
---|
139 | |
---|
140 | .logo, .logo-hover { |
---|
141 | white-space: nowrap; |
---|
142 | background-color: #8f4; color: #040; padding: 3px; border-bottom: 1px solid #555; |
---|
143 | height: 5em; |
---|
144 | } |
---|
145 | .logo .brand, .logo-hover .brand { |
---|
146 | margin-left: 0.5em; margin-right: 0.5em; padding-bottom: 0.1em; |
---|
147 | font-family: impact,'arial black',arial,sans-serif; font-size: 28px; |
---|
148 | border-bottom: 1px solid #595; text-align: center; |
---|
149 | cursor: pointer; |
---|
150 | } |
---|
151 | .logo-hover { |
---|
152 | background-color: #fff; |
---|
153 | } |
---|
154 | .logo-hover .brand { |
---|
155 | color: #800; |
---|
156 | border-color: #04f; |
---|
157 | } |
---|
158 | .logo .letter, .logo-hover .letter { position: relative; font-family: monospace; } |
---|
159 | .logo .letter1 { top: 0.1em; } |
---|
160 | .logo .letter2 { top: 0.05em; } |
---|
161 | .logo .letter3 { top: -0.05em; } |
---|
162 | .logo .letter4 { top: -0.1em; } |
---|
163 | |
---|
164 | .logo-hover .letter1 { top: -0.1em; } |
---|
165 | .logo-hover .letter2 { top: -0.05em; } |
---|
166 | .logo-hover .letter3 { top: 0.05em; } |
---|
167 | .logo-hover .letter4 { top: 0.1em; } |
---|
168 | .logo .version, .logo-hover .version { font-family: georgia,"times new roman",serif; } |
---|
169 | .logo .release { |
---|
170 | font-size: 90%; margin-bottom: 1em; |
---|
171 | text-align: center; color: #484; |
---|
172 | } |
---|
173 | .logo .visit { display: none; } |
---|
174 | .logo-hover .release { display: none; } |
---|
175 | .logo-hover .visit { |
---|
176 | font-size: 90%; margin-bottom: 1em; |
---|
177 | text-align: center; color: #448; |
---|
178 | } |
---|
179 | .buttons { |
---|
180 | text-align: right; padding: 3px; background-color: #8f4; |
---|
181 | border-top: 1px solid #555; |
---|
182 | } |
---|
183 | #tabbar { |
---|
184 | position: relative; |
---|
185 | left: 10px; |
---|
186 | } |
---|
187 | .tab { |
---|
188 | color: #454; |
---|
189 | cursor: pointer; |
---|
190 | margin-left: -5px; |
---|
191 | float: left; position: relative; |
---|
192 | border: 1px solid #555; |
---|
193 | top: -3px; left: -2px; |
---|
194 | padding: 2px 10px 3px 10px; |
---|
195 | border-top: none; background-color: #9b7; |
---|
196 | -moz-border-radius: 0px 0px 4px 4px; |
---|
197 | z-index: 0; |
---|
198 | } |
---|
199 | .tab-current { |
---|
200 | color: #000; |
---|
201 | top: -4px; |
---|
202 | background-color: #cea; |
---|
203 | padding: 3px 10px 4px 10px; |
---|
204 | z-index: 10; |
---|
205 | } |
---|
206 | table.sponsors { border-top: 1px solid #aca; } |
---|
207 | table.sponsors td { |
---|
208 | border-bottom: 1px solid #aca; vertical-align: top; |
---|
209 | } |
---|
210 | table.sponsors tr td { padding: 2px 0px; } |
---|
211 | table.sponsors tr td.sponsor { text-align: right; padding-right: 0.3em; white-space: nowrap; } |
---|
212 | li, ol, ul { margin-top: 0px; margin-bottom: 0px; } |
---|
213 | </style></head> |
---|
214 | <body onload="__dlg_init(); initDocument();" |
---|
215 | ><table cellspacing="0" cellpadding="0" style="border-collapse: collapse; |
---|
216 | width: 100%; height: 100%;"> |
---|
217 | |
---|
218 | <tr style="height: 1em"><td id="tdheader"> |
---|
219 | |
---|
220 | <div class="logo"> |
---|
221 | <div class="brand" |
---|
222 | onmouseover="this.parentNode.className='logo-hover';" |
---|
223 | onmouseout="this.parentNode.className='logo';" |
---|
224 | onclick="window.open('http://dynarch.com/htmlarea/');"> |
---|
225 | <span class="letter letter1"><H</span><span |
---|
226 | class="letter letter2">T</span><span |
---|
227 | class="letter letter3">M</span><span |
---|
228 | class="letter letter4">L</span>Area <span class="letter">/></span> |
---|
229 | <span class="version"><% $version.$release %></span></div> |
---|
230 | <div class="release">Compiled on <% $time %></div> |
---|
231 | <div class="visit">Go to http://dynarch.com/htmlarea/ [latest milestone release]</div> |
---|
232 | </div> |
---|
233 | |
---|
234 | </td></tr> |
---|
235 | <tr><td id="tdcontent" style="padding: 0.5em;"> |
---|
236 | |
---|
237 | <div style="overflow: auto; height: 250px;" id="content"> |
---|
238 | <div id="tab-areas"> |
---|
239 | |
---|
240 | <div id="tab-area-0"> |
---|
241 | |
---|
242 | <h1>HTMLArea</h1> |
---|
243 | |
---|
244 | <p>A free WYSIWYG editor replacement for <tt><textarea></tt> fields.<br /> |
---|
245 | For Mozilla 1.3+ (any platform) or Internet Explorer 5.5+ (Windows). |
---|
246 | </p> |
---|
247 | |
---|
248 | <p style="text-align: center" |
---|
249 | >© 2002-2004 <a href="http://interactivetools.com" target="_blank">interactivetools.com</a>, inc.<br /> |
---|
250 | © 2003-2004 <a href="http://dynarch.com" target="_blank">dynarch.com</a> LLC.<br /> |
---|
251 | All Rights Reserved.</p> |
---|
252 | |
---|
253 | <h2>Project resources</h2> |
---|
254 | |
---|
255 | <ul> |
---|
256 | <li><a href="http://sourceforge.net/projects/itools-htmlarea/" target="_blank" |
---|
257 | >Project page</a> (@ sourceforge.net)</li> |
---|
258 | <li><a href="http://sourceforge.net/cvs/?group_id=69750" target="_blank" |
---|
259 | >Anonymous CVS access</a> (@ sourceforge.net)</li> |
---|
260 | <li><a href="http://sourceforge.net/tracker/?atid=525656&group_id=69750&func=browse" target="_blank" |
---|
261 | >Bug system</a> (@ sourceforge.net)</li> |
---|
262 | <li><a href="http://www.interactivetools.com/forum/gforum.cgi?forum=14;" target="_blank" |
---|
263 | >Forum</a> (@ interactivetools.com)</li> |
---|
264 | <li><a href="http://www.dynarch.com/htmlarea/" target="_blank" |
---|
265 | >Last public release</a> (@ dynarch.com)</li> |
---|
266 | </ul> |
---|
267 | |
---|
268 | <p> |
---|
269 | For download section please see the <a href="http://sourceforge.net/projects/itools-htmlarea/" target="_blank" |
---|
270 | >project page @ SourceForge</a>. |
---|
271 | </p> |
---|
272 | |
---|
273 | <p style="margin-top: 1em; text-align: center;">Version 3.0 developed and maintained by <a |
---|
274 | href="http://dynarch.com/mishoo/" title="http://dynarch.com/mishoo/" target="_blank">Mihai Bazon</a> / <a |
---|
275 | href="http://dynarch.com" title="http://dynarch.com/" target="_blank">dynarch.com</a></p> |
---|
276 | |
---|
277 | </div> |
---|
278 | |
---|
279 | <div id="tab-area-1"> |
---|
280 | <h1>Thank you</h1> |
---|
281 | |
---|
282 | <p> |
---|
283 | <a href="http://dynarch.com" target="_blank">dynarch.com</a> would like to thank the following |
---|
284 | companies/persons for their <em>donations</em> to support development of HTMLArea (listed alphabetically): |
---|
285 | </p> |
---|
286 | |
---|
287 | <ul> |
---|
288 | <li><a href="http://www.computerlove.co.uk" target="_blank">Code Computer Love Ltd.</a> (UK)</li> |
---|
289 | <li><a href="http://www.neomedia.ro" target="_blank">Neomedia</a> (Romania)</li> |
---|
290 | <li><a href="http://www.os3.it" target="_blank">OS3</a> (Italy)</li> |
---|
291 | <li><a href="http://www.softwerk.net" target="_blank">SoftWerk</a> (Italy)</li> |
---|
292 | </ul> |
---|
293 | |
---|
294 | <p>Also many thanks to all people at InteractiveTools.com |
---|
295 | <a href="http://www.interactivetools.com/forum/gforum.cgi?forum=14;">HTMLArea forums</a> for |
---|
296 | contributing translations, feedback, bug reports and fixes.</p> |
---|
297 | |
---|
298 | <p> |
---|
299 | Last but not least, this project wouldn't have existed without |
---|
300 | <a href="http://interactivetools.com" target="_blank">InteractiveTools.com</a>. |
---|
301 | </p> |
---|
302 | |
---|
303 | </div> |
---|
304 | |
---|
305 | <div id="tab-area-2"> |
---|
306 | <h1>htmlArea License (based on BSD license)</h1> |
---|
307 | |
---|
308 | <p style="text-align: center">© 2002-2004, interactivetools.com, inc.<br /> |
---|
309 | © 2003-2004 dynarch.com LLC<br /> |
---|
310 | All rights reserved.</p> |
---|
311 | |
---|
312 | <p> |
---|
313 | Redistribution and use in source and binary forms, with or without |
---|
314 | modification, are permitted provided that the following conditions are met: |
---|
315 | </p> |
---|
316 | |
---|
317 | <ol> |
---|
318 | <li> |
---|
319 | Redistributions of source code must retain the above copyright notice, |
---|
320 | this list of conditions and the following disclaimer. |
---|
321 | </li> |
---|
322 | |
---|
323 | <li> |
---|
324 | Redistributions in binary form must reproduce the above copyright notice, |
---|
325 | this list of conditions and the following disclaimer in the documentation |
---|
326 | and/or other materials provided with the distribution. |
---|
327 | </li> |
---|
328 | |
---|
329 | <li> |
---|
330 | Neither the name of interactivetools.com, inc. nor the names of its |
---|
331 | contributors may be used to endorse or promote products derived from this |
---|
332 | software without specific prior written permission. |
---|
333 | </li> |
---|
334 | </ol> |
---|
335 | |
---|
336 | <p> |
---|
337 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
---|
338 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
---|
339 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
---|
340 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE |
---|
341 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR |
---|
342 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF |
---|
343 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS |
---|
344 | INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN |
---|
345 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) |
---|
346 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
---|
347 | POSSIBILITY OF SUCH DAMAGE. |
---|
348 | </p> |
---|
349 | |
---|
350 | </div> |
---|
351 | |
---|
352 | <div id="tab-area-3"> |
---|
353 | <h1>Plugins</h1> |
---|
354 | <div id="plugins"> |
---|
355 | </div> |
---|
356 | </div> |
---|
357 | |
---|
358 | </div></div> |
---|
359 | |
---|
360 | |
---|
361 | </tr></td> |
---|
362 | <tr style="height: 1em"><td id="tdfooter"> |
---|
363 | |
---|
364 | |
---|
365 | <div class="buttons"> |
---|
366 | <div id="tabbar" |
---|
367 | ><div class="tab tab-current" |
---|
368 | >About</div><div class="tab" |
---|
369 | >Thanks</div><div class="tab" |
---|
370 | >License</div><div class="tab" |
---|
371 | >Plugins</div></div> |
---|
372 | <button type="button" onclick="__dlg_close(null);">I agree it's cool</button> |
---|
373 | </div> |
---|
374 | |
---|
375 | </td></tr></table> |
---|
376 | |
---|
377 | </body></html> |
---|
378 | |
---|
379 | <%ARGS> |
---|
380 | $version => '3.0' |
---|
381 | $release => 'beta+' |
---|
382 | $basename => 'HTMLArea-3.0-beta' |
---|
383 | </%ARGS> |
---|
384 | |
---|
385 | <%INIT>; |
---|
386 | if ($release =~ /\S/) { |
---|
387 | $release = ' <span style="position: relative; top: -0.6em; font-size: 50%; font-weight: normal">[ rev. '.$release.' ]</span>'; |
---|
388 | } |
---|
389 | |
---|
390 | use POSIX qw(strftime); |
---|
391 | my $time = strftime '%b %e, %Y %H:%M GMT', gmtime; |
---|
392 | </%INIT> |
---|