about summary refs log tree commit diff stats
path: root/update/plugin/phpBB3/trunk/modx.prosilver.en.xsl
diff options
context:
space:
mode:
Diffstat (limited to 'update/plugin/phpBB3/trunk/modx.prosilver.en.xsl')
-rw-r--r--update/plugin/phpBB3/trunk/modx.prosilver.en.xsl2016
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 "&#160;">
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
39body, div, p, th, td, li, dd {
40 font-size: x-small;
41 voice-family: "\"}\"";
42 voice-family: inherit;
43 font-size: 100%;
44}
45
46html>body, html>div, html>p, html>th, html>td, html>li, html>dd {
47 font-size: small
48}
49
50html {
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
58body {
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
67img {
68 border: 0;
69}
70
71h1 {
72 font-family: "Trebuchet MS", Helvetica, sans-serif;
73 font-size: 1.70em;
74 font-weight: normal;
75 color: #333333;
76}
77
78h2, 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
91h3, 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
99p {
100 margin-bottom: 0.7em;
101 line-height: 1.40em;
102 font-size: 1.0em;
103}
104
105ul {
106 list-style: disc;
107 margin: 0 0 1em 2em;
108}
109
110.rtl ul {
111 margin: 0 2em 1em 0;
112}
113
114hr {
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 */
127a:link, a:visited {
128 color: #105289;
129 text-decoration: none;
130}
131
132a:hover {
133 color: #BC2A4D;
134 text-decoration: underline;
135}
136
137a: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
226span.corners-top, span.corners-bottom,
227span.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
235span.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
239span.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
243span.corners-top {
244 background-position: 0 0;
245 margin: -4px -2px 0;
246}
247
248span.corners-top span {
249 background-position: 100% 0;
250}
251
252span.corners-bottom {
253 background-position: 0 100%;
254 margin: 0 -2px -4px;
255 clear: both;
256}
257
258span.corners-bottom span {
259 background-position: 100% 100%;
260}
261
262/* General form styles
263––––––––––––––––––––––––––––––––––––––––*/
264fieldset {
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
286fieldset p {
287 font-size: 1.0em;
288}
289
290legend {
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 \*/
306legend { 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
320optgroup, 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
330optgroup {
331 font-size: 1.00em;
332 font-weight: bold;
333}
334
335option {
336 padding: 0 1em 0 0;
337}
338
339.rtl option {
340 padding: 0 0 0 1em;
341}
342
343fieldset.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
413span.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
418dl.author-info dd { margin-left: 100px; margin-bottom: 8px; }
419
420ol#file-copy { padding: 5px; margin-left: 20px; margin-bottom: 10px; }
421ol#file-copy li { margin-left: 30px; }
422ol#file-copy span { font-weight: bold; }
423ol#file-copy dt {margin-right: 5px;
424float: none !important }
425ol#file-copy dl {width: 100%}
426
427
428h2#lang-fca { margin-left:5px; }
429h2#lang-edts { margin-left:5px; }
430h2#lang-diy { margin-left:5px; }
431h2#lang-sql { margin-left:5px; }
432
433
434/* Code block */
435div.codebox {
436 padding: 3px;
437 background-color: #FFFFFF;
438 border: 1px solid #d8d8d8;
439 font-size: 1em;
440}
441
442div.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
451div.codebox div.codeHead a.codeSelect {
452 padding-left: 4px;
453}
454
455blockquote div.codebox {
456 margin-left: 0;
457}
458
459div.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
474dt {
475 float: left;
476 width: auto;
477}
478
479.rtl dt {
480 float: right;
481}
482
483dd { color: #666666;}
484dd + dd { padding-top: 5px;}
485dt span { padding: 0 5px 0 0;}
486.rtl dt span { padding: 0 0 0 5px;}
487div.endMOD { padding: 0 5px; }
488 </style>
489 <title>phpBB MOD &#187; <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
649document.onkeydown = mod_do_keypress;
650
651var host = "http://www.phpbb.com/mods/modx/i18n/";
652
653var 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 &#169; 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
729var currentLanguage = "en";
730var languagesLoaded = false;
731
732var 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
752var languages = new Array('en');
753
754function startup()
755{
756 sql_dropdown();
757 change_dbms();
758 changeLanguage(currentLanguage);
759 document.getElementById('lang-selector').style.display = "block";
760}
761
762function 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
781function 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
800function 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
811var $xmlhttp = http_object();
812var $finished = 0;
813var $send_queue = new Array();
814var $running = false;
815
816var $divname;
817var $newform;
818var $newurl;
819var $output;
820
821function 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
833function 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
848function 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
864function 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
876function 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
912function 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
938function 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
987function 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
1016function 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
1043function 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
1064function 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
1114function 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
1124var selectedElement = -1;
1125var boxes = box.length;
1126var pre_count = 0;
1127
1128function 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
1183function 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
1201function 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
1212function 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
1223function selectFirstBox()
1224{
1225 selectedElement = 0;
1226 obj = select_text(box[selectedElement]);
1227 window.scrollTo(0, findPosY(obj) - 100);
1228}
1229
1230function 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 */
1272function 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 */
1333function 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 */
1362function 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 &#169; 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" />&nbsp;</span><strong style="text-transform: capitalize;"><xsl:value-of select="@type" />:</strong>&nbsp;<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>&nbsp;<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&amp;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>&nbsp;<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>&nbsp;<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>&nbsp;<xsl:value-of select="@from" /></dt>
1996 <dd><span id="lang-c-to[{generate-id()}]">To:</span>&nbsp;<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, '&#xA;')">
2007 <xsl:value-of select="substring-before($string, '&#xA;')" /><br />
2008 <xsl:call-template name="add-line-breaks">
2009 <xsl:with-param name="string" select="substring-after($string, '&#xA;')" /></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