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