| 1 |
--- this is the template that generates the outer tags of the page --- |
| 2 |
|
| 3 |
TRANSLATIONS = "Translations:Main" |
| 4 |
|
| 5 |
-------------------------------------------------------------------------------- |
| 6 |
------- BASIC TEMPLATES -------------------------------------------------------- |
| 7 |
-------------------------------------------------------------------------------- |
| 8 |
|
| 9 |
MAIN = [===[<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" |
| 10 |
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
| 11 |
<html xmlns="http://www.w3.org/1999/xhtml"> |
| 12 |
|
| 13 |
<head> |
| 14 |
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> |
| 15 |
$if_no_index[[<meta name="ROBOTS" content="NOINDEX, NOFOLLOW"/>]] |
| 16 |
<title>$site_title: $title</title> |
| 17 |
<link type="text/css" rel="stylesheet" href="$make_url{'sputnik/css/yui_reset.css'}" media="screen"/> |
| 18 |
<link type="text/css" rel="stylesheet" href="$make_url{'sputnik/css/layout.css'}" media="screen"/> |
| 19 |
<link type="text/css" rel="stylesheet" href="$make_url{'sputnik/css/colors.css'}" media="screen"/> |
| 20 |
|
| 21 |
$do_css_links[[ |
| 22 |
<link type="text/css" rel="stylesheet" href="$href" media="$media"/>]] |
| 23 |
$do_css_snippets[[ |
| 24 |
<style type="text/css" media="$media">$snippet</style>]] |
| 25 |
$do_javascript_links[[ |
| 26 |
<script type="text/javascript" src="$href"></script>]] |
| 27 |
$do_javascript_snippets[=[ |
| 28 |
<script type="text/javascript">/* <![CDATA[ */ $snippet /* ]]> */</script>]=] |
| 29 |
|
| 30 |
<link rel="shortcut icon" href="$favicon_url"/> |
| 31 |
<link rel="alternate" type="application/rss+xml" title="_(RECENT_EDITS_TO_SITE)" $site_rss_link/> |
| 32 |
<link rel="alternate" type="application/rss+xml" title="_(RECENT_EDITS_TO_NODE)" $node_rss_link/> |
| 33 |
</head> |
| 34 |
|
| 35 |
<body> |
| 36 |
<div id='doc3'> |
| 37 |
|
| 38 |
<div id="login"> <!--login and search (in the upper right corner) --> |
| 39 |
$if_search[[ <form action="$base_url" style="margin-right: 0px; padding-right: 0px;"> |
| 40 |
<input class="hidden" type="hidden" name="p" value="sputnik/search"/> |
| 41 |
<input class="search_box" type="text" name="q" size="16" value="$search_box_content"/> |
| 42 |
<input class="small_submit" type="submit" name="Search" value="_(SEARCH)" |
| 43 |
title="_(TOOLTIP_FOR_SEARCH)"/></form><br/>]] |
| 44 |
$if_logged_in[[ _(HI_USER) (<a $logout_link>_(LOGOUT)</a>) ]] |
| 45 |
$if_not_logged_in[[_(LOGIN_OR_REGISTER)]] |
| 46 |
<a $site_rss_link><img src="$make_url{'icons/feed_medium.png'}" id="rss_icon" title="_(RSS_FOR_EDITS_TO_THIS_WIKI)" alt="_(LARGE_RSS_ICON)" /></a> |
| 47 |
</div> |
| 48 |
|
| 49 |
<div id="logo"> |
| 50 |
<a class="logo" href="$home_page_url"> |
| 51 |
<img src="$logo_url" alt="_(LOGO)" /> |
| 52 |
</a> |
| 53 |
</div> |
| 54 |
|
| 55 |
<div id='hd'><!--navigation bar --> |
| 56 |
<ul id='menu'> $do_nav_sections[=[ |
| 57 |
<li class='$class' id='$id'> |
| 58 |
<a $link>$title</a> |
| 59 |
<ul class='$class'> <!-- ul.back will be hidden via CSS --> |
| 60 |
$subsections[[<li class='$class'><a $link>$title</a></li>]] |
| 61 |
<li style="display:none"> </li> |
| 62 |
</ul> |
| 63 |
</li>]=] |
| 64 |
</ul> |
| 65 |
<div id="breadcrumbs"> |
| 66 |
$if_multipart_id[=[ |
| 67 |
<ul> |
| 68 |
$do_breadcrumb[[<li class="$class"><a $link>$title</a></li>]],[[<li class="$class">▹ <a $link>$title</a></li>]] |
| 69 |
<li style="display:none"> </li> |
| 70 |
</ul> |
| 71 |
]=] |
| 72 |
<span class="toolbar"> |
| 73 |
$if_can_edit[[ |
| 74 |
<a $edit_link title="_(EDIT)"> |
| 75 |
<img src="$make_url{'icons/edit.png'}" alt="_(EDIT_ICON)"/> |
| 76 |
</a> |
| 77 |
]] |
| 78 |
$if_can_see_history[[ |
| 79 |
<a $history_link title="_(HISTORY)"> |
| 80 |
<img src="$make_url{'icons/history.png'}" alt="_(HISTORY_ICON)"/> |
| 81 |
</a> |
| 82 |
]] |
| 83 |
$if_can_see_feed[[ |
| 84 |
<a $node_rss_link title="_(RSS_FOR_EDITS_TO_THIS_NODE)"> |
| 85 |
<img src="$make_url{'icons/feed.png'}" alt="_(SMALL_RSS_ICON)" /> |
| 86 |
</a> |
| 87 |
]] |
| 88 |
</span> |
| 89 |
|
| 90 |
</div> |
| 91 |
</div> |
| 92 |
|
| 93 |
<div id='bd'><!--the body, consisting of the page and the sidebar--> |
| 94 |
<div id="yui-main" $if_old_version[[style='background-color:#ddd;']]><!--this just marks the page as "main" --> |
| 95 |
<div class="yui-b" id='page'> |
| 96 |
|
| 97 |
<h1 class="title"> |
| 98 |
$if_title_icon[[<img src="$title_icon" class="title_icon" alt="type icon ($title_icon)"/> ]] |
| 99 |
<a $show_link >$title</a> $if_old_version[[<span class="from_version">($version)</span>]] |
| 100 |
</h1> |
| 101 |
|
| 102 |
$do_messages[[<p class="$class">$message</p>]] |
| 103 |
|
| 104 |
<div class='content'>$content</div> |
| 105 |
|
| 106 |
</div> <!-- end of div .yui-b#page --> |
| 107 |
</div> <!-- end of div #yui-main (end of body)--> |
| 108 |
|
| 109 |
<!--div class="yui-b" id="sidebar">$sidebar</div--> |
| 110 |
|
| 111 |
</div> <!-- end of div #bd --> |
| 112 |
_(POWERED_BY_SPUTNIK) | <a style="font-size: .7em" href="http://validator.w3.org/check?uri=referer">XHTML 1.1</a> |
| 113 |
</div> <!-- end of div.yui-t4#doc2 --> |
| 114 |
<br/> |
| 115 |
</body> |
| 116 |
</html> |
| 117 |
]===] |
| 118 |
|
| 119 |
-------------------------------------------------------------------------------- |
| 120 |
------- HISTORY, ETC ----------------------------------------------------------- |
| 121 |
-------------------------------------------------------------------------------- |
| 122 |
|
| 123 |
DATE_SELECTOR = [===[ |
| 124 |
<div id="date_selector" style="border:1px solid #bbb; background: #eee8aa; padding: 5 5 5 5"> |
| 125 |
_(CHANGES_BY_DATE) ($current_month): |
| 126 |
<span class="history_dates"> |
| 127 |
$do_dates[=[$if_current_date[[$date]]|[[<a $date_link>$date</a>]] |
| 128 |
]=] |
| 129 |
</span> |
| 130 |
<br/> |
| 131 |
_(CHOOSE_ANOTHER_MONTH) ($current_year) : |
| 132 |
<span class="history_months"> |
| 133 |
$do_months[=[$if_current_month[[$month]]$if_other_month[[<a $month_link>$month</a>]] |
| 134 |
]=] |
| 135 |
</span> |
| 136 |
<br/> |
| 137 |
</div> <!-- end of "date_selector" div--> |
| 138 |
<br/> |
| 139 |
]===] |
| 140 |
|
| 141 |
HISTORY = [===[ |
| 142 |
<form action="$base_url"> |
| 143 |
<input type="hidden" class="hidden" name="p" value="$node_name.diff"/> |
| 144 |
<input type="submit" value="_(DIFF_SELECTED_VERSIONS)"/> |
| 145 |
<table width="100%"> |
| 146 |
<tbody> |
| 147 |
$do_revisions[==[ |
| 148 |
<tr> |
| 149 |
$if_new_date[=[ |
| 150 |
<tr><td style="border-right: 0; border-left: 0" colspan="3"><h2>$date</h2></td></tr> |
| 151 |
]=] |
| 152 |
$if_edit[=[ |
| 153 |
<td width="5px" $if_minor[[bgcolor="#f0f0f0"]]> |
| 154 |
<input class="diff_radio" type="radio" value="$version" name="other"/> |
| 155 |
</td> |
| 156 |
<td width="5px" $if_minor[[bgcolor="#f0f0f0"]]> |
| 157 |
<input class="diff_radio" type="radio" value="$version" name="version"/> |
| 158 |
</td> |
| 159 |
<td width="400px" $if_minor[[bgcolor="#f0f0f0"]]> |
| 160 |
_(AUTHOR_SAVED_VERSION) $if_summary[[<ul><li>$summary</li></ul>]] |
| 161 |
</td> |
| 162 |
]=] |
| 163 |
</tr> |
| 164 |
]==] |
| 165 |
</tbody> |
| 166 |
</table> |
| 167 |
</form> |
| 168 |
]===] |
| 169 |
|
| 170 |
|
| 171 |
COMPLETE_HISTORY = [===[ |
| 172 |
<table width="100%"> |
| 173 |
<tbody> |
| 174 |
$do_revisions[==[ |
| 175 |
$if_new_date[=[ |
| 176 |
<tr><td style="border-right: 0; border-left: 0" colspan="3"><h2>$date</h2></td></tr> |
| 177 |
]=] |
| 178 |
$if_edit[=[ |
| 179 |
<tr> |
| 180 |
<td width="50px" $if_stale[[style="display:none"]] rowspan="$row_span"> |
| 181 |
<a $latest_link>$title</a> |
| 182 |
</td> |
| 183 |
<td width="300px" $if_minor[[bgcolor="#f0f0f0"]] style="border-right: 0px"> |
| 184 |
_(AUTHOR_SAVED_VERSION) |
| 185 |
$if_summary[[<p>$summary</p>]] |
| 186 |
</td> |
| 187 |
<td width="10%" $if_minor[[bgcolor="#f0f0f0"]] style="border-left: 0px" align="right"> |
| 188 |
<a $diff_link title="_(DIFF)"><img alt="_(DIFF)" src="$diff_icon"/></a> |
| 189 |
<a $history_link title="_(HISTORY)"><img alt="_(HISTORY)" src="$history_icon"/></a> |
| 190 |
</td> |
| 191 |
</tr> |
| 192 |
]=] |
| 193 |
]==] |
| 194 |
</tbody> |
| 195 |
</table> |
| 196 |
]===] |
| 197 |
|
| 198 |
DIFF = [===[ |
| 199 |
<ul> |
| 200 |
<li><a $link1><ins class='diffmod'>$version1</ins></a> _(BY_AUTHOR1)</li> |
| 201 |
<li><a $link2><del class='diffmod'>$version2</del></a> _(BY_AUTHOR2)</li> |
| 202 |
</ul> |
| 203 |
$diff |
| 204 |
]===] |
| 205 |
|
| 206 |
RSS = [===[<rss version="2.0"> |
| 207 |
<channel> |
| 208 |
<title>$title</title> |
| 209 |
<description/> |
| 210 |
<link>$baseurl</link> |
| 211 |
$items[[ |
| 212 |
<item> |
| 213 |
<link>$link</link> |
| 214 |
<title>$title</title> |
| 215 |
<guid isPermalink="$ispermalink">$guid</guid> |
| 216 |
<description>$summary</description> |
| 217 |
</item>]] |
| 218 |
</channel> |
| 219 |
</rss> |
| 220 |
]===] |
| 221 |
|
| 222 |
LIST_OF_ALL_PAGES = [===[ |
| 223 |
$do_nodes[[<a href="$url">$name</a><br/>]] |
| 224 |
]===] |
| 225 |
|
| 226 |
|
| 227 |
SITEMAP_XML = [===[<?xml version="1.0" encoding="UTF-8"?> |
| 228 |
<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| 229 |
xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" |
| 230 |
xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> |
| 231 |
$do_urls[[<url> |
| 232 |
<loc>$url</loc> |
| 233 |
<lastmod>$lastmod</lastmod> |
| 234 |
<changefreq>$changefreq</changefreq> |
| 235 |
<priority>$priority</priority> |
| 236 |
</url>]] |
| 237 |
</urlset> |
| 238 |
]===] |
| 239 |
|
| 240 |
-------------------------------------------------------------------------------- |
| 241 |
------- MISCELLANEOUS ---------------------------------------------------------- |
| 242 |
-------------------------------------------------------------------------------- |
| 243 |
|
| 244 |
EDIT = [===[ |
| 245 |
|
| 246 |
<form method="post" enctype="multipart/form-data" action="$action_url"> |
| 247 |
$captcha |
| 248 |
<script type="text/javascript"> |
| 249 |
/* <![CDATA[ */ |
| 250 |
function toggleElements(class_name) { |
| 251 |
var re = new RegExp('\\b' + "advanced_field" + '\\b'); |
| 252 |
var els = document.getElementsByTagName("div"); |
| 253 |
for(var i=0,j=els.length; i<j; i++) { |
| 254 |
var elem = els[i]; |
| 255 |
if(re.test(elem.className)) { |
| 256 |
if (elem.style.display=="block") { |
| 257 |
elem.style.display = "none"; |
| 258 |
document.getElementById("toggle_advanced_fields").innerHTML="_(SHOW_ADVANCED_OPTIONS)" |
| 259 |
} else { |
| 260 |
elem.style.display = "block"; |
| 261 |
document.getElementById("toggle_advanced_fields").innerHTML="_(HIDE_ADVANCED_OPTIONS)" |
| 262 |
} |
| 263 |
} |
| 264 |
} |
| 265 |
} |
| 266 |
function expandTextArea() { |
| 267 |
var elem = document.getElementById("main_text_area"); |
| 268 |
elem.style.width="1200px"; |
| 269 |
elem.style.height="800px"; |
| 270 |
elem.style.margin="10px 10px 10px -100px"; |
| 271 |
} |
| 272 |
/* ]]> */ |
| 273 |
</script> |
| 274 |
<input class="hidden" type="hidden" name="p" value="$node_name.post"/> |
| 275 |
<input class="hidden" type="hidden" name="post_token" value="$post_token"/> |
| 276 |
<input class="hidden" type="hidden" name="post_timestamp" value="$post_timestamp"/> |
| 277 |
<input class="hidden" type="hidden" name="post_fields" value="$post_fields"/> |
| 278 |
$if_preview[[ |
| 279 |
<h2>_(PREVIEWING_UNSAVED_CHANGES)</h2> |
| 280 |
<div class="preview">$preview</div> |
| 281 |
<a href="#new_page_content_header" class="button">_(CHANGE)</a> |
| 282 |
<input class="submit" type="submit" accesskey="s" name="action_save" value="_(SAVE)"/> |
| 283 |
<input class="submit" type="submit" accesskey="c" name="action_show" value="_(CANCEL)"/> |
| 284 |
<br/> |
| 285 |
]] |
| 286 |
$html_for_fields |
| 287 |
<input class="submit" type="submit" accesskey="s" name="action_save" value="_(SAVE)"/> |
| 288 |
<input class="submit" type="submit" accesskey="p" name="action_preview" value="_(PREVIEW)"/> |
| 289 |
<input class="submit" type="submit" accesskey="c" name="action_show" value="_(CANCEL)"/> |
| 290 |
</form> |
| 291 |
]===] |
| 292 |
|
| 293 |
EDIT_FORM_HEADER = [[<a name="$anchor"></a><h2>$label</h2>]] |
| 294 |
EDIT_FORM_NOTE = [[<h3>$label</h3>]] |
| 295 |
EDIT_FORM_LABEL = [[<label>$label</label>]] |
| 296 |
EDIT_FORM_FILE = [[<input type="file" value="$value" name="$name"/>]] |
| 297 |
EDIT_FORM_HONEYPOT = [[<input type="text" value="$value" name="$name"/>]] |
| 298 |
EDIT_FORM_TEXT_FIELD = [[<input type="text" value="$value" name="$name"/>]] |
| 299 |
EDIT_FORM_HIDDEN = [[<input type="hidden" class="hidden" value="$value" name="$name"/>]] |
| 300 |
EDIT_FORM_READONLY_TEXT = [[<input type="text" value="$value" name="$name" class="readonly" readonly="readonly" />]] |
| 301 |
EDIT_FORM_PASSWORD = [[<input type="password" value="$value" name="$name" size="20"></input>]] |
| 302 |
EDIT_FORM_TEXTAREA = [[<textarea class="small resizeable" name="$name" cols="70" rows="$rows">$value</textarea>]] |
| 303 |
EDIT_FORM_EDITOR = [[<textarea class="resizeable" name="$name" cols="100" rows="$rows">$value</textarea>]] |
| 304 |
EDIT_FORM_BIG_TEXTAREA = [[<textarea class="editor resizeable" name="$name" id="main_text_area" cols="100" rows="$rows">$value</textarea><br/> |
| 305 |
<a href="#" onclick="expandTextArea(); return false;">expand</a>]] |
| 306 |
EDIT_FORM_CHECKBOX = [[<input class="checkbox" style="border:1px solid black" |
| 307 |
type="checkbox" name="$name" value="yes" |
| 308 |
$if_checked[=[checked="checked"]=] /><br/>]] |
| 309 |
|
| 310 |
EDIT_FORM_SELECT = [[<select name="$name" tabindex="$tab_index"> |
| 311 |
$do_options[===[<option value="$value" $if_selected[=[selected="yes"]=]>$display</option>]===] |
| 312 |
</select>]] |
| 313 |
EDIT_FORM_SHOW_ADVANCED = [[<a id="more_fields" href="#" class="local" onclick="toggleElements('advanced_field')"> |
| 314 |
<div id="toggle_advanced_fields">_(SHOW_ADVANCED_OPTIONS)</div></a>]] |
| 315 |
EDIT_FORM_DIV_START = [=[$do_collapse[[<span id="trigger_$id" class="ctrigger $state">$label</span>]]<div id="$id" class="$class">]=] |
| 316 |
EDIT_FORM_DIV_END = [[</div>]] |
| 317 |
|
| 318 |
LOGIN_FORM = [===[ |
| 319 |
|
| 320 |
<form method="post" action="$action_url"> |
| 321 |
<input class="hidden" type="hidden" name="p" value="$node_name.post"/> |
| 322 |
<input class="hidden" type="hidden" name="post_token" value="$post_token"/> |
| 323 |
<input class="hidden" type="hidden" name="post_timestamp" value="$post_timestamp"/> |
| 324 |
<input class="hidden" type="hidden" name="post_fields" value="$post_fields"/> |
| 325 |
$html_for_fields |
| 326 |
<input class="submit" type="submit" accesskey="c" name="action_login" value="_(LOGIN)"/> |
| 327 |
</form> |
| 328 |
|
| 329 |
]===] |
| 330 |
-------------------------------------------------------------------------------- |
| 331 |
------- DEALING WITH LUA CODE -------------------------------------------------- |
| 332 |
-------------------------------------------------------------------------------- |
| 333 |
|
| 334 |
LUA_CODE = [===[ |
| 335 |
$if_ok[[<font color="green">_(THIS_LUA_CODE_PARSES_CORRECTLY)</font>]] |
| 336 |
$if_errors[[ |
| 337 |
<font color='red'> |
| 338 |
<p><b>_(THIS_LUA_CODE_HAS_PROBLEMS)</b></p> |
| 339 |
<code> $errors </code> |
| 340 |
</font> |
| 341 |
]] |
| 342 |
|
| 343 |
<div width="100%"> |
| 344 |
<style> |
| 345 |
table.code { |
| 346 |
width: 100%; |
| 347 |
border-collapse: collapse |
| 348 |
background: red; |
| 349 |
border-style: none; |
| 350 |
} |
| 351 |
table.body { |
| 352 |
background: yellow; |
| 353 |
} |
| 354 |
table.code tbody th { |
| 355 |
font-size: 90%; |
| 356 |
} |
| 357 |
table.code tbody th a{ |
| 358 |
text-decoration: none; |
| 359 |
color: white; |
| 360 |
} |
| 361 |
table.code th.lineno { |
| 362 |
width: 4em; |
| 363 |
} |
| 364 |
table.code th.bad { |
| 365 |
background: red; |
| 366 |
} |
| 367 |
table.code tbody td { |
| 368 |
border: none; |
| 369 |
} |
| 370 |
table.code tbody td code { |
| 371 |
background: white; |
| 372 |
} |
| 373 |
table.code tbody td code.bad{ |
| 374 |
background: yellow; |
| 375 |
} |
| 376 |
</style> |
| 377 |
<table class="code"> |
| 378 |
<tbody> |
| 379 |
$do_lines[[ |
| 380 |
<tr> |
| 381 |
<th id="L$i" class="$class"><a href="#L$i">$i</a></th> |
| 382 |
<td><code class="$class">$line</code></td> |
| 383 |
</tr> |
| 384 |
]] |
| 385 |
</tbody> |
| 386 |
</table> |
| 387 |
</div> |
| 388 |
]===] |
| 389 |
|
| 390 |
ACTION_NOT_FOUND = [===[ |
| 391 |
<div class="error_message"> |
| 392 |
<p>_(PAGE_DOES_NOT_SUPPORT_ACTION)</p> |
| 393 |
$if_custom_actions[[ |
| 394 |
<p>_(THIS_PAGE_DEFINED_THE_FOLLOWING_ACTIONS)</p> |
| 395 |
<pre><code>$actions</code></pre> |
| 396 |
]] |
| 397 |
</div> |
| 398 |
]===] |
| 399 |
|
| 400 |
REGISTRATION = [===[ |
| 401 |
<h3>Create new account</h3> |
| 402 |
<form class="register" method="post" enctype="multipart/form-data" action="$action_url"> |
| 403 |
<input class="hidden" type="hidden" name="p" value="$node_name.$action"/> |
| 404 |
<input class="hidden" type="hidden" name="post_token" value="$post_token"/> |
| 405 |
<input class="hidden" type="hidden" name="post_timestamp" value="$post_timestamp"/> |
| 406 |
<input class="hidden" type="hidden" name="post_fields" value="$post_fields"/> |
| 407 |
$html_for_fields |
| 408 |
$captcha |
| 409 |
<div class="submit"> |
| 410 |
<button class="submit positive" type="submit" accesskey="s" name="action_submit">Register</button> |
| 411 |
</div> |
| 412 |
</form> |
| 413 |
]===] |
| 414 |
|
| 415 |
CONSENT_TO_TERMS_OF_SERVICE = [[ |
| 416 |
<input style="margin: 0 10px 0 20px; width: auto; display: inline;" target="_blank" type="checkbox" name="r_read_tos" /> |
| 417 |
_(I_AGREE_TO_TERMS_OF_SERVICE) |
| 418 |
]] |
| 419 |
|
| 420 |
VERSION = [=[ |
| 421 |
<h2>Installer Version</h2> |
| 422 |
|
| 423 |
$installer |
| 424 |
|
| 425 |
<h2>Specific Rocks</h2> |
| 426 |
|
| 427 |
<table> |
| 428 |
$rocks[[ |
| 429 |
<tr> |
| 430 |
<th>$rock</th> |
| 431 |
<td>$version</td> |
| 432 |
</tr> |
| 433 |
]] |
| 434 |
</table> |
| 435 |
]=] |
| 436 |
|
| 437 |
|