diff options
Diffstat (limited to 'update/plugin/phpBB3/trunk/modx.prosilver.en.xsl')
-rw-r--r-- | update/plugin/phpBB3/trunk/modx.prosilver.en.xsl | 2016 |
1 files changed, 2016 insertions, 0 deletions
diff --git a/update/plugin/phpBB3/trunk/modx.prosilver.en.xsl b/update/plugin/phpBB3/trunk/modx.prosilver.en.xsl new file mode 100644 index 0000000..9da5465 --- /dev/null +++ b/update/plugin/phpBB3/trunk/modx.prosilver.en.xsl | |||
@@ -0,0 +1,2016 @@ | |||
1 | <?xml version="1.0" encoding="UTF-8"?> | ||
2 | <!-- MODX by the phpBB MOD Team XSL file v1.2.0 copyright 2005-2008 the phpBB MOD Team. | ||
3 | $Id: modx.prosilver.en.xsl 1897 2008-06-16 00:37:40Z jelly_doughnut $ | ||
4 | Updated on 2008-06-06 at 4:00PM by primehalo to fix several bugs. | ||
5 | --> | ||
6 | <!DOCTYPE xsl:stylesheet[ | ||
7 | <!ENTITY nbsp " "> | ||
8 | ]> | ||
9 | <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0" xmlns:mod="http://www.phpbb.com/mods/xml/modx-1.2.0.xsd"> | ||
10 | <xsl:output method="html" omit-xml-declaration="no" indent="yes" /> | ||
11 | <xsl:variable name="title" select="mod:mod/mod:header/mod:title" /> | ||
12 | <xsl:variable name="version"> | ||
13 | <xsl:for-each select="mod:mod/mod:header/mod:mod-version"> | ||
14 | <xsl:value-of select="current()" /> | ||
15 | </xsl:for-each> | ||
16 | </xsl:variable> | ||
17 | <xsl:template match="mod:mod"> | ||
18 | <html xmlns="http://www.w3.org/1999/xhtml"> | ||
19 | <head> | ||
20 | <meta http-equiv="Content-Language" content="en" /> | ||
21 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> | ||
22 | <style type="text/css"> | ||
23 | /* phpBB 3.0 Admin Style Sheet | ||
24 | ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– | ||
25 | Original author: subBlue ( http://www.subblue.com/ ) | ||
26 | Copyright 2007 phpBB Group ( http://www.phpbb.com/ ) | ||
27 | ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– | ||
28 | */ | ||
29 | |||
30 | /* General markup styles | ||
31 | ––––––––––––––––––––––––––––––*/ | ||
32 | * { | ||
33 | /* Reset browsers default margin, padding and font sizes */ | ||
34 | margin: 0; | ||
35 | padding: 0; | ||
36 | font-size: 100%; | ||
37 | } | ||
38 | |||
39 | body, div, p, th, td, li, dd { | ||
40 | font-size: x-small; | ||
41 | voice-family: "\"}\""; | ||
42 | voice-family: inherit; | ||
43 | font-size: 100%; | ||
44 | } | ||
45 | |||
46 | html>body, html>div, html>p, html>th, html>td, html>li, html>dd { | ||
47 | font-size: small | ||
48 | } | ||
49 | |||
50 | html { | ||
51 | color: #536482; | ||
52 | background: #DBD7D1; | ||
53 | /* Always show a scrollbar for short pages - stops the jump when the scrollbar appears. non-ie browsers */ | ||
54 | height: 100%; | ||
55 | margin-bottom: 1px; | ||
56 | } | ||
57 | |||
58 | body { | ||
59 | /* Text-Sizing with ems: http://www.clagnut.com/blog/348/ */ | ||
60 | font-family: "Lucida Grande", Verdana, Helvetica, Arial, sans-serif; | ||
61 | color: #536482; | ||
62 | background: #DBD7D1; | ||
63 | font-size: 82.5%; /* This sets the default font size to be equivalent to 10px */ | ||
64 | margin: 10px 15px; | ||
65 | } | ||
66 | |||
67 | img { | ||
68 | border: 0; | ||
69 | } | ||
70 | |||
71 | h1 { | ||
72 | font-family: "Trebuchet MS", Helvetica, sans-serif; | ||
73 | font-size: 1.70em; | ||
74 | font-weight: normal; | ||
75 | color: #333333; | ||
76 | } | ||
77 | |||
78 | h2, caption { | ||
79 | font-family: "Trebuchet MS", Helvetica, sans-serif; | ||
80 | font-size: 1.40em; | ||
81 | font-weight: normal; | ||
82 | color: #115098; | ||
83 | text-align: left; | ||
84 | margin-top: 25px; | ||
85 | } | ||
86 | |||
87 | .rtl h2, .rtl caption { | ||
88 | text-align: right; | ||
89 | } | ||
90 | |||
91 | h3, h4, h5 { | ||
92 | font-family: "Trebuchet MS", Helvetica, sans-serif; | ||
93 | font-size: 1.20em; | ||
94 | text-decoration: none; | ||
95 | line-height: 1.20em; | ||
96 | margin-top: 10px; | ||
97 | } | ||
98 | |||
99 | p { | ||
100 | margin-bottom: 0.7em; | ||
101 | line-height: 1.40em; | ||
102 | font-size: 1.0em; | ||
103 | } | ||
104 | |||
105 | ul { | ||
106 | list-style: disc; | ||
107 | margin: 0 0 1em 2em; | ||
108 | } | ||
109 | |||
110 | .rtl ul { | ||
111 | margin: 0 2em 1em 0; | ||
112 | } | ||
113 | |||
114 | hr { | ||
115 | border: 0 none; | ||
116 | border-top: 1px dashed #999999; | ||
117 | margin-bottom: 5px; | ||
118 | padding-bottom: 5px; | ||
119 | height: 1px; | ||
120 | } | ||
121 | |||
122 | .small { | ||
123 | font-size: 0.85em; | ||
124 | } | ||
125 | |||
126 | /* General links */ | ||
127 | a:link, a:visited { | ||
128 | color: #105289; | ||
129 | text-decoration: none; | ||
130 | } | ||
131 | |||
132 | a:hover { | ||
133 | color: #BC2A4D; | ||
134 | text-decoration: underline; | ||
135 | } | ||
136 | |||
137 | a:active { | ||
138 | color: #368AD2; | ||
139 | text-decoration: none; | ||
140 | } | ||
141 | |||
142 | /* Main blocks | ||
143 | ––––––––––––––––––––––––––––––––––––––––*/ | ||
144 | #wrap { | ||
145 | padding: 0 0 15px 0; | ||
146 | min-width: 615px; | ||
147 | } | ||
148 | |||
149 | #page-header { | ||
150 | clear: both; | ||
151 | text-align: right; | ||
152 | background: url(data:image/gif;base64,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) top left no-repeat; | ||
153 | height: 69px; | ||
154 | font-size: 0.85em; | ||
155 | margin-bottom: 10px; | ||
156 | } | ||
157 | |||
158 | .rtl #page-header { | ||
159 | text-align: left; | ||
160 | background: top right no-repeat; | ||
161 | } | ||
162 | |||
163 | #page-header h1 { | ||
164 | color: #767676; | ||
165 | font-family: "Trebuchet MS",Helvetica,sans-serif; | ||
166 | font-size: 1.70em; | ||
167 | padding-top: 10px; | ||
168 | } | ||
169 | |||
170 | #page-header p { | ||
171 | font-size: 1.00em; | ||
172 | } | ||
173 | |||
174 | #page-body { | ||
175 | clear: both; | ||
176 | min-width: 700px; | ||
177 | } | ||
178 | |||
179 | #page-footer { | ||
180 | clear: both; | ||
181 | font-size: 0.75em; | ||
182 | text-align: center; | ||
183 | } | ||
184 | |||
185 | #content { | ||
186 | padding: 0px 10px 10px; | ||
187 | position: relative; | ||
188 | } | ||
189 | |||
190 | #content h1 { | ||
191 | color: #115098; | ||
192 | line-height: 1.2em; | ||
193 | margin-bottom: 0px; | ||
194 | } | ||
195 | |||
196 | #main { | ||
197 | width: 100%; | ||
198 | margin: 0; | ||
199 | min-height: 350px; | ||
200 | } | ||
201 | |||
202 | .rtl #main { | ||
203 | float: right; | ||
204 | margin: 0; | ||
205 | } | ||
206 | |||
207 | * html #main { | ||
208 | height: 350px; | ||
209 | } | ||
210 | |||
211 | /* Main Panel | ||
212 | –––––––––––––––––––––––––––––––––––––––– */ | ||
213 | #acp { | ||
214 | margin: 4px 0; | ||
215 | padding: 3px 1px; | ||
216 | min-width: 550px; | ||
217 | background-color: #FFFFFF; | ||
218 | border: 1px #999999 solid; | ||
219 | } | ||
220 | |||
221 | .panel { | ||
222 | background: #F3F3F3 url(data:image/gif;base64,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) repeat-x top; | ||
223 | padding: 0; | ||
224 | } | ||
225 | |||
226 | span.corners-top, span.corners-bottom, | ||
227 | span.corners-top span, span.corners-bottom span { | ||
228 | font-size: 1px; | ||
229 | line-height: 1px; | ||
230 | display: block; | ||
231 | height: 5px; | ||
232 | background-repeat: no-repeat; | ||
233 | } | ||
234 | |||
235 | span.corners-top, span.corners-bottom { | ||
236 | background-image: url(data:image/gif;base64,R0lGODlhiBMMAMQSAP///5mZmfPz89vX0cvIw9zc3PX19bKysqmopvb29pqamvn5+Z2dnLy6t62sqp+fnqCgn/T09P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAABIALAAAAACIEwwAAAX/4DAQDhScaKqubOu+cCzPdG3feK7vfO//wKBwSCwaj8ikcslsOp/QqHRKrVqv2Kx2y+16v+CweEwum8/otHrNbrvf8Lh8Tq/b7/i8fs/v+/+AgYKDhIWGh4hSAw0HBREAkJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmqq6ytrq+wsbKztLW2t7i5uru8vb6/wMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbX2Nna29zd3t/g4eLj5OXm5+jp6uvs7e7v8PG7BAoCAAkCEvr7/P3+/wADChxIsKDBgwgTKlzIsKHDhxAjSpxIsaLFixgzatzIsaPHjyBDihxJsqTJkyhT/6pcybKly5cwY8qcSbOmzZs4c+rcybOnz59AgwodSrSo0aNIkypdyrSp06dQo0qdSrWq1atYs2rdShJBAQBcw4odS7as2bNo06pdy7at27dw48qdS7eu3bt48+rdy7ev37+AAwseTLiw4cOIizJYYCCx48eQI0ueTLmy5cuYM2vezLmz58+gQ4seTbq06dOoU6teHToAgHysY8ueTbu27du4c+vezbu379/AgwsfTry48ePIkyuX4Br28ufQo0ufTr269evYs2vfzr279+/gw4sfT7704sbl06tfz769+/fw48ufT7++/fv48+vfzx+vV7D9BSjggAQWaOCBCCao4JmCDDbo4IMQRijhdfTYg8+EGGao4YYcdujhhyCGKOKIJJZo4oko5rVIIwbI4+KLMMYo44w01mjjjTjmqOOOPPbo449ABinkkEQWaeSRSCap5JJMNunkk1BGKeWUVFaZjQgkPJDIllx26eWXYIYp5phklmnmmWimqeaabLbp5ptwxinnnHTWaeedeOap55589unnn4AGKigcIQAAOw==); | ||
237 | } | ||
238 | |||
239 | span.corners-top span, span.corners-bottom span { | ||
240 | background-image: url(data:image/gif;base64,R0lGODlhBgAMAMQWAP///9vX0fPz85mZmdzc3Jqamtvb28vIw7y6t62sqsvIxPX19bKysqmop/T09Pb29pycnJ+fnp2dnKCgn/n5+fr6+v///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAABYALAAAAAAGAAwAAAUs4DAlRxAADsEggfAAQqFYNGA0tLVQUi4AAx8w56hAcraGCyYDLFSsQYRkCgEAOw==); | ||
241 | } | ||
242 | |||
243 | span.corners-top { | ||
244 | background-position: 0 0; | ||
245 | margin: -4px -2px 0; | ||
246 | } | ||
247 | |||
248 | span.corners-top span { | ||
249 | background-position: 100% 0; | ||
250 | } | ||
251 | |||
252 | span.corners-bottom { | ||
253 | background-position: 0 100%; | ||
254 | margin: 0 -2px -4px; | ||
255 | clear: both; | ||
256 | } | ||
257 | |||
258 | span.corners-bottom span { | ||
259 | background-position: 100% 100%; | ||
260 | } | ||
261 | |||
262 | /* General form styles | ||
263 | ––––––––––––––––––––––––––––––––––––––––*/ | ||
264 | fieldset { | ||
265 | margin: 15px 0; | ||
266 | padding: 1px; | ||
267 | border-top: 1px solid #D7D7D7; | ||
268 | border-right: 1px solid #CCCCCC; | ||
269 | border-bottom: 1px solid #CCCCCC; | ||
270 | border-left: 1px solid #D7D7D7; | ||
271 | background-color: #FFFFFF; | ||
272 | /*position: relative;*/ | ||
273 | } | ||
274 | |||
275 | .rtl fieldset { | ||
276 | border-top: 1px solid #D7D7D7; | ||
277 | border-right: 1px solid #D7D7D7; | ||
278 | border-bottom: 1px solid #CCCCCC; | ||
279 | border-left: 1px solid #CCCCCC; | ||
280 | } | ||
281 | |||
282 | * html fieldset { | ||
283 | padding: 0 10px 5px 10px; | ||
284 | } | ||
285 | |||
286 | fieldset p { | ||
287 | font-size: 1.0em; | ||
288 | } | ||
289 | |||
290 | legend { | ||
291 | padding: 1px 3px; | ||
292 | font-family: Tahoma,arial,Verdana,Sans-serif; | ||
293 | font-size: 1.06em; | ||
294 | font-weight: bold; | ||
295 | color: #115098; | ||
296 | /* position: relative;*/ | ||
297 | text-transform: capitalize; | ||
298 | line-height: 1.00em; | ||
299 | top: 0em; | ||
300 | vertical-align: middle; | ||
301 | |||
302 | |||
303 | } | ||
304 | |||
305 | /* Hide from macIE \*/ | ||
306 | legend { top: -1.2em; } | ||
307 | /* end */ | ||
308 | |||
309 | * html legend { | ||
310 | margin-bottom: -10px; | ||
311 | margin-left: -7px; | ||
312 | } | ||
313 | |||
314 | /* Holly hack, .rtl comes after html */ | ||
315 | * html .rtl legend { | ||
316 | margin: 0; | ||
317 | margin-right: -7px; | ||
318 | } | ||
319 | |||
320 | optgroup, select { | ||
321 | font-family: Verdana, Helvetica, Arial, sans-serif; | ||
322 | font-size: 0.85em; | ||
323 | font-weight: normal; | ||
324 | font-style: normal; | ||
325 | cursor: pointer; | ||
326 | vertical-align: middle; | ||
327 | width: auto; | ||
328 | } | ||
329 | |||
330 | optgroup { | ||
331 | font-size: 1.00em; | ||
332 | font-weight: bold; | ||
333 | } | ||
334 | |||
335 | option { | ||
336 | padding: 0 1em 0 0; | ||
337 | } | ||
338 | |||
339 | .rtl option { | ||
340 | padding: 0 0 0 1em; | ||
341 | } | ||
342 | |||
343 | fieldset.nobg { | ||
344 | margin: 15px 0 0 0; | ||
345 | padding: 0; | ||
346 | border: none; | ||
347 | background-color: transparent; | ||
348 | } | ||
349 | |||
350 | /* MOD-ABOUT STUFFS ~smithy_dll */ | ||
351 | |||
352 | .mod-about { | ||
353 | /*float: left;*/ | ||
354 | background-color: #CADCEB; | ||
355 | /*width: 100%;*/ | ||
356 | } | ||
357 | |||
358 | |||
359 | |||
360 | .mod-about span.corners-top, .mod-about span.corners-bottom, | ||
361 | .mod-about span.corners-top span, .mod-about span.corners-bottom span { | ||
362 | font-size: 1px; | ||
363 | line-height: 1px; | ||
364 | display: block; | ||
365 | height: 5px; | ||
366 | background-repeat: no-repeat; | ||
367 | } | ||
368 | |||
369 | .mod-about span.corners-top, .mod-about span.corners-bottom { | ||
370 | background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAMCAYAAABBV8wuAAAABGdBTUEAANbY1E9YMgAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAABVSURBVHjaYviPAD+BeDIQ2wMxGwNU8AkQGwAxAwwzQFXqIgvCJCajC8IkbLBJMIItYmD4xYAGmBhwAJCEMS6JcKxa8DkX5kFdbBKwIJkADRIGgAADAGtyotIvyqGpAAAAAElFTkSuQmCC); | ||
371 | } | ||
372 | |||
373 | .mod-about span.corners-top span, .mod-about span.corners-bottom span { | ||
374 | background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAMCAYAAABBV8wuAAAABGdBTUEAANbY1E9YMgAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAABbSURBVHjaYvr//z8bENsD8WQg/vkfChjQsAEQPwFJMDGgggtA7AnEv9AlQOAyEM/CJgECK3FJnMIlwYZLQheXRDg2CV0gzmTCIrgd2Q4bIJ4AxGeAWBokABBgAE4XMoXm9S+UAAAAAElFTkSuQmCC); | ||
375 | } | ||
376 | |||
377 | .mod-about span.corners-top { | ||
378 | background-position: 0 0; | ||
379 | margin: 0 0; | ||
380 | } | ||
381 | |||
382 | .mod-about span.corners-top span { | ||
383 | background-position: 100% 0; | ||
384 | } | ||
385 | |||
386 | .mod-about span.corners-bottom { | ||
387 | background-position: 0 100%; | ||
388 | margin: 0 0; | ||
389 | clear: both; | ||
390 | } | ||
391 | |||
392 | .mod-about span.corners-bottom span { | ||
393 | background-position: 100% 100%; | ||
394 | } | ||
395 | |||
396 | /* END PROSILVER ADMIN PANEL STYLESHEET */ | ||
397 | |||
398 | #language { width: 130px; } | ||
399 | |||
400 | .mod-about-padding { 0px 8px; } | ||
401 | .mod-about { margin: 10px 4px; } | ||
402 | .mod-about dt { font-weight:bold; padding-right:4px; } | ||
403 | .mod-about dl { margin: 0px 8px; } | ||
404 | .mod-about div { margin: 3px 8px; } | ||
405 | /*div.inner .mod-about dl { margin: 0px 0px; }*/ | ||
406 | /*.nopadding { margin: 0px 0px; }*/ | ||
407 | |||
408 | .mod-history {font-size: 82.5%; } /* Mod histories can get pretty long, so I'm making that font a bit smaller */ | ||
409 | |||
410 | #modDisclaimer .mod-about, #other-notes.mod-about { background-color: #EECCCC; } | ||
411 | #other-notes.mod-about strong.red { color: #DD3333; } | ||
412 | |||
413 | span.key { font-size: 10px; height: 16px; line-height: 14px; width: 18px; border: outset 2px #999999; background-color: #EEEECC; display: block; float: left; text-align: center; font-weight: bold; margin-right: 5px; } | ||
414 | |||
415 | .mod-edit { background-color: #D6E6F6; border: solid 1px #336699; margin: 10px 0; padding: 0 10px; } | ||
416 | .mod-inlineedit { background-color: #DDEEFF; border: solid 1px #6699CC; margin: 10px 0; padding: 0 10px; } | ||
417 | |||
418 | dl.author-info dd { margin-left: 100px; margin-bottom: 8px; } | ||
419 | |||
420 | ol#file-copy { padding: 5px; margin-left: 20px; margin-bottom: 10px; } | ||
421 | ol#file-copy li { margin-left: 30px; } | ||
422 | ol#file-copy span { font-weight: bold; } | ||
423 | ol#file-copy dt {margin-right: 5px; | ||
424 | float: none !important } | ||
425 | ol#file-copy dl {width: 100%} | ||
426 | |||
427 | |||
428 | h2#lang-fca { margin-left:5px; } | ||
429 | h2#lang-edts { margin-left:5px; } | ||
430 | h2#lang-diy { margin-left:5px; } | ||
431 | h2#lang-sql { margin-left:5px; } | ||
432 | |||
433 | |||
434 | /* Code block */ | ||
435 | div.codebox { | ||
436 | padding: 3px; | ||
437 | background-color: #FFFFFF; | ||
438 | border: 1px solid #d8d8d8; | ||
439 | font-size: 1em; | ||
440 | } | ||
441 | |||
442 | div.codebox div.codeHead { | ||
443 | text-transform: uppercase; | ||
444 | border-bottom: 1px solid #CCCCCC; | ||
445 | margin-bottom: 3px; | ||
446 | font-size: 0.8em; | ||
447 | font-weight: bold; | ||
448 | display: block; | ||
449 | } | ||
450 | |||
451 | div.codebox div.codeHead a.codeSelect { | ||
452 | padding-left: 4px; | ||
453 | } | ||
454 | |||
455 | blockquote div.codebox { | ||
456 | margin-left: 0; | ||
457 | } | ||
458 | |||
459 | div.codebox pre { | ||
460 | /* Also see tweaks.css */ | ||
461 | width:100%; | ||
462 | overflow-x: scroll; | ||
463 | display: block; | ||
464 | height: auto; | ||
465 | max-height: 200px; | ||
466 | /*white-space: normal;*/ | ||
467 | padding-top: 5px; | ||
468 | font: 0.9em Monaco, "Andale Mono","Courier New", Courier, mono; | ||
469 | line-height: 1.3em; | ||
470 | color: #606060; | ||
471 | margin: 2px 0; | ||
472 | } | ||
473 | |||
474 | dt { | ||
475 | float: left; | ||
476 | width: auto; | ||
477 | } | ||
478 | |||
479 | .rtl dt { | ||
480 | float: right; | ||
481 | } | ||
482 | |||
483 | dd { color: #666666;} | ||
484 | dd + dd { padding-top: 5px;} | ||
485 | dt span { padding: 0 5px 0 0;} | ||
486 | .rtl dt span { padding: 0 0 0 5px;} | ||
487 | div.endMOD { padding: 0 5px; } | ||
488 | </style> | ||
489 | <title>phpBB MOD » <xsl:value-of select="$title" /></title> | ||
490 | <script type="text/javascript"> | ||
491 | var i = 0; | ||
492 | var box = new Array(); | ||
493 | |||
494 | /* passed from xslt */ | ||
495 | |||
496 | <xsl:for-each select="mod:header"> | ||
497 | var documentLanguages = new Array(<xsl:for-each select="mod:title">'<xsl:value-of select="@lang" />'<xsl:if test="position()!=last()">,</xsl:if></xsl:for-each>); | ||
498 | <xsl:for-each select="mod:author-group"> | ||
499 | var authors = <xsl:value-of select="count(mod:author)"/>; | ||
500 | var authors_ll = new Array(); | ||
501 | i = 0; | ||
502 | <xsl:for-each select="mod:author"> | ||
503 | authors_ll[i] = '<xsl:value-of select="generate-id()"/>'; | ||
504 | i += 1; | ||
505 | </xsl:for-each> | ||
506 | </xsl:for-each> | ||
507 | |||
508 | var mhes = 0; | ||
509 | var mhes_ll = new Array(); | ||
510 | var mhcls = 0; | ||
511 | var mhcls_ll = new Array(); | ||
512 | <xsl:for-each select="mod:history/mod:entry"> | ||
513 | mhes_ll[mhes] = '<xsl:value-of select="generate-id()"/>'; | ||
514 | mhes++; | ||
515 | <xsl:if test="count(mod:changelog) > 1"> | ||
516 | mhcls_ll[mhes] = '<xsl:value-of select="generate-id()"/>'; | ||
517 | mhcls++; | ||
518 | </xsl:if> | ||
519 | </xsl:for-each> | ||
520 | </xsl:for-each> | ||
521 | |||
522 | var opens = 0; | ||
523 | var opens_ll = new Array(); | ||
524 | <xsl:for-each select="mod:action-group/mod:open"> | ||
525 | opens_ll[opens] = '<xsl:value-of select="generate-id()"/>'; | ||
526 | opens++; | ||
527 | </xsl:for-each> | ||
528 | |||
529 | var codes = 0; | ||
530 | var codes_ll = new Array(); | ||
531 | <xsl:for-each select="mod:action-group/mod:sql"> | ||
532 | box[codes] = '<xsl:value-of select="generate-id()"/>'; | ||
533 | codes_ll[codes] = '<xsl:value-of select="generate-id()"/>'; | ||
534 | codes++; | ||
535 | </xsl:for-each> | ||
536 | |||
537 | var finds = 0; | ||
538 | var finds_ll = new Array(); | ||
539 | var regex = 0; | ||
540 | var regex_ll = new Array(); | ||
541 | var ifinds = 0; | ||
542 | var ifinds_ll = new Array(); | ||
543 | var iregex = 0; | ||
544 | var iregex_ll = new Array(); | ||
545 | var addafters = 0; | ||
546 | var addafters_ll = new Array(); | ||
547 | var iaddafters = 0; | ||
548 | var iaddafters_ll = new Array(); | ||
549 | var addbefores = 0; | ||
550 | var addbefores_ll = new Array(); | ||
551 | var iaddbefores = 0; | ||
552 | var iaddbefores_ll = new Array(); | ||
553 | var replacewiths = 0; | ||
554 | var replacewiths_ll = new Array(); | ||
555 | var ireplacewiths = 0; | ||
556 | var ireplacewiths_ll = new Array(); | ||
557 | var increments = 0; | ||
558 | var increments_ll = new Array(); | ||
559 | var iincrements = 0; | ||
560 | var iincrements_ll = new Array(); | ||
561 | |||
562 | var comments = 0; | ||
563 | var comments_ll = new Array(); | ||
564 | <xsl:for-each select="mod:action-group/mod:open/mod:edit"> | ||
565 | <xsl:for-each select="mod:find"> | ||
566 | finds_ll[finds] = '<xsl:value-of select="generate-id()"/>'; | ||
567 | finds++; | ||
568 | </xsl:for-each> | ||
569 | <xsl:if test="count(mod:comment) > 0"> | ||
570 | comments_ll[comments] = '<xsl:value-of select="generate-id()"/>'; | ||
571 | comments++; | ||
572 | </xsl:if> | ||
573 | <xsl:for-each select="mod:find|mod:action"> | ||
574 | box[codes] = '<xsl:value-of select="generate-id()"/>'; | ||
575 | codes_ll[codes] = '<xsl:value-of select="generate-id()"/>'; | ||
576 | codes++; | ||
577 | |||
578 | <xsl:if test="name() = 'action'"> | ||
579 | <xsl:if test="@type = 'after-add'"> | ||
580 | addafters_ll[addafters] = '<xsl:value-of select="generate-id()"/>'; | ||
581 | addafters++; | ||
582 | </xsl:if> | ||
583 | <xsl:if test="@type = 'before-add'"> | ||
584 | addbefores_ll[addbefores] = '<xsl:value-of select="generate-id()"/>'; | ||
585 | addbefores++; | ||
586 | </xsl:if> | ||
587 | <xsl:if test="@type = 'replace-with'"> | ||
588 | replacewiths_ll[replacewiths] = '<xsl:value-of select="generate-id()"/>'; | ||
589 | replacewiths++; | ||
590 | </xsl:if> | ||
591 | <xsl:if test="@type = 'operation'"> | ||
592 | increments_ll[increments] = '<xsl:value-of select="generate-id()"/>'; | ||
593 | increments++; | ||
594 | </xsl:if> | ||
595 | </xsl:if> | ||
596 | |||
597 | </xsl:for-each> | ||
598 | <xsl:for-each select="mod:inline-edit"> | ||
599 | <xsl:for-each select="mod:inline-find"> | ||
600 | ifinds_ll[ifinds] = '<xsl:value-of select="generate-id()"/>'; | ||
601 | ifinds++; | ||
602 | <xsl:if test="@type = 'regex'"> | ||
603 | iregex_ll[iregex] = '<xsl:value-of select="generate-id()"/>'; | ||
604 | iregex++; | ||
605 | </xsl:if> | ||
606 | </xsl:for-each> | ||
607 | <xsl:for-each select="mod:inline-find|mod:inline-action"> | ||
608 | box[codes] = '<xsl:value-of select="generate-id()"/>'; | ||
609 | codes_ll[codes] = '<xsl:value-of select="generate-id()"/>'; | ||
610 | codes++; | ||
611 | <xsl:if test="name() = 'inline-action'"> | ||
612 | <xsl:if test="@type = 'after-add'"> | ||
613 | iaddafters_ll[iaddafters] = '<xsl:value-of select="generate-id()"/>'; | ||
614 | iaddafters++; | ||
615 | </xsl:if> | ||
616 | <xsl:if test="@type = 'before-add'"> | ||
617 | iaddbefores_ll[iaddbefores] = '<xsl:value-of select="generate-id()"/>'; | ||
618 | iaddbefores++; | ||
619 | </xsl:if> | ||
620 | <xsl:if test="@type = 'replace-with'"> | ||
621 | ireplacewiths_ll[ireplacewiths] = '<xsl:value-of select="generate-id()"/>'; | ||
622 | ireplacewiths++; | ||
623 | </xsl:if> | ||
624 | <xsl:if test="@type = 'operation'"> | ||
625 | iincrements_ll[iincrements] = '<xsl:value-of select="generate-id()"/>'; | ||
626 | iincrements++; | ||
627 | </xsl:if> | ||
628 | </xsl:if> | ||
629 | </xsl:for-each> | ||
630 | </xsl:for-each> | ||
631 | </xsl:for-each> | ||
632 | |||
633 | <xsl:for-each select="mod:action-group/mod:diy-instructions"> | ||
634 | box[codes] = '<xsl:value-of select="generate-id()" />'; | ||
635 | codes_ll[codes] = '<xsl:value-of select="generate-id()"/>'; | ||
636 | codes++; | ||
637 | </xsl:for-each> | ||
638 | |||
639 | var copies = 0; | ||
640 | var copies_ll = new Array(); | ||
641 | <xsl:for-each select="mod:action-group/mod:copy/mod:file"> | ||
642 | copies_ll[copies] = '<xsl:value-of select="generate-id()"/>'; | ||
643 | copies++; | ||
644 | </xsl:for-each> | ||
645 | |||
646 | <xsl:text disable-output-escaping="yes"> | ||
647 | <![CDATA[ | ||
648 | // The following line from http://www.ryancooper.com/resources/keycode.asp | ||
649 | document.onkeydown = mod_do_keypress; | ||
650 | |||
651 | var host = "http://www.phpbb.com/mods/modx/i18n/"; | ||
652 | |||
653 | var enStrings = "h1=Installation Instructions for \n" + | ||
654 | "V=Version \n" + | ||
655 | "t=Title:\n" + | ||
656 | "d=Description:\n" + | ||
657 | "aV=Version:\n" + | ||
658 | "mint=minutes\n" + | ||
659 | "it=Installation Time:\n" + | ||
660 | "il=Installation Level:\n" + | ||
661 | "ile=Easy\n" + | ||
662 | "ili=Intermediate\n" + | ||
663 | "ila=Advanced\n" + | ||
664 | "au=Author\n" + | ||
665 | "aus=Authors\n" + | ||
666 | "a-un=Username:\n" + | ||
667 | "a-e=Email:\n" + | ||
668 | "a-n=Name:\n" + | ||
669 | "a-h=WWW:\n" + | ||
670 | "fte=Files to Edit\n" + | ||
671 | "icf=Included Files\n" + | ||
672 | "icfn=No files have been included with this MOD.\n" + | ||
673 | "dcl=Disclaimer\n" + | ||
674 | "dclt=For security purposes, please check: <a href=\"http://www.phpbb.com/mods/\">http://www.phpbb.com/mods/</a> for the latest version of this MOD. Downloading this MOD from other sites could cause malicious code to enter into your phpBB Forum. As such, phpBB will not offer support for MODs not offered in our MODs database, located at: <a href=\"http://www.phpbb.com/mods/\">http://www.phpbb.com/mods/</a>\n" + | ||
675 | "isp=English Support\n" + | ||
676 | "ispt=English support can be obtained at <a href=\"http://www.phpbb.com/mods/\">http://www.phpbb.com/mods/</a> for released MODs.\n" + | ||
677 | "ant=Author Notes\n" + | ||
678 | "lic=License\n" + | ||
679 | "lict=This MOD has been licensed under the following license:\n" + | ||
680 | "ont=Other Notes\n" + | ||
681 | "ontt1=Before adding this MOD to your forum, you should back up all files related to this MOD\n" + | ||
682 | "ontt2=This MOD was designed for phpBB\n" + | ||
683 | "ontt3= and may not function as stated on other phpBB versions. MODs for phpBB3.0 will <strong>not</strong> work on phpBB2.0 and vice versa.\n" + | ||
684 | "onttq=This MOD is development quality. It is not recommended that you install it on a live forum.\n" + | ||
685 | "sql=SQL\n" + | ||
686 | "fca=File Copy\n" + | ||
687 | "c-copy=Copy:\n" + | ||
688 | "c-to=To:\n" + | ||
689 | "cde-c=Code: \n" + | ||
690 | "cde-sa=Select All\n" + | ||
691 | "edts=Edits\n" + | ||
692 | "edtt=Use your keyboard to navigate the code boxes. You may also hit '<em>s</em>' on your keyboard to go to the first code box.\n" + | ||
693 | "opn=Open:\n" + | ||
694 | "cm-cmt=Comments\n" + | ||
695 | "fnd=Find\n" + | ||
696 | "fndt=<strong>Tip:</strong> This may be a partial find and not the whole line.\n" + | ||
697 | "rplw=Replace With\n" + | ||
698 | "rplwt=<strong>Tip:</strong> Replace the preceding line(s) to find with the following lines.\n" + | ||
699 | "aft=Add after\n" + | ||
700 | "aftt=<strong>Tip:</strong> Add these lines on a new blank line after the preceding line(s) to find.\n" + | ||
701 | "bef=Add before\n" + | ||
702 | "beft=<strong>Tip:</strong> Add these lines on a new blank line before the preceding line(s) to find.\n" + | ||
703 | "inc=Increment\n" + | ||
704 | "inct=<strong>Tip:</strong> This allows you to alter integers. For help on what each operator means, click here.\n" + | ||
705 | "ifnd=In-line Find\n" + | ||
706 | "ifndt=<strong>Tip:</strong> This is a partial match of a line for in-line operations.\n" + | ||
707 | "irplw=In-line Replace With\n" + | ||
708 | "irplwt=\n" + | ||
709 | "iaft=In-line Add after\n" + | ||
710 | "iaftt=\n" + | ||
711 | "ibef=In-line Add before\n" + | ||
712 | "ibeft=\n" + | ||
713 | "iinc=In-line Increment\n" + | ||
714 | "iinct=<strong>Tip:</strong> This allows you to alter integers. For help on what each operator means, click here.\n" + | ||
715 | "diy=DIY Instructions\n" + | ||
716 | "diyt=These are manual instructions that cannot be performed automatically. You should follow these instructions carefully.\n" + | ||
717 | "eom=Save all files. End of MOD.\n" + | ||
718 | "eomt=You have finished the installation for this MOD. Upload all changed files to your website. If the installation went bad, simply restore your backed up files.\n" + | ||
719 | "slg=Select Language : \n" + | ||
720 | "dbms=Select Database Type : \n" + | ||
721 | "foot=MOD UA XSLT File Copyright © 2007 The phpBB Group, this MOD is copyright to the authors listed above.\n" + | ||
722 | "regex=This find contains an advanced feature known as regular expressions, click here to learn more.\n" + | ||
723 | "mhe-v= - Version \n" + | ||
724 | "mh=MOD History\n" + | ||
725 | "addtl-modx=Additional MODX Files\n" + | ||
726 | "imn=This MOD has no additional MODX files.\n"+ | ||
727 | "atm=About this MOD"; | ||
728 | |||
729 | var currentLanguage = "en"; | ||
730 | var languagesLoaded = false; | ||
731 | |||
732 | var arrClasCnt = new Array( | ||
733 | new Array('a-', authors, authors_ll), | ||
734 | new Array('c-', copies, copies_ll), | ||
735 | new Array('cm-', comments, comments_ll), | ||
736 | new Array('opn', opens, opens_ll), | ||
737 | new Array('cde-', codes, codes_ll), | ||
738 | new Array('fnd', finds, finds_ll), | ||
739 | new Array('regex', regex, regex_ll), | ||
740 | new Array('rplw', replacewiths, replacewiths_ll), | ||
741 | new Array('aft', addafters, addafters_ll), | ||
742 | new Array('bef', addbefores, addbefores_ll), | ||
743 | new Array('inc', increments, increments_ll), | ||
744 | new Array('ifnd', ifinds, ifinds_ll), | ||
745 | new Array('regex', iregex, iregex_ll), | ||
746 | new Array('irplw', ireplacewiths, ireplacewiths_ll), | ||
747 | new Array('iaft', iaddafters, iaddafters_ll), | ||
748 | new Array('ibef', iaddbefores, iaddbefores_ll), | ||
749 | new Array('iinc', iincrements, iincrements_ll), | ||
750 | new Array('mhe', mhes, mhes_ll)); | ||
751 | |||
752 | var languages = new Array('en'); | ||
753 | |||
754 | function startup() | ||
755 | { | ||
756 | sql_dropdown(); | ||
757 | change_dbms(); | ||
758 | changeLanguage(currentLanguage); | ||
759 | document.getElementById('lang-selector').style.display = "block"; | ||
760 | } | ||
761 | |||
762 | function changeLanguage(langCode) | ||
763 | { | ||
764 | langCode = langCode.toLowerCase(); | ||
765 | currentLanguage = langCode.split('-')[0]; | ||
766 | if (currentLanguage.toLowerCase() != 'en') // if change, only include up to first dash | ||
767 | { | ||
768 | load_language(); | ||
769 | xslLanguage(langCode); | ||
770 | return; | ||
771 | } | ||
772 | else | ||
773 | { | ||
774 | var texts = enStrings.split("\n"); | ||
775 | applyLanguage(texts); | ||
776 | xslLanguage(langCode); | ||
777 | } | ||
778 | } | ||
779 | |||
780 | |||
781 | function load_languages() | ||
782 | { | ||
783 | if (languagesLoaded) | ||
784 | { | ||
785 | return; | ||
786 | } | ||
787 | languagesLoaded = true; | ||
788 | |||
789 | $divname = document.getElementById('language'); | ||
790 | var loadingItem = document.createElement('option'); | ||
791 | $divname.appendChild(loadingItem); | ||
792 | loadingItem.innerHTML = 'Loading...'; | ||
793 | $divname.remove(0); | ||
794 | |||
795 | $output = 'load_languages'; | ||
796 | cachernd = parseInt(Math.random() * 99999999); // cache | ||
797 | send('', host + 'languages.txt?rnd=' + cachernd); | ||
798 | } | ||
799 | |||
800 | function load_language() | ||
801 | { | ||
802 | $output = 'load_language'; | ||
803 | cachernd = parseInt(Math.random() * 99999999); // cache | ||
804 | send('', host + currentLanguage + '.txt?rnd=' + cachernd); | ||
805 | } | ||
806 | |||
807 | /***************** | ||
808 | * AJAX Functions * | ||
809 | *****************/ | ||
810 | |||
811 | var $xmlhttp = http_object(); | ||
812 | var $finished = 0; | ||
813 | var $send_queue = new Array(); | ||
814 | var $running = false; | ||
815 | |||
816 | var $divname; | ||
817 | var $newform; | ||
818 | var $newurl; | ||
819 | var $output; | ||
820 | |||
821 | function http_object() | ||
822 | { | ||
823 | if (window.XMLHttpRequest) | ||
824 | { | ||
825 | return new XMLHttpRequest(); | ||
826 | } | ||
827 | else if (window.ActiveXObject) | ||
828 | { | ||
829 | return new ActiveXObject("Microsoft.XMLHTTP"); | ||
830 | } | ||
831 | } | ||
832 | |||
833 | function send($action, $url, $form, $div, $clear) | ||
834 | { | ||
835 | $newform = $form; | ||
836 | $newurl = $url; | ||
837 | |||
838 | $send_queue.push("handle_send($newurl, $newform)"); | ||
839 | |||
840 | if (!$running) | ||
841 | { | ||
842 | run_ajax(); | ||
843 | } | ||
844 | |||
845 | return; | ||
846 | } | ||
847 | |||
848 | function run_ajax() | ||
849 | { | ||
850 | $running = true; | ||
851 | for ($i = 0; $i < $send_queue.length; $i++) | ||
852 | { | ||
853 | if ($xmlhttp.readyState == 4 || $xmlhttp.readyState == 0) | ||
854 | { | ||
855 | eval($send_queue[$i]); | ||
856 | } | ||
857 | else | ||
858 | { | ||
859 | $xmlhttp.onreadystatechange = check_state; | ||
860 | } | ||
861 | } | ||
862 | } | ||
863 | |||
864 | function check_state() | ||
865 | { | ||
866 | if ($xmlhttp.readyState == 4 || $xmlhtt.readyState == 0) | ||
867 | { | ||
868 | eval($send_queue[$finished]); | ||
869 | } | ||
870 | else | ||
871 | { | ||
872 | $xmlhttp.onreadystatechange = check_state; | ||
873 | } | ||
874 | } | ||
875 | |||
876 | function handle_send($url, $f) | ||
877 | { | ||
878 | if ($xmlhttp.readyState == 4 || $xmlhttp.readyState == 0) | ||
879 | { | ||
880 | $param = ''; | ||
881 | |||
882 | try | ||
883 | { | ||
884 | netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead"); | ||
885 | $allowed = true; | ||
886 | } | ||
887 | catch (e) | ||
888 | {} | ||
889 | |||
890 | try | ||
891 | { | ||
892 | |||
893 | $xmlhttp.open('POST', $url, true); | ||
894 | $xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); | ||
895 | $xmlhttp.onreadystatechange = handle_return; | ||
896 | $xmlhttp.send($param); | ||
897 | } | ||
898 | catch (e) | ||
899 | { | ||
900 | $divname = document.getElementById('language'); | ||
901 | var loadingItem = document.createElement('option'); | ||
902 | $divname.appendChild(loadingItem); | ||
903 | loadingItem.innerHTML = 'Unavailable'; | ||
904 | $divname.remove(0); | ||
905 | $divname.disabled = true; | ||
906 | } | ||
907 | } | ||
908 | |||
909 | return; | ||
910 | } | ||
911 | |||
912 | function handle_return() | ||
913 | { | ||
914 | if ($xmlhttp.readyState == 4) | ||
915 | { | ||
916 | ajax_output($xmlhttp.responseText); | ||
917 | |||
918 | $finished++; | ||
919 | |||
920 | if ($send_queue[$finished]) | ||
921 | { | ||
922 | check_state(); | ||
923 | } | ||
924 | else | ||
925 | { | ||
926 | $send_queue = new Array(); | ||
927 | $finished = 0; | ||
928 | $running = false; | ||
929 | } | ||
930 | } | ||
931 | return; | ||
932 | } | ||
933 | |||
934 | /********************* | ||
935 | * END AJAX Functions * | ||
936 | *********************/ | ||
937 | |||
938 | function ajax_output($response) | ||
939 | { | ||
940 | switch ($output) | ||
941 | { | ||
942 | case 'load_language': | ||
943 | var texts = $response.replace("\r\n", "\n").split("\n"); | ||
944 | applyLanguage(texts); | ||
945 | break; | ||
946 | |||
947 | case 'load_languages': | ||
948 | languages = $response.replace("\r", "").split("\n"); | ||
949 | |||
950 | var i, l, s = 0; | ||
951 | documentLanguages.sort(); | ||
952 | for (i in languages) | ||
953 | { | ||
954 | languages[i] = languages[i].replace("\r", ""); | ||
955 | languages[i] = languages[i].split("="); | ||
956 | |||
957 | var langItem = document.createElement('option'); | ||
958 | $divname.appendChild(langItem); | ||
959 | langItem.value = languages[i][0]; | ||
960 | var iso = languages[i][0].split('-'); | ||
961 | langItem.innerHTML = languages[i][1]; | ||
962 | if (iso.length == 2) | ||
963 | { | ||
964 | langItem.innerHTML += ' [' + iso[1].toUpperCase() + ']'; | ||
965 | } | ||
966 | if (languages[i][0] == currentLanguage) | ||
967 | { | ||
968 | $divname.selectedIndex = s; | ||
969 | $divname.text = languages[i][1]; | ||
970 | } | ||
971 | |||
972 | s++; | ||
973 | } | ||
974 | |||
975 | $divname.focus(); | ||
976 | $divname.onchange = | ||
977 | function() | ||
978 | { | ||
979 | changeLanguage(this.value.replace(" ", "")); | ||
980 | }; | ||
981 | $divname.remove(0); | ||
982 | break; | ||
983 | } | ||
984 | |||
985 | } | ||
986 | |||
987 | function xslLangEl(langCode, element) | ||
988 | { | ||
989 | var i; | ||
990 | var currentEl = document.getElementById(element); | ||
991 | try | ||
992 | { | ||
993 | for (i in currentEl.childNodes) | ||
994 | { | ||
995 | try | ||
996 | { | ||
997 | split = currentEl.childNodes[i].lang.toLowerCase().split('-')[0]; | ||
998 | if (currentEl.childNodes[i].lang.toLowerCase() == langCode.toLowerCase() || split == langCode.toLowerCase()) | ||
999 | { | ||
1000 | currentEl.childNodes[i].style.display = ''; | ||
1001 | if (currentEl.childNodes[i].firstChild && currentEl.childNodes[i].firstChild.className == 'link-group-lang') | ||
1002 | { | ||
1003 | currentEl.childNodes[i].firstChild.style.display = 'none'; | ||
1004 | } | ||
1005 | } | ||
1006 | else | ||
1007 | { | ||
1008 | currentEl.childNodes[i].style.display = 'none'; | ||
1009 | } | ||
1010 | } | ||
1011 | catch (o) {} | ||
1012 | } | ||
1013 | } catch (o) {} | ||
1014 | } | ||
1015 | |||
1016 | function xslLanguage(langCode) | ||
1017 | { | ||
1018 | i18nedEls = new Array('title','description','author-notes','diy','link-group'); | ||
1019 | var c, h; | ||
1020 | for (c in comments_ll) | ||
1021 | { | ||
1022 | i18nedEls.push('mod-comment[' + comments_ll[c] + ']'); | ||
1023 | } | ||
1024 | |||
1025 | for (h in mhcls_ll) | ||
1026 | { | ||
1027 | i18nedEls.push('mhcl[' + mhcls_ll[h] + ']'); | ||
1028 | } | ||
1029 | |||
1030 | // force to english of MODX if the MOD doesn't have a translation of the selected language | ||
1031 | if (!in_array(documentLanguages, langCode)) | ||
1032 | { | ||
1033 | langCode = 'en'; | ||
1034 | } | ||
1035 | |||
1036 | var i; | ||
1037 | for (i in i18nedEls) | ||
1038 | { | ||
1039 | xslLangEl(langCode, i18nedEls[i]); | ||
1040 | } | ||
1041 | } | ||
1042 | |||
1043 | function in_array(array, value, position) | ||
1044 | { | ||
1045 | var i; | ||
1046 | for (i = 0; i < array.length; i++) | ||
1047 | { | ||
1048 | // Matches identical (===), not just similar (==). | ||
1049 | if (array[i] === value) | ||
1050 | { | ||
1051 | if (position) | ||
1052 | { | ||
1053 | return i; | ||
1054 | } | ||
1055 | else | ||
1056 | { | ||
1057 | return true; | ||
1058 | } | ||
1059 | } | ||
1060 | } | ||
1061 | return false; | ||
1062 | }; | ||
1063 | |||
1064 | function applyLanguage(texts) | ||
1065 | { | ||
1066 | var i = 0; | ||
1067 | for (i in texts) | ||
1068 | { | ||
1069 | var lang = texts[i].split("="); | ||
1070 | if (lang.length < 2) | ||
1071 | { | ||
1072 | continue; | ||
1073 | } | ||
1074 | try | ||
1075 | { | ||
1076 | var j; | ||
1077 | var jflag = false; | ||
1078 | for (j = 0; j < arrClasCnt.length; j++) | ||
1079 | { | ||
1080 | var sw = '-' + lang[0]; | ||
1081 | if (sw.match('-' + arrClasCnt[j][0])) | ||
1082 | { | ||
1083 | var k; | ||
1084 | for (k = 0; k < arrClasCnt[j][2].length; k++) | ||
1085 | { | ||
1086 | try | ||
1087 | { | ||
1088 | document.getElementById('lang-' + lang[0] + '[' + arrClasCnt[j][2][k] + ']').innerHTML = lang[1]; | ||
1089 | } | ||
1090 | catch (e){} | ||
1091 | } | ||
1092 | jflag = true; | ||
1093 | } | ||
1094 | } | ||
1095 | if (!jflag) | ||
1096 | { | ||
1097 | var p; | ||
1098 | var append = ''; | ||
1099 | for (p = 1; p < lang.length; p++) | ||
1100 | { | ||
1101 | if (p > 1) | ||
1102 | { | ||
1103 | lang[p] = '=' + lang[p]; | ||
1104 | } | ||
1105 | append += lang[p]; | ||
1106 | } | ||
1107 | document.getElementById('lang-' + lang[0]).innerHTML = append; | ||
1108 | } | ||
1109 | } | ||
1110 | catch (o){} | ||
1111 | } | ||
1112 | } | ||
1113 | |||
1114 | function select_code(a) | ||
1115 | { | ||
1116 | // Get ID of code block | ||
1117 | var e = a.parentNode.parentNode.getElementsByTagName('PRE')[0]; | ||
1118 | |||
1119 | select_text(e.id); | ||
1120 | } | ||
1121 | |||
1122 | /* prosilver */ | ||
1123 | |||
1124 | var selectedElement = -1; | ||
1125 | var boxes = box.length; | ||
1126 | var pre_count = 0; | ||
1127 | |||
1128 | function select_text(id) | ||
1129 | { | ||
1130 | var o = document.getElementById(id); | ||
1131 | if(!o) | ||
1132 | { | ||
1133 | return; | ||
1134 | } | ||
1135 | |||
1136 | // Not IE | ||
1137 | if (window.getSelection) | ||
1138 | { | ||
1139 | var s = window.getSelection(); | ||
1140 | // Safari | ||
1141 | if (s.setBaseAndExtent) | ||
1142 | { | ||
1143 | s.setBaseAndExtent(o, 0, o, o.innerText.length - 1); | ||
1144 | } | ||
1145 | // Firefox and Opera | ||
1146 | else | ||
1147 | { | ||
1148 | var r = document.createRange(); | ||
1149 | r.selectNodeContents(o); | ||
1150 | s.removeAllRanges(); | ||
1151 | s.addRange(r); | ||
1152 | } | ||
1153 | } | ||
1154 | // Some older browsers | ||
1155 | else if (document.getSelection) | ||
1156 | { | ||
1157 | var s = document.getSelection(); | ||
1158 | var r = document.createRange(); | ||
1159 | r.selectNodeContents(o); | ||
1160 | s.removeAllRanges(); | ||
1161 | s.addRange(r); | ||
1162 | } | ||
1163 | // IE | ||
1164 | else if (document.selection) | ||
1165 | { | ||
1166 | var r = document.body.createTextRange(); | ||
1167 | r.moveToElementText(o); | ||
1168 | r.select(); | ||
1169 | } | ||
1170 | |||
1171 | for(x = 0; x < box.length; x++) | ||
1172 | { | ||
1173 | if (box[x] == id) | ||
1174 | { | ||
1175 | selectedElement = x; | ||
1176 | } | ||
1177 | } | ||
1178 | |||
1179 | return o; | ||
1180 | } | ||
1181 | |||
1182 | // function findPosY taken from http://www.quirksmode.org/js/findpos.html | ||
1183 | function findPosY(obj) | ||
1184 | { | ||
1185 | var curtop = 0; | ||
1186 | if (obj.offsetParent) | ||
1187 | { | ||
1188 | while (obj.offsetParent) | ||
1189 | { | ||
1190 | curtop += obj.offsetTop | ||
1191 | obj = obj.offsetParent; | ||
1192 | } | ||
1193 | } | ||
1194 | else if (obj.y) | ||
1195 | { | ||
1196 | curtop += obj.y; | ||
1197 | } | ||
1198 | return curtop; | ||
1199 | } | ||
1200 | |||
1201 | function selectNextBox() | ||
1202 | { | ||
1203 | selectedElement += 1; | ||
1204 | if (selectedElement >= boxes) | ||
1205 | { | ||
1206 | selectedElement = 0; | ||
1207 | } | ||
1208 | obj = select_text(box[selectedElement]); | ||
1209 | window.scrollTo(0, findPosY(obj) - 100); | ||
1210 | } | ||
1211 | |||
1212 | function selectPrevBox() | ||
1213 | { | ||
1214 | selectedElement -= 1; | ||
1215 | if (selectedElement < 0) | ||
1216 | { | ||
1217 | selectedElement = boxes - 1; | ||
1218 | } | ||
1219 | obj = select_text(box[selectedElement]); | ||
1220 | window.scrollTo(0, findPosY(obj) - 100); | ||
1221 | } | ||
1222 | |||
1223 | function selectFirstBox() | ||
1224 | { | ||
1225 | selectedElement = 0; | ||
1226 | obj = select_text(box[selectedElement]); | ||
1227 | window.scrollTo(0, findPosY(obj) - 100); | ||
1228 | } | ||
1229 | |||
1230 | function mod_do_keypress(e) | ||
1231 | { | ||
1232 | /* section from w3 schools starts here http://www.w3schools.com/jsref/jsref_onkeypress.asp */ | ||
1233 | var keynum; | ||
1234 | /* section from w3 schools ends here */ | ||
1235 | |||
1236 | // The following line from http://www.ryancooper.com/resources/keycode.asp | ||
1237 | if (window.event) | ||
1238 | { | ||
1239 | keynum = window.event.keyCode; | ||
1240 | } | ||
1241 | else if (e) | ||
1242 | { | ||
1243 | keynum = e.which; | ||
1244 | } | ||
1245 | |||
1246 | switch (keynum) | ||
1247 | { | ||
1248 | // t / down keys | ||
1249 | case 84: | ||
1250 | case 40: | ||
1251 | selectNextBox(); | ||
1252 | return false; | ||
1253 | break; | ||
1254 | //up key | ||
1255 | case 38: | ||
1256 | selectPrevBox(); | ||
1257 | return false; | ||
1258 | break; | ||
1259 | case 83: | ||
1260 | case 37: | ||
1261 | selectFirstBox(); | ||
1262 | return false; | ||
1263 | break; | ||
1264 | } | ||
1265 | return true; // true allows browser to take care of any further key press combinations such as (ctrl|cmd) + c | ||
1266 | } | ||
1267 | |||
1268 | /** | ||
1269 | * Update the MODX with the selected dbms | ||
1270 | * | ||
1271 | */ | ||
1272 | function change_dbms($form) | ||
1273 | { | ||
1274 | $type = new Array(); | ||
1275 | $type[0] = ''; | ||
1276 | $type[1] = 'mysql'; | ||
1277 | $type[2] = 'mysql_41'; | ||
1278 | $type[3] = 'mysql_40'; | ||
1279 | $type[4] = 'firebird'; | ||
1280 | $type[5] = 'mssql'; | ||
1281 | $type[6] = 'oracle'; | ||
1282 | $type[7] = 'postgres'; | ||
1283 | $type[8] = 'sqllite'; | ||
1284 | |||
1285 | $exists = 0; | ||
1286 | $tags = document.getElementsByTagName('dbms'); | ||
1287 | |||
1288 | if ($form) | ||
1289 | { | ||
1290 | sql_display($form.value); | ||
1291 | } | ||
1292 | else | ||
1293 | { | ||
1294 | if ($tags.length > 0) | ||
1295 | { | ||
1296 | for ($i = 0; $i < $tags.length; $i++) | ||
1297 | { | ||
1298 | $dbms = $tags[$i].attributes['type'].nodeValue; | ||
1299 | |||
1300 | if (!$dbms) | ||
1301 | { | ||
1302 | continue; | ||
1303 | } | ||
1304 | |||
1305 | $position = in_array($type, $dbms, true); | ||
1306 | if ($position !== false) | ||
1307 | { | ||
1308 | if ($exists > 0 && $position < $exists) | ||
1309 | { | ||
1310 | $exists = $position; | ||
1311 | } | ||
1312 | else if ($exists == 0) | ||
1313 | { | ||
1314 | $exists = $position; | ||
1315 | } | ||
1316 | } | ||
1317 | } | ||
1318 | |||
1319 | if ($exists > 0) | ||
1320 | { | ||
1321 | sql_display($type[$exists]); | ||
1322 | } | ||
1323 | } | ||
1324 | } | ||
1325 | |||
1326 | return; | ||
1327 | } | ||
1328 | |||
1329 | /** | ||
1330 | * display the dbms specific sql data with the dbms we have selected | ||
1331 | * | ||
1332 | */ | ||
1333 | function sql_display($value) | ||
1334 | { | ||
1335 | $tags = document.getElementsByTagName('dbms'); | ||
1336 | |||
1337 | // show the dbms of type we have selected, hide all others except for non dbms specific | ||
1338 | for ($i = 0; $i < $tags.length; $i++) | ||
1339 | { | ||
1340 | $dbms = $tags[$i].attributes['type'].nodeValue; | ||
1341 | |||
1342 | if (!$dbms) | ||
1343 | { | ||
1344 | continue; | ||
1345 | } | ||
1346 | |||
1347 | if ($dbms == $value) | ||
1348 | { | ||
1349 | $tags[$i].style.display = ''; | ||
1350 | } | ||
1351 | else | ||
1352 | { | ||
1353 | $tags[$i].style.display = 'none'; | ||
1354 | } | ||
1355 | } | ||
1356 | } | ||
1357 | |||
1358 | /** | ||
1359 | * load the sql dropdown with all the database types supported by this MODX file | ||
1360 | * | ||
1361 | */ | ||
1362 | function sql_dropdown() | ||
1363 | { | ||
1364 | var $dbms_element = document.getElementById('dbms'); | ||
1365 | var $dbms_selector = document.getElementById('dbms-selector'); | ||
1366 | if (!$dbms_element || !$dbms_selector) | ||
1367 | { | ||
1368 | return; | ||
1369 | } | ||
1370 | |||
1371 | $type = new Array(); | ||
1372 | $type[0] = 'mysql'; | ||
1373 | $type[1] = 'mysql_41'; | ||
1374 | $type[2] = 'mysql_40'; | ||
1375 | $type[3] = 'firebird'; | ||
1376 | $type[4] = 'mssql'; | ||
1377 | $type[5] = 'oracle'; | ||
1378 | $type[6] = 'postgres'; | ||
1379 | $type[7] = 'sqllite'; | ||
1380 | |||
1381 | $options = new Array(); | ||
1382 | $tags = document.getElementsByTagName('dbms'); | ||
1383 | |||
1384 | // show the dbms of type we have selected, hide all others except for non dbms specific | ||
1385 | for ($i = 0; $i < $tags.length; $i++) | ||
1386 | { | ||
1387 | $dbms = $tags[$i].attributes['type'].nodeValue; | ||
1388 | $position = in_array($type, $dbms, true); | ||
1389 | |||
1390 | if (!$dbms) | ||
1391 | { | ||
1392 | continue; | ||
1393 | } | ||
1394 | else if ($position !== false) | ||
1395 | { | ||
1396 | $options[$position] = '<option value=' + $dbms + '>' + $dbms + '</option>'; | ||
1397 | } | ||
1398 | } | ||
1399 | |||
1400 | if ($options.length > 0) | ||
1401 | { | ||
1402 | $selects = ''; | ||
1403 | |||
1404 | // sort options and output in the correct order | ||
1405 | for ($i = 0; $i < $type.length; $i++) | ||
1406 | { | ||
1407 | if ($options[$i]) | ||
1408 | { | ||
1409 | $selects += $options[$i]; | ||
1410 | } | ||
1411 | } | ||
1412 | $dbms_element.innerHTML = $selects; | ||
1413 | } | ||
1414 | else | ||
1415 | { | ||
1416 | $dbms_selector.style.display = 'none'; | ||
1417 | } | ||
1418 | } | ||
1419 | //-->]]> | ||
1420 | </xsl:text> | ||
1421 | </script> | ||
1422 | </head> | ||
1423 | <body class="ltr" onload="startup()"> | ||
1424 | <div id="debug"></div> | ||
1425 | <div id="wrap"> | ||
1426 | <div id="page-header"> | ||
1427 | <h1><span id="lang-h1">Installation Instructions for </span>'<xsl:value-of select="$title" />' <span id="lang-V">Version </span><xsl:value-of select="$version" /></h1> | ||
1428 | <form method="post" action="" id="lang-selector" style="display: none;"> | ||
1429 | <fieldset class="nobg"> | ||
1430 | <label for="language"> <span id="lang-slg">Select Language:</span> </label> | ||
1431 | <select id="language" name="language" onclick="load_languages()"> | ||
1432 | <option value="en" selected="selected">English</option> | ||
1433 | </select> | ||
1434 | </fieldset> | ||
1435 | </form> | ||
1436 | </div> | ||
1437 | <div id="page-body"> | ||
1438 | <div id="acp"> | ||
1439 | <div class="panel"> <span class="corners-top"> <span></span> </span> | ||
1440 | <div id="content"> | ||
1441 | <div id="main"> | ||
1442 | <xsl:for-each select="mod:header"> | ||
1443 | <xsl:call-template name="give-header"> | ||
1444 | </xsl:call-template> | ||
1445 | </xsl:for-each> | ||
1446 | <hr /> | ||
1447 | <fieldset class="permissions" id="Fieldset1"> | ||
1448 | <xsl:for-each select="mod:action-group"> | ||
1449 | <xsl:call-template name="give-actions"> | ||
1450 | </xsl:call-template> | ||
1451 | </xsl:for-each> | ||
1452 | <hr /> | ||
1453 | <div class="endMOD"> | ||
1454 | <h2 id="lang-eom">Save all files. End of MOD.</h2> | ||
1455 | <p id="lang-eomt">You have finished the installation for this MOD. Upload all changed files to your website. If the installation went bad, simply restore your backed up files.</p> | ||
1456 | </div> | ||
1457 | </fieldset> | ||
1458 | </div> | ||
1459 | </div> | ||
1460 | <span class="corners-bottom"> <span></span> </span> </div> | ||
1461 | </div> | ||
1462 | </div> | ||
1463 | <div id="page-footer"> | ||
1464 | <p class="copyright" style="text-align: center; font-size: 10px;" id="lang-foot">MOD UA XSLT File Copyright © 2008 The phpBB Group. This MOD is copyright to the authors listed above.</p> | ||
1465 | </div> | ||
1466 | </div> | ||
1467 | </body> | ||
1468 | </html> | ||
1469 | </xsl:template> | ||
1470 | <xsl:template name="give-header"> | ||
1471 | <fieldset> | ||
1472 | <legend id="lang-atm">About this MOD</legend> | ||
1473 | <div class="mod-about"> | ||
1474 | <span class="corners-top"><span></span></span> | ||
1475 | <dl> | ||
1476 | <dt id="lang-t">Title:</dt> | ||
1477 | <dd> | ||
1478 | <xsl:if test="count(mod:title) > 1"> | ||
1479 | <dl id="title" class="nopadding"> | ||
1480 | <xsl:for-each select="mod:title"> | ||
1481 | <dt><xsl:value-of select="@lang" /></dt> | ||
1482 | <dd style='white-space:pre;' lang="{@lang}"> | ||
1483 | <p><xsl:value-of select="current()" /></p> | ||
1484 | </dd> | ||
1485 | </xsl:for-each> | ||
1486 | </dl> | ||
1487 | </xsl:if> | ||
1488 | <xsl:if test="count(mod:title) = 1"> | ||
1489 | <p lang="{@lang}" style='white-space:pre;'><xsl:value-of select="mod:title" /></p> | ||
1490 | </xsl:if> | ||
1491 | </dd> | ||
1492 | <dt id="lang-d">Description:</dt> | ||
1493 | <dd> | ||
1494 | <xsl:if test="count(mod:description) > 1"> | ||
1495 | <dl id="description" class="nopadding"> | ||
1496 | <xsl:for-each select="mod:description"> | ||
1497 | <dt><xsl:value-of select="@lang" /></dt> | ||
1498 | <dd lang="{@lang}"> | ||
1499 | <p> | ||
1500 | <xsl:call-template name="add-line-breaks"> | ||
1501 | <xsl:with-param name="string"> | ||
1502 | <xsl:value-of select="current()" /> | ||
1503 | </xsl:with-param> | ||
1504 | </xsl:call-template> | ||
1505 | </p> | ||
1506 | </dd> | ||
1507 | </xsl:for-each> | ||
1508 | </dl> | ||
1509 | </xsl:if> | ||
1510 | <xsl:if test="count(mod:description) = 1"> | ||
1511 | <p lang="{@lang}"> | ||
1512 | <xsl:call-template name="add-line-breaks"> | ||
1513 | <xsl:with-param name="string"> | ||
1514 | <xsl:value-of select="mod:description" /> | ||
1515 | </xsl:with-param> | ||
1516 | </xsl:call-template> | ||
1517 | </p> | ||
1518 | </xsl:if> | ||
1519 | </dd> | ||
1520 | <dt id="lang-aV">Version:</dt> | ||
1521 | <dd class="mod-about"> | ||
1522 | <p> | ||
1523 | <xsl:for-each select="mod:mod-version"> | ||
1524 | <xsl:value-of select="$version" /> | ||
1525 | </xsl:for-each> | ||
1526 | </p> | ||
1527 | </dd> | ||
1528 | <xsl:for-each select="mod:installation"> | ||
1529 | <xsl:call-template name="give-installation"></xsl:call-template> | ||
1530 | </xsl:for-each> | ||
1531 | </dl> | ||
1532 | <span class="corners-bottom"><span></span></span> | ||
1533 | </div> | ||
1534 | </fieldset> | ||
1535 | <fieldset> | ||
1536 | <xsl:for-each select="mod:author-group"> | ||
1537 | <xsl:if test="count(mod:author) > 1"> | ||
1538 | <legend id="lang-aus">Authors</legend> | ||
1539 | </xsl:if> | ||
1540 | <xsl:if test="count(mod:author) = 1"> | ||
1541 | <legend id="lang-au">Author</legend> | ||
1542 | </xsl:if> | ||
1543 | <xsl:call-template name="give-authors"></xsl:call-template> | ||
1544 | </xsl:for-each> | ||
1545 | </fieldset> | ||
1546 | <h3 id="lang-fte">Files to Edit</h3> | ||
1547 | <xsl:for-each select="../mod:action-group"> | ||
1548 | <xsl:call-template name="give-files-to-edit"></xsl:call-template> | ||
1549 | </xsl:for-each> | ||
1550 | <h3 id="lang-icf">Included Files</h3> | ||
1551 | <xsl:if test="count(../mod:action-group/mod:copy/mod:file) = 0"> | ||
1552 | <p id="lang-icfn">No files have been included with this MOD.</p> | ||
1553 | </xsl:if> | ||
1554 | <xsl:for-each select="../mod:action-group"> | ||
1555 | <xsl:call-template name="give-files-included"></xsl:call-template> | ||
1556 | </xsl:for-each> | ||
1557 | <h3 id="lang-addtl-modx">Additional MODX Files</h3> | ||
1558 | <xsl:if test="count(mod:link-group/mod:link) = 0"> | ||
1559 | <p id="lang-imn">This MOD has no additional MODX files.</p> | ||
1560 | </xsl:if> | ||
1561 | <ul class="link-group" id="link-group"> | ||
1562 | <xsl:for-each select="mod:link-group/mod:link"> | ||
1563 | <li lang="{@lang}"><span class="link-group-lang"><xsl:value-of select="@lang" /> </span><strong style="text-transform: capitalize;"><xsl:value-of select="@type" />:</strong> <a href="{@href}"><xsl:value-of select="current()" /></a></li> | ||
1564 | </xsl:for-each> | ||
1565 | </ul> | ||
1566 | <hr /> | ||
1567 | <div id="modDisclaimer"> | ||
1568 | <h3 id="lang-dcl">Disclaimer</h3> | ||
1569 | <div class="mod-about"> | ||
1570 | <span class="corners-top"><span></span></span> | ||
1571 | <div class="mod-about-padding"> | ||
1572 | <p><span id="lang-dclt">For security purposes, please check: <a href="http://www.phpbb.com/mods/">http://www.phpbb.com/mods/</a>for the latest version of this MOD. Downloading this MOD from other sites could cause malicious code to enter into your phpBB Forum. As such, phpBB will not offer support for MODs not offered in our MODs database, located at: <a href="http://www.phpbb.com/mods/">http://www.phpbb.com/mods/</a></span></p> | ||
1573 | </div> | ||
1574 | <span class="corners-bottom"><span></span></span> | ||
1575 | </div> | ||
1576 | </div> | ||
1577 | <h3 id="lang-ant">Author Notes</h3> | ||
1578 | <div class="mod-about"> | ||
1579 | <span class="corners-top"><span></span></span> | ||
1580 | <xsl:if test="count(mod:author-notes) > 1"> | ||
1581 | <dl id="author-notes"> | ||
1582 | <xsl:for-each select="mod:author-notes"> | ||
1583 | <dt><xsl:value-of select="@lang" /></dt> | ||
1584 | <dd lang="{@lang}"> | ||
1585 | <xsl:call-template name="add-line-breaks"> | ||
1586 | <xsl:with-param name="string"> | ||
1587 | <xsl:value-of select="current()" /> | ||
1588 | </xsl:with-param> | ||
1589 | </xsl:call-template> | ||
1590 | </dd> | ||
1591 | </xsl:for-each> | ||
1592 | </dl> | ||
1593 | </xsl:if> | ||
1594 | <xsl:if test="count(mod:author-notes) = 1"> | ||
1595 | <div class="mod-about-padding"> | ||
1596 | <xsl:call-template name="add-line-breaks"> | ||
1597 | <xsl:with-param name="string"> | ||
1598 | <xsl:value-of select="mod:author-notes" /> | ||
1599 | </xsl:with-param> | ||
1600 | </xsl:call-template> | ||
1601 | </div> | ||
1602 | </xsl:if> | ||
1603 | <span class="corners-bottom"><span></span></span> | ||
1604 | </div> | ||
1605 | <div> | ||
1606 | <xsl:for-each select="mod:history"> | ||
1607 | <xsl:call-template name="give-mod-history"></xsl:call-template> | ||
1608 | </xsl:for-each> | ||
1609 | <h3 id="lang-lic">License</h3> | ||
1610 | <div class="mod-about"> | ||
1611 | <span class="corners-top"><span></span></span> | ||
1612 | <div class="mod-about-padding"> | ||
1613 | <p><span id="lang-lict">This MOD has been licensed under the following license:</span></p> | ||
1614 | <p style='white-space:pre;'><a href="license.txt"><xsl:value-of select="mod:license" /></a></p> | ||
1615 | </div> | ||
1616 | <span class="corners-bottom"><span></span></span> | ||
1617 | </div> | ||
1618 | <h3 id="lang-ont">Other Notes</h3> | ||
1619 | <div class="mod-about" id="other-notes"> | ||
1620 | <span class="corners-top"><span></span></span> | ||
1621 | <div class="mod-about-padding"> | ||
1622 | <p><span id="lang-ontt1">Before adding this MOD to your forum, you should back up all files related to this MOD</span></p> | ||
1623 | <p><span id="lang-ontt2">This MOD was designed for phpBB</span> <xsl:value-of select="mod:installation/mod:target-version/mod:target-primary" /><span id="lang-ontt3"> and may not function as stated on other phpBB versions. MODs for phpBB3.0 will <strong>not</strong> work on phpBB2.0 and vice versa.</span></p> | ||
1624 | <xsl:for-each select="./mod:mod-version"> | ||
1625 | <xsl:if test="substring(current(), 3, 1) mod 2 != 0 or substring(current(), 0, 1) = 0"> | ||
1626 | <p><strong class="red"><span id="lang-onttq">This MOD is development quality. It is not recommended that you install it on a live forum.</span></strong></p> | ||
1627 | </xsl:if> | ||
1628 | </xsl:for-each> | ||
1629 | </div> | ||
1630 | <span class="corners-bottom"><span></span></span> | ||
1631 | </div> | ||
1632 | <div id="mod-support"> | ||
1633 | <h4><span id="lang-isp"></span></h4> | ||
1634 | <div class="mod-about"> | ||
1635 | <span class="corners-top"><span></span></span> | ||
1636 | <div class="mod-about-padding"> | ||
1637 | <p><span id="lang-ispt"></span></p> | ||
1638 | </div> | ||
1639 | <span class="corners-bottom"><span></span></span> | ||
1640 | </div> | ||
1641 | </div> | ||
1642 | </div> | ||
1643 | </xsl:template> | ||
1644 | <xsl:template name="give-authors"> | ||
1645 | <xsl:for-each select="mod:author"> | ||
1646 | <div class="mod-about"> | ||
1647 | <span class="corners-top"><span></span></span> | ||
1648 | <xsl:call-template name="give-author"></xsl:call-template> | ||
1649 | <span class="corners-bottom"><span></span></span> | ||
1650 | </div> | ||
1651 | </xsl:for-each> | ||
1652 | </xsl:template> | ||
1653 | <xsl:template name="give-author"> | ||
1654 | <dl class="author-info"> | ||
1655 | <dt id="lang-a-un[{generate-id()}]">Username:</dt> | ||
1656 | <dd><a href="http://www.phpbb.com/phpBB/profile.php?mode=viewprofile&un={translate(mod:username, ' ', '+')}"><xsl:value-of select="mod:username" /></a></dd> | ||
1657 | <xsl:if test="mod:email != 'N/A' and mod:email != 'n/a' and mod:email != ''"> | ||
1658 | <dt id="lang-a-e[{generate-id()}]">Email:</dt> | ||
1659 | <dd><a href="mailto:{mod:email}"><xsl:value-of select="mod:email" /></a></dd> | ||
1660 | </xsl:if> | ||
1661 | <dt id="lang-a-n[{generate-id()}]">Name:</dt> | ||
1662 | <dd><xsl:value-of select="mod:realname" /></dd> | ||
1663 | <xsl:if test="mod:homepage != 'N/A' and mod:homepage != 'n/a' and mod:homepage!=''"> | ||
1664 | <dt id="lang-a-h[{generate-id()}]">WWW:</dt> | ||
1665 | <dd><a href="{mod:homepage}"><xsl:value-of select="mod:homepage" /></a></dd> | ||
1666 | </xsl:if> | ||
1667 | <xsl:if test="count(mod:contributions) > 0 and count(mod:contributions/mod:status) > 0"> | ||
1668 | <dt id="lang-a-c[{generate-id()}]">Contributions:</dt> | ||
1669 | <dd> | ||
1670 | <xsl:if test="count(mod:contributions/mod:status) > 0"> | ||
1671 | <xsl:value-of select="mod:contributions/mod:status" /><br /> | ||
1672 | From:<xsl:value-of select="mod:contributions/mod:from" /><br /> | ||
1673 | To:<xsl:value-of select="mod:contributions/mod:to" /> | ||
1674 | </xsl:if> | ||
1675 | </dd> | ||
1676 | </xsl:if> | ||
1677 | </dl> | ||
1678 | <br /> | ||
1679 | </xsl:template> | ||
1680 | <xsl:template name="give-installation"> | ||
1681 | <dt id="lang-il">Installation Level:</dt> | ||
1682 | <dd class="mod-about"> | ||
1683 | <div class="inner"> | ||
1684 | <xsl:if test="mod:level='easy'"> | ||
1685 | <p id="lang-ile">Easy</p> | ||
1686 | </xsl:if> | ||
1687 | <xsl:if test="mod:level='intermediate'"> | ||
1688 | <p id="lang-ili">Intermediate</p> | ||
1689 | </xsl:if> | ||
1690 | <xsl:if test="mod:level='advanced'"> | ||
1691 | <p id="lang-ila">Advanced</p> | ||
1692 | </xsl:if> | ||
1693 | </div> | ||
1694 | </dd> | ||
1695 | <dt id="lang-it">Installation Time:</dt> | ||
1696 | <dd class="mod-about"> | ||
1697 | <div class="inner"> | ||
1698 | <p>~<xsl:value-of select="floor(mod:time div 60)" /><span id="lang-mint">minutes</span></p> | ||
1699 | </div> | ||
1700 | </dd> | ||
1701 | </xsl:template> | ||
1702 | <xsl:template name="give-mod-history"> | ||
1703 | <xsl:if test="count(mod:entry) > 0"> | ||
1704 | <fieldset> | ||
1705 | <legend id="lang-mh">MOD History</legend> | ||
1706 | <xsl:for-each select="mod:entry"> | ||
1707 | <xsl:call-template name="give-history-entry"></xsl:call-template> | ||
1708 | </xsl:for-each> | ||
1709 | </fieldset> | ||
1710 | </xsl:if> | ||
1711 | </xsl:template> | ||
1712 | <xsl:template name="give-history-entry"> | ||
1713 | <div class="mod-about"> | ||
1714 | <span class="corners-top"><span></span></span> | ||
1715 | <dl class="mod-history"> | ||
1716 | <dt> | ||
1717 | <p><strong><xsl:value-of select="substring(mod:date,1,10)" /><span id="lang-mhe-v[{generate-id()}]"> - Version</span> | ||
1718 | <xsl:for-each select="mod:rev-version"> | ||
1719 | <xsl:value-of select="current()" /> | ||
1720 | </xsl:for-each> | ||
1721 | </strong></p> | ||
1722 | </dt> | ||
1723 | <dd><br clear="all" /> | ||
1724 | <xsl:if test="count(mod:changelog) > 1"> | ||
1725 | <dl id="mhcl[{generate-id()}]"> | ||
1726 | <xsl:for-each select="mod:changelog"> | ||
1727 | <xsl:call-template name="give-history-entry-changelog"></xsl:call-template> | ||
1728 | </xsl:for-each> | ||
1729 | </dl> | ||
1730 | </xsl:if> | ||
1731 | <xsl:if test="count(mod:changelog) = 1"> | ||
1732 | <xsl:for-each select="mod:changelog"> | ||
1733 | <xsl:call-template name="give-history-entry-changelog-single"></xsl:call-template> | ||
1734 | </xsl:for-each> | ||
1735 | </xsl:if> | ||
1736 | </dd> | ||
1737 | </dl> | ||
1738 | <span class="corners-bottom"><span></span></span> | ||
1739 | </div> | ||
1740 | </xsl:template> | ||
1741 | <xsl:template name="give-history-entry-changelog"> | ||
1742 | <dt><xsl:value-of select="@lang" /></dt> | ||
1743 | <dd lang="{@lang}"> | ||
1744 | <ul> | ||
1745 | <xsl:for-each select="mod:change"> | ||
1746 | <li> | ||
1747 | <p><xsl:value-of select="current()" /></p> | ||
1748 | </li> | ||
1749 | </xsl:for-each> | ||
1750 | </ul> | ||
1751 | </dd> | ||
1752 | </xsl:template> | ||
1753 | <xsl:template name="give-history-entry-changelog-single"> | ||
1754 | <ul> | ||
1755 | <xsl:for-each select="mod:change"> | ||
1756 | <li> | ||
1757 | <p><xsl:value-of select="current()" /></p> | ||
1758 | </li> | ||
1759 | </xsl:for-each> | ||
1760 | </ul> | ||
1761 | </xsl:template> | ||
1762 | <xsl:template name="give-files-to-edit"> | ||
1763 | <ul> | ||
1764 | <xsl:for-each select="mod:open"> | ||
1765 | <xsl:call-template name="give-file"></xsl:call-template> | ||
1766 | </xsl:for-each> | ||
1767 | </ul> | ||
1768 | </xsl:template> | ||
1769 | <xsl:template name="give-files-included"> | ||
1770 | <ul> | ||
1771 | <xsl:for-each select="mod:copy"> | ||
1772 | <xsl:call-template name="give-file-copy"></xsl:call-template> | ||
1773 | </xsl:for-each> | ||
1774 | </ul> | ||
1775 | </xsl:template> | ||
1776 | <xsl:template name="give-file"> | ||
1777 | <li><xsl:value-of select="@src" /><xsl:if test="position()!=last()">,</xsl:if></li> | ||
1778 | </xsl:template> | ||
1779 | <xsl:template name="give-file-copy"> | ||
1780 | <xsl:for-each select="mod:file"> | ||
1781 | <li><xsl:value-of select="@from" /> | ||
1782 | <xsl:if test="position()!=last()">, | ||
1783 | </xsl:if> | ||
1784 | </li> | ||
1785 | </xsl:for-each> | ||
1786 | </xsl:template> | ||
1787 | |||
1788 | <xsl:template name="give-actions"> | ||
1789 | <xsl:if test="count(mod:sql) > 0"> | ||
1790 | <form method="post" action="" id="dbms-selector"> | ||
1791 | <fieldset class="nobg"> | ||
1792 | <label for="dbms"> <span id="lang-dbms">Select Database Type:</span> </label> | ||
1793 | <select id="dbms" name="dbms" onchange="change_dbms(this)"> | ||
1794 | <option value="mysql_41" selected="selected">MySQL 41</option> | ||
1795 | <option value="mysql_40">MySQL 40</option> | ||
1796 | <option value="firebird">Firebird</option> | ||
1797 | <option value="mssql">MSSQL</option> | ||
1798 | <option value="oracle">Oracle</option> | ||
1799 | <option value="postgres">Postgres</option> | ||
1800 | <option value="sqllite">SQLLite</option> | ||
1801 | </select> | ||
1802 | </fieldset> | ||
1803 | </form> | ||
1804 | <h2 id="lang-sql">SQL</h2> | ||
1805 | <div id="sql" class="mod-about"> | ||
1806 | <span class="corners-top"><span></span></span> | ||
1807 | <xsl:for-each select="mod:sql"> | ||
1808 | <xsl:call-template name="give-sql"></xsl:call-template> | ||
1809 | </xsl:for-each> | ||
1810 | <span class="corners-bottom"><span></span></span></div> | ||
1811 | </xsl:if> | ||
1812 | <xsl:if test="count(mod:copy) > 0"> | ||
1813 | <xsl:for-each select="mod:copy"> | ||
1814 | <xsl:call-template name="give-filez"></xsl:call-template> | ||
1815 | </xsl:for-each> | ||
1816 | </xsl:if> | ||
1817 | <xsl:if test="count(mod:open) > 0"> | ||
1818 | <h2 id="lang-edts">Edits</h2> | ||
1819 | <p><span class="key">s</span><span class="key">↑</span><span class="key">↓</span></p> | ||
1820 | <p><span id="lang-edtt">Use your keyboard to navigate the code boxes. You may also hit '<em>s</em>' on your keyboard to go to the first code box.</span></p> | ||
1821 | <div id="edits"> | ||
1822 | <div class="inner"> | ||
1823 | <xsl:for-each select="mod:open"> | ||
1824 | <xsl:call-template name="give-fileo"></xsl:call-template> | ||
1825 | </xsl:for-each> | ||
1826 | </div> | ||
1827 | </div> | ||
1828 | </xsl:if> | ||
1829 | <xsl:call-template name="give-manual"></xsl:call-template> | ||
1830 | </xsl:template> | ||
1831 | <xsl:template name="give-sql"> | ||
1832 | <dbms type="{@dbms}"> | ||
1833 | <div class="content"> | ||
1834 | <xsl:if test="@dbms != ''"> | ||
1835 | <xsl:value-of select="@dbms" />: | ||
1836 | </xsl:if> | ||
1837 | <div class="codebox"> | ||
1838 | <div class="codeHead"><span id="lang-cde-c[{generate-id()}]">Code:</span><a href="#" onclick="select_code(this); return false;" class="codeSelect"><span id="lang-cde-sa[{generate-id()}]">Select All</span></a></div> | ||
1839 | <div class="codePre"> | ||
1840 | <pre id="{generate-id()}"><xsl:value-of select="current()" /></pre> | ||
1841 | </div> | ||
1842 | </div> | ||
1843 | </div> | ||
1844 | </dbms> | ||
1845 | </xsl:template> | ||
1846 | <xsl:template name="give-manual"> | ||
1847 | <xsl:if test="count(mod:diy-instructions) > 0"> | ||
1848 | <h2 id="lang-diy">DIY Instructions</h2> | ||
1849 | <div class="mod-about"> | ||
1850 | <span class="corners-top"><span></span></span> | ||
1851 | <div class="mod-about-padding"> | ||
1852 | <p><span id="lang-diyt">These are manual instructions that cannot be performed automatically. You should follow these instructions carefully.</span></p> | ||
1853 | </div> | ||
1854 | <div id="diy"> | ||
1855 | <xsl:for-each select="mod:diy-instructions"> | ||
1856 | <div lang="{@lang}" style="margin:0;"> | ||
1857 | <div class="content"> | ||
1858 | <div class="codebox"> | ||
1859 | <div class="codeHead"><span id="lang-cde-c[{generate-id()}]">Code:</span><a href="#" onclick="select_code(this); return false;" class="codeSelect"><span id="lang-cde-sa[{generate-id()}]">Select All</span></a></div> | ||
1860 | <div class="codePre"> | ||
1861 | <pre id="{generate-id()}"><xsl:value-of select="current()" /></pre> | ||
1862 | </div> | ||
1863 | </div> | ||
1864 | </div> | ||
1865 | </div> | ||
1866 | </xsl:for-each> | ||
1867 | </div> | ||
1868 | <span class="corners-bottom"><span></span></span> | ||
1869 | </div> | ||
1870 | </xsl:if> | ||
1871 | </xsl:template> | ||
1872 | <xsl:template name="give-fileo"> | ||
1873 | <div class="mod-about"><span class="corners-top"><span></span></span> | ||
1874 | <div class="editFile"> | ||
1875 | <h3><span id="lang-opn[{generate-id()}]">Open:</span> <xsl:value-of select="@src" /></h3> | ||
1876 | <xsl:for-each select="mod:edit"> | ||
1877 | <div class="mod-edit"> | ||
1878 | <xsl:if test="count(mod:comment) > 0"> | ||
1879 | <div class="mod-comment"> | ||
1880 | <h4 id="lang-cm-cmt[{generate-id()}]">Comments</h4> | ||
1881 | <dl id="mod-comment[{generate-id()}]"> | ||
1882 | <xsl:for-each select="mod:comment"> | ||
1883 | <dt><span> | ||
1884 | <xsl:if test="count(../mod:comment) > 1"> | ||
1885 | <xsl:value-of select="@lang" /> | ||
1886 | </xsl:if> | ||
1887 | </span></dt> | ||
1888 | <dd lang="{@lang}"><xsl:value-of select="current()" /></dd> | ||
1889 | </xsl:for-each> | ||
1890 | </dl> | ||
1891 | </div> | ||
1892 | </xsl:if> | ||
1893 | <xsl:for-each select="mod:find|mod:action|mod:inline-edit"> | ||
1894 | <xsl:if test="name() = 'find'"> | ||
1895 | <h4 id="lang-fnd[{generate-id()}]">Find</h4> | ||
1896 | <p><span id="lang-fndt[{generate-id()}]"><strong>Tip:</strong>This may be a partial find and not the whole line.</span> | ||
1897 | <xsl:if test="@type = 'regex'"> | ||
1898 | <br /> | ||
1899 | <em id="lang-regex[{generate-id()}]">This find contains an advanced feature known as regular expressions, click here to learn more.</em> | ||
1900 | </xsl:if> | ||
1901 | </p> | ||
1902 | <div class="codebox"> | ||
1903 | <div class="codeHead"><span id="lang-cde-c[{generate-id()}]">Code:</span><a href="#" onclick="select_code(this); return false;" class="codeSelect"><span id="lang-cde-sa[{generate-id()}]">Select All</span></a></div> | ||
1904 | <div class="codePre"> | ||
1905 | <pre id="{generate-id()}"><xsl:value-of select="current()" /></pre> | ||
1906 | </div> | ||
1907 | </div> | ||
1908 | </xsl:if> | ||
1909 | <xsl:if test="name() = 'action'"> | ||
1910 | <xsl:if test="@type = 'after-add'"> | ||
1911 | <h4 id="lang-aft[{generate-id()}]">Add after</h4> | ||
1912 | <p><span id="lang-aftt[{generate-id()}]"><strong>Tip:</strong>Add these lines on a new blank line after the preceding line(s) to find.</span></p> | ||
1913 | </xsl:if> | ||
1914 | <xsl:if test="@type = 'before-add'"> | ||
1915 | <h4 id="lang-bef[{generate-id()}]">Add before</h4> | ||
1916 | <p><span id="lang-beft[{generate-id()}]"><strong>Tip:</strong>Add these lines on a new blank line before the preceding line(s) to find.</span></p> | ||
1917 | </xsl:if> | ||
1918 | <xsl:if test="@type = 'replace-with'"> | ||
1919 | <h4 id="lang-rplw[{generate-id()}]">Replace With</h4> | ||
1920 | <p><span id="lang-rplwt[{generate-id()}]"><strong>Tip:</strong>Replace the preceding line(s) to find with the following lines.</span></p> | ||
1921 | </xsl:if> | ||
1922 | <xsl:if test="@type = 'operation'"> | ||
1923 | <h4 id="lang-inc[{generate-id()}]">Increment</h4> | ||
1924 | <p><span id="lang-inct[{generate-id()}]"><strong>Tip:</strong>This allows you to alter integers. For help on what each operator means, click here.</span></p> | ||
1925 | </xsl:if> | ||
1926 | <div class="codebox"> | ||
1927 | <div class="codeHead"><span id="lang-cde-c[{generate-id()}]">Code:</span><a href="#" onclick="select_code(this); return false;" class="codeSelect"><span id="lang-cde-sa[{generate-id()}]">Select All</span></a></div> | ||
1928 | <div class="codePre"> | ||
1929 | <pre id="{generate-id()}"><xsl:value-of select="current()" /></pre> | ||
1930 | </div> | ||
1931 | </div> | ||
1932 | </xsl:if> | ||
1933 | <xsl:if test="name() = 'inline-edit'"> | ||
1934 | <div class="mod-inlineedit"> | ||
1935 | <xsl:for-each select="mod:inline-find|mod:inline-action|mod:inline-comment"> | ||
1936 | <xsl:if test="name() = 'inline-find'"> | ||
1937 | <h5 id="lang-ifnd[{generate-id()}]">In-line Find</h5> | ||
1938 | <p><span id="lang-ifndt[{generate-id()}]"><strong>Tip:</strong>This is a partial match of a line for in-line operations.</span> | ||
1939 | <xsl:if test="@type = 'regex'"> | ||
1940 | <br /> | ||
1941 | <em id="lang-regex[{generate-id()}]">This find contains an advanced feature known as regular expressions, click here to learn more.</em> | ||
1942 | </xsl:if> | ||
1943 | </p> | ||
1944 | <div class="codebox"> | ||
1945 | <div class="codeHead"><span id="lang-cde-c[{generate-id()}]">Code:</span><a href="#" onclick="select_code(this); return false;" class="codeSelect"><span id="lang-cde-sa[{generate-id()}]">Select All</span></a></div> | ||
1946 | <div class="codePre"> | ||
1947 | <pre id="{generate-id()}"><xsl:value-of select="current()" /></pre> | ||
1948 | </div> | ||
1949 | </div> | ||
1950 | </xsl:if> | ||
1951 | <xsl:if test="name() = 'inline-action'"> | ||
1952 | <xsl:if test="@type = 'after-add'"> | ||
1953 | <h5 id="lang-iaft[{generate-id()}]">In-line Add after</h5> | ||
1954 | <p><span id="lang-iaftt[{generate-id()}]"></span></p> | ||
1955 | </xsl:if> | ||
1956 | <xsl:if test="@type = 'before-add'"> | ||
1957 | <h5 id="lang-ibef[{generate-id()}]">In-line Add before</h5> | ||
1958 | <p><span id="lang-ibeft[{generate-id()}]"></span></p> | ||
1959 | </xsl:if> | ||
1960 | <xsl:if test="@type = 'replace-with'"> | ||
1961 | <h5 id="lang-irplw[{generate-id()}]">In-line Replace With</h5> | ||
1962 | <p><span id="lang-irplwt[{generate-id()}]"></span></p> | ||
1963 | </xsl:if> | ||
1964 | <xsl:if test="@type = 'operation'"> | ||
1965 | <h5 id="lang-iinc[{generate-id()}]">In-line Increment</h5> | ||
1966 | <p><span id="lang-iinct[{generate-id()}]"><strong>Tip:</strong>This allows you to alter integers. For help on what each operator means, click here.</span></p> | ||
1967 | </xsl:if> | ||
1968 | <div class="codebox"> | ||
1969 | <div class="codeHead"><span id="lang-cde-c[{generate-id()}]">Code:</span><a href="#" onclick="select_code(this); return false;" class="codeSelect"><span id="lang-cde-sa[{generate-id()}]">Select All</span></a></div> | ||
1970 | <div class="codePre"> | ||
1971 | <pre id="{generate-id()}"><xsl:value-of select="current()" /></pre> | ||
1972 | </div> | ||
1973 | </div> | ||
1974 | </xsl:if> | ||
1975 | <xsl:if test="name() = 'inline-comment'"> | ||
1976 | <dl id="comment[{generate-id()}]"> | ||
1977 | <dt><span id="lang-cm-cmt[{generate-id()}]">Comments</span> <span><xsl:value-of select="@lang" /></span></dt> | ||
1978 | <dd lang="{@lang}"><xsl:value-of select="current()" /></dd> | ||
1979 | </dl> | ||
1980 | </xsl:if> | ||
1981 | </xsl:for-each> | ||
1982 | </div> | ||
1983 | </xsl:if> | ||
1984 | </xsl:for-each> | ||
1985 | </div> | ||
1986 | </xsl:for-each> | ||
1987 | </div> | ||
1988 | <span class="corners-bottom"><span></span></span></div> | ||
1989 | </xsl:template> | ||
1990 | <xsl:template name="give-filez"> | ||
1991 | <h2 id="lang-fca">File Copy</h2> | ||
1992 | <ol id="file-copy"> | ||
1993 | <xsl:for-each select="mod:file"> | ||
1994 | <li><dl> | ||
1995 | <dt><span id="lang-c-copy[{generate-id()}]">Copy:</span> <xsl:value-of select="@from" /></dt> | ||
1996 | <dd><span id="lang-c-to[{generate-id()}]">To:</span> <xsl:value-of select="@to" /></dd> | ||
1997 | </dl> | ||
1998 | </li> | ||
1999 | </xsl:for-each> | ||
2000 | </ol> | ||
2001 | </xsl:template> | ||
2002 | <!-- add-line-breaks borrowed from http://www.stylusstudio.com/xsllist/200103/post40180.html --> | ||
2003 | <xsl:template name="add-line-breaks"> | ||
2004 | <xsl:param name="string" select="." /> | ||
2005 | <xsl:choose> | ||
2006 | <xsl:when test="contains($string, '
')"> | ||
2007 | <xsl:value-of select="substring-before($string, '
')" /><br /> | ||
2008 | <xsl:call-template name="add-line-breaks"> | ||
2009 | <xsl:with-param name="string" select="substring-after($string, '
')" /></xsl:call-template> | ||
2010 | </xsl:when> | ||
2011 | <xsl:otherwise> | ||
2012 | <xsl:value-of select="$string" /> | ||
2013 | </xsl:otherwise> | ||
2014 | </xsl:choose> | ||
2015 | </xsl:template> | ||
2016 | </xsl:stylesheet> \ No newline at end of file | ||