summaryrefslogtreecommitdiff
path: root/templates
diff options
context:
space:
mode:
authorczaks <marcin@6irc.net>2013-07-31 14:54:20 -0400
committerczaks <marcin@6irc.net>2013-07-31 14:54:20 -0400
commit55c7146d884005f70d15e991a9e8ea31b7021361 (patch)
tree57b6548601dfd1542febe05375efe49d439e1fb4 /templates
parentee23ec1e24bb2a0cec24af011012e95652ce85a9 (diff)
parent8e4c493a4c5bbff07483fd4a11c44c687c99e441 (diff)
Merge branch 'master' of https://github.com/savetheinternet/Tinyboard
Conflicts: inc/config.php inc/display.php inc/functions.php inc/image.php js/expand.js js/hide-threads.js js/local-time.js js/smartphone-spoiler.js templates/header.html templates/index.html templates/main.js templates/page.html templates/post_reply.html templates/post_thread.html templates/thread.html
Diffstat (limited to 'templates')
-rw-r--r--templates/index.html122
-rw-r--r--templates/main.js460
-rw-r--r--templates/mod/login.html52
-rw-r--r--templates/page.html50
-rw-r--r--templates/post_reply.html222
-rw-r--r--templates/post_thread.html42
-rw-r--r--templates/posts.sql2
-rw-r--r--templates/thread.html102
8 files changed, 526 insertions, 526 deletions
diff --git a/templates/index.html b/templates/index.html
index 451ca8b1..f01d6851 100644
--- a/templates/index.html
+++ b/templates/index.html
@@ -1,61 +1,61 @@
-<!doctype html>
-<html>
-<head>
- <meta charset="utf-8">
-
- <script type="text/javascript">
- {% if config.quick_reply %}
- var new_reply_string = "{{ config.button_reply }}";
- {% endif %}
- {% if not no_post_form %}
- var active_page = "index";
- {% else %}
- var active_page = "ukko";
- {% endif %}
- </script>
-
- {% include 'header.html' %}
- <title>{{ board.url }} - {{ board.title|e }}</title>
-</head>
-<body>
- {{ boardlist.top }}
- {% if pm %}<div class="top_notice">You have <a href="?/PM/{{ pm.id }}">an unread PM</a>{% if pm.waiting > 0 %}, plus {{ pm.waiting }} more waiting{% endif %}.</div><hr />{% endif %}
- {% if config.url_banner %}<img class="banner" src="{{ config.url_banner }}" {% if config.banner_width or config.banner_height %}style="{% if config.banner_width %}width:{{ config.banner_width }}px{% endif %};{% if config.banner_width %}height:{{ config.banner_height }}px{% endif %}" {% endif %}alt="" />{% endif %}
- <header>
- <h1>{{ board.url }} - {{ board.title|e }}</h1>
- <div class="subtitle">
- {% if board.subtitle %}
- {{ board.subtitle|e }}
- {% endif %}
- {% if mod %}<p><a href="?/">{% trans %}Return to dashboard{% endtrans %}</a></p>{% endif %}
- </div>
- </header>
-
- {% include 'attention_bar.html' %}
- {% if not no_post_form %}
- {% include 'post_form.html' %}
- {% else %}
- {% include 'boardlist.html' %}
- {% endif %}
-
- {% if config.blotter %}<hr /><div class="blotter">{{ config.blotter }}</div>{% endif %}
- <hr />
- <form name="postcontrols" action="{{ config.post_url }}" method="post">
- <input type="hidden" name="board" value="{{ board.uri }}" />
- {% if mod %}<input type="hidden" name="mod" value="1" />{% endif %}
- {{ body }}
- {% include 'report_delete.html' %}
- </form>
- <div class="pages">{{ btn.prev }} {% for page in pages %}
- [<a {% if page.selected %}class="selected"{% endif %}{% if not page.selected %}href="{{ page.link }}"{% endif %}>{{ page.num }}</a>]{% if loop.last %} {% endif %}
- {% endfor %} {{ btn.next }}</div>
- {{ boardlist.bottom }}
- <footer>
- <p class="unimportant" style="margin-top:20px;text-align:center;">Powered by <a href="http://tinyboard.org/">Tinyboard</a> {{ config.version }} | <a href="http://tinyboard.org/">Tinyboard</a> Copyright &copy; 2010-2013 Tinyboard Development Group</p>
- {% for footer in config.footer %}<p class="unimportant" style="text-align:center;">{{ footer }}</p>{% endfor %}
- </footer>
- <script type="text/javascript">{% raw %}
- ready();
- {% endraw %}</script>
-</body>
-</html>
+<!doctype html>
+<html>
+<head>
+ <meta charset="utf-8">
+
+ <script type="text/javascript">
+ {% if config.quick_reply %}
+ var new_reply_string = "{{ config.button_reply }}";
+ {% endif %}
+ {% if not no_post_form %}
+ var active_page = "index";
+ {% else %}
+ var active_page = "ukko";
+ {% endif %}
+ </script>
+
+ {% include 'header.html' %}
+ <title>{{ board.url }} - {{ board.title|e }}</title>
+</head>
+<body>
+ {{ boardlist.top }}
+ {% if pm %}<div class="top_notice">You have <a href="?/PM/{{ pm.id }}">an unread PM</a>{% if pm.waiting > 0 %}, plus {{ pm.waiting }} more waiting{% endif %}.</div><hr />{% endif %}
+ {% if config.url_banner %}<img class="banner" src="{{ config.url_banner }}" {% if config.banner_width or config.banner_height %}style="{% if config.banner_width %}width:{{ config.banner_width }}px{% endif %};{% if config.banner_width %}height:{{ config.banner_height }}px{% endif %}" {% endif %}alt="" />{% endif %}
+ <header>
+ <h1>{{ board.url }} - {{ board.title|e }}</h1>
+ <div class="subtitle">
+ {% if board.subtitle %}
+ {{ board.subtitle|e }}
+ {% endif %}
+ {% if mod %}<p><a href="?/">{% trans %}Return to dashboard{% endtrans %}</a></p>{% endif %}
+ </div>
+ </header>
+
+ {% include 'attention_bar.html' %}
+ {% if not no_post_form %}
+ {% include 'post_form.html' %}
+ {% else %}
+ {% include 'boardlist.html' %}
+ {% endif %}
+
+ {% if config.blotter %}<hr /><div class="blotter">{{ config.blotter }}</div>{% endif %}
+ <hr />
+ <form name="postcontrols" action="{{ config.post_url }}" method="post">
+ <input type="hidden" name="board" value="{{ board.uri }}" />
+ {% if mod %}<input type="hidden" name="mod" value="1" />{% endif %}
+ {{ body }}
+ {% include 'report_delete.html' %}
+ </form>
+ <div class="pages">{{ btn.prev }} {% for page in pages %}
+ [<a {% if page.selected %}class="selected"{% endif %}{% if not page.selected %}href="{{ page.link }}"{% endif %}>{{ page.num }}</a>]{% if loop.last %} {% endif %}
+ {% endfor %} {{ btn.next }}</div>
+ {{ boardlist.bottom }}
+ <footer>
+ <p class="unimportant" style="margin-top:20px;text-align:center;">Powered by <a href="http://tinyboard.org/">Tinyboard</a> {{ config.version }} | <a href="http://tinyboard.org/">Tinyboard</a> Copyright &copy; 2010-2013 Tinyboard Development Group</p>
+ {% for footer in config.footer %}<p class="unimportant" style="text-align:center;">{{ footer }}</p>{% endfor %}
+ </footer>
+ <script type="text/javascript">{% raw %}
+ ready();
+ {% endraw %}</script>
+</body>
+</html>
diff --git a/templates/main.js b/templates/main.js
index 401d3504..71dcd92a 100644
--- a/templates/main.js
+++ b/templates/main.js
@@ -1,38 +1,38 @@
-{% raw %}
-
-/* gettext-compatible _ function, example of usage:
- *
- * > // Loading pl_PL.json here (containing polish translation strings generated by tools/i18n_compile.php)
- * > alert(_("Hello!"));
- * Witaj!
- */
-function _(s) {
- return (typeof l10n != 'undefined' && typeof l10n[s] != 'undefined') ? l10n[s] : s;
-}
-
-/* printf-like formatting function, example of usage:
- *
- * > alert(fmt("There are {0} birds on {1} trees", [3,4]));
- * There are 3 birds on 4 trees
- * > // Loading pl_PL.json here (containing polish translation strings generated by tools/locale_compile.php)
- * > alert(fmt(_("{0} users"), [3]));
- * 3 uzytkownikow
- */
-function fmt(s,a) {
- return s.replace(/\{([0-9]+)\}/g, function(x) { return a[x[1]]; });
-}
-
-var saved = {};
-
-
-var selectedstyle = '{% endraw %}{{ config.default_stylesheet.0|addslashes }}{% raw %}';
-var styles = {
- {% endraw %}
- {% for stylesheet in stylesheets %}{% raw %}'{% endraw %}{{ stylesheet.name|addslashes }}{% raw %}' : '{% endraw %}{{ stylesheet.uri|addslashes }}{% raw %}',
- {% endraw %}{% endfor %}{% raw %}
-};
+{% raw %}
+
+/* gettext-compatible _ function, example of usage:
+ *
+ * > // Loading pl_PL.json here (containing polish translation strings generated by tools/i18n_compile.php)
+ * > alert(_("Hello!"));
+ * Witaj!
+ */
+function _(s) {
+ return (typeof l10n != 'undefined' && typeof l10n[s] != 'undefined') ? l10n[s] : s;
+}
+
+/* printf-like formatting function, example of usage:
+ *
+ * > alert(fmt("There are {0} birds on {1} trees", [3,4]));
+ * There are 3 birds on 4 trees
+ * > // Loading pl_PL.json here (containing polish translation strings generated by tools/locale_compile.php)
+ * > alert(fmt(_("{0} users"), [3]));
+ * 3 uzytkownikow
+ */
+function fmt(s,a) {
+ return s.replace(/\{([0-9]+)\}/g, function(x) { return a[x[1]]; });
+}
+
+var saved = {};
+
+
+var selectedstyle = '{% endraw %}{{ config.default_stylesheet.0|addslashes }}{% raw %}';
+var styles = {
+ {% endraw %}
+ {% for stylesheet in stylesheets %}{% raw %}'{% endraw %}{{ stylesheet.name|addslashes }}{% raw %}' : '{% endraw %}{{ stylesheet.uri|addslashes }}{% raw %}',
+ {% endraw %}{% endfor %}{% raw %}
+};
var board_name = false;
-
+
function changeStyle(styleName, link) {
{% endraw %}
{% if config.stylesheets_board %}{% raw %}
@@ -43,31 +43,31 @@ function changeStyle(styleName, link) {
{% endraw %}{% else %}
localStorage.stylesheet = styleName;
{% endif %}
- {% raw %}
-
- if (!document.getElementById('stylesheet')) {
- var s = document.createElement('link');
- s.rel = 'stylesheet';
- s.type = 'text/css';
- s.id = 'stylesheet';
- var x = document.getElementsByTagName('head')[0];
- x.appendChild(s);
- }
-
- document.getElementById('stylesheet').href = styles[styleName];
- selectedstyle = styleName;
-
- if (document.getElementsByClassName('styles').length != 0) {
- var styleLinks = document.getElementsByClassName('styles')[0].childNodes;
- for (var i = 0; i < styleLinks.length; i++) {
- styleLinks[i].className = '';
- }
- }
-
- if (link) {
- link.className = 'selected';
- }
-}
+ {% raw %}
+
+ if (!document.getElementById('stylesheet')) {
+ var s = document.createElement('link');
+ s.rel = 'stylesheet';
+ s.type = 'text/css';
+ s.id = 'stylesheet';
+ var x = document.getElementsByTagName('head')[0];
+ x.appendChild(s);
+ }
+
+ document.getElementById('stylesheet').href = styles[styleName];
+ selectedstyle = styleName;
+
+ if (document.getElementsByClassName('styles').length != 0) {
+ var styleLinks = document.getElementsByClassName('styles')[0].childNodes;
+ for (var i = 0; i < styleLinks.length; i++) {
+ styleLinks[i].className = '';
+ }
+ }
+
+ if (link) {
+ link.className = 'selected';
+ }
+}
{% endraw %}
@@ -95,177 +95,177 @@ function changeStyle(styleName, link) {
{% endraw%}
{% else %}
{% raw %}
- if (localStorage.stylesheet) {
- for (var styleName in styles) {
- if (styleName == localStorage.stylesheet) {
- changeStyle(styleName);
- break;
- }
- }
+ if (localStorage.stylesheet) {
+ for (var styleName in styles) {
+ if (styleName == localStorage.stylesheet) {
+ changeStyle(styleName);
+ break;
+ }
+ }
}
- {% endraw %}
+ {% endraw %}
{% endif %}
{% raw %}
-
-function init_stylechooser() {
- var newElement = document.createElement('div');
- newElement.className = 'styles';
-
- for (styleName in styles) {
- var style = document.createElement('a');
- style.innerHTML = '[' + styleName + ']';
- style.onclick = function() {
- changeStyle(this.innerHTML.substring(1, this.innerHTML.length - 1), this);
- };
- if (styleName == selectedstyle) {
- style.className = 'selected';
- }
- style.href = 'javascript:void(0);';
- newElement.appendChild(style);
- }
-
- document.getElementsByTagName('body')[0].insertBefore(newElement, document.getElementsByTagName('body')[0].lastChild.nextSibling);
-}
-
-function get_cookie(cookie_name) {
- var results = document.cookie.match ( '(^|;) ?' + cookie_name + '=([^;]*)(;|$)');
- if (results)
- return (unescape(results[2]));
- else
- return null;
-}
-
-function highlightReply(id) {
- if (typeof window.event != "undefined" && event.which == 2) {
- // don't highlight on middle click
- return true;
- }
-
- var divs = document.getElementsByTagName('div');
- for (var i = 0; i < divs.length; i++)
- {
- if (divs[i].className.indexOf('post') != -1)
- divs[i].className = divs[i].className.replace(/highlighted/, '');
- }
- if (id) {
- var post = document.getElementById('reply_'+id);
- if (post)
- post.className += ' highlighted';
- }
-}
-
-function generatePassword() {
- var pass = '';
- var chars = '{% endraw %}{{ config.genpassword_chars }}{% raw %}';
- for (var i = 0; i < 8; i++) {
- var rnd = Math.floor(Math.random() * chars.length);
- pass += chars.substring(rnd, rnd + 1);
- }
- return pass;
-}
-
-function dopost(form) {
- if (form.elements['name']) {
- localStorage.name = form.elements['name'].value.replace(/( |^)## .+$/, '');
- }
- if (form.elements['email'] && form.elements['email'].value != 'sage') {
- localStorage.email = form.elements['email'].value;
- }
-
- saved[document.location] = form.elements['body'].value;
- sessionStorage.body = JSON.stringify(saved);
-
- return form.elements['body'].value != "" || form.elements['file'].value != "";
-}
-
-function citeReply(id) {
- var body = document.getElementById('body');
-
- if (document.selection) {
- // IE
- body.focus();
- var sel = document.selection.createRange();
- sel.text = '>>' + id + '\n';
- } else if (body.selectionStart || body.selectionStart == '0') {
- // Mozilla
- var start = body.selectionStart;
- var end = body.selectionEnd;
- body.value = body.value.substring(0, start) + '>>' + id + '\n' + body.value.substring(end, body.value.length);
- } else {
- // ???
- body.value += '>>' + id + '\n';
- }
-}
-
-function rememberStuff() {
- if (document.forms.post) {
- if (document.forms.post.password) {
- if (!localStorage.password)
- localStorage.password = generatePassword();
- document.forms.post.password.value = localStorage.password;
- }
-
- if (localStorage.name && document.forms.post.elements['name'])
- document.forms.post.elements['name'].value = localStorage.name;
- if (localStorage.email && document.forms.post.elements['email'])
- document.forms.post.elements['email'].value = localStorage.email;
-
- if (window.location.hash.indexOf('q') == 1)
- citeReply(window.location.hash.substring(2));
-
- if (sessionStorage.body) {
- var saved = JSON.parse(sessionStorage.body);
- if (get_cookie('{% endraw %}{{ config.cookies.js }}{% raw %}')) {
- // Remove successful posts
- var successful = JSON.parse(get_cookie('{% endraw %}{{ config.cookies.js }}{% raw %}'));
- for (var url in successful) {
- saved[url] = null;
- }
- sessionStorage.body = JSON.stringify(saved);
-
- document.cookie = '{% endraw %}{{ config.cookies.js }}{% raw %}={};expires=0;path=/;';
- }
- if (saved[document.location]) {
- document.forms.post.body.value = saved[document.location];
- }
- }
-
- if (localStorage.body) {
- document.forms.post.body.value = localStorage.body;
- localStorage.body = '';
- }
- }
-}
-
-function init() {
- init_stylechooser();
-
- if (document.forms.postcontrols) {
- document.forms.postcontrols.password.value = localStorage.password;
- }
-
- if (window.location.hash.indexOf('q') != 1 && window.location.hash.substring(1))
- highlightReply(window.location.hash.substring(1));
-}
-
-var RecaptchaOptions = {
- theme : 'clean'
-};
-
-onready_callbacks = [];
-function onready(fnc) {
- onready_callbacks.push(fnc);
-}
-
-function ready() {
- for (var i = 0; i < onready_callbacks.length; i++) {
- onready_callbacks[i]();
- }
-}
-
-onready(init);
-
-{% endraw %}{% if config.google_analytics %}{% raw %}
-
-var _gaq = _gaq || [];_gaq.push(['_setAccount', '{% endraw %}{{ config.google_analytics }}{% raw %}']);{% endraw %}{% if config.google_analytics_domain %}{% raw %}_gaq.push(['_setDomainName', '{% endraw %}{{ config.google_analytics_domain }}{% raw %}']){% endraw %}{% endif %}{% if not config.google_analytics_domain %}{% raw %}_gaq.push(['_setDomainName', 'none']){% endraw %}{% endif %}{% raw %};_gaq.push(['_trackPageview']);(function() {var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);})();{% endraw %}{% endif %}
-
+
+function init_stylechooser() {
+ var newElement = document.createElement('div');
+ newElement.className = 'styles';
+
+ for (styleName in styles) {
+ var style = document.createElement('a');
+ style.innerHTML = '[' + styleName + ']';
+ style.onclick = function() {
+ changeStyle(this.innerHTML.substring(1, this.innerHTML.length - 1), this);
+ };
+ if (styleName == selectedstyle) {
+ style.className = 'selected';
+ }
+ style.href = 'javascript:void(0);';
+ newElement.appendChild(style);
+ }
+
+ document.getElementsByTagName('body')[0].insertBefore(newElement, document.getElementsByTagName('body')[0].lastChild.nextSibling);
+}
+
+function get_cookie(cookie_name) {
+ var results = document.cookie.match ( '(^|;) ?' + cookie_name + '=([^;]*)(;|$)');
+ if (results)
+ return (unescape(results[2]));
+ else
+ return null;
+}
+
+function highlightReply(id) {
+ if (typeof window.event != "undefined" && event.which == 2) {
+ // don't highlight on middle click
+ return true;
+ }
+
+ var divs = document.getElementsByTagName('div');
+ for (var i = 0; i < divs.length; i++)
+ {
+ if (divs[i].className.indexOf('post') != -1)
+ divs[i].className = divs[i].className.replace(/highlighted/, '');
+ }
+ if (id) {
+ var post = document.getElementById('reply_'+id);
+ if (post)
+ post.className += ' highlighted';
+ }
+}
+
+function generatePassword() {
+ var pass = '';
+ var chars = '{% endraw %}{{ config.genpassword_chars }}{% raw %}';
+ for (var i = 0; i < 8; i++) {
+ var rnd = Math.floor(Math.random() * chars.length);
+ pass += chars.substring(rnd, rnd + 1);
+ }
+ return pass;
+}
+
+function dopost(form) {
+ if (form.elements['name']) {
+ localStorage.name = form.elements['name'].value.replace(/( |^)## .+$/, '');
+ }
+ if (form.elements['email'] && form.elements['email'].value != 'sage') {
+ localStorage.email = form.elements['email'].value;
+ }
+
+ saved[document.location] = form.elements['body'].value;
+ sessionStorage.body = JSON.stringify(saved);
+
+ return form.elements['body'].value != "" || form.elements['file'].value != "";
+}
+
+function citeReply(id) {
+ var body = document.getElementById('body');
+
+ if (document.selection) {
+ // IE
+ body.focus();
+ var sel = document.selection.createRange();
+ sel.text = '>>' + id + '\n';
+ } else if (body.selectionStart || body.selectionStart == '0') {
+ // Mozilla
+ var start = body.selectionStart;
+ var end = body.selectionEnd;
+ body.value = body.value.substring(0, start) + '>>' + id + '\n' + body.value.substring(end, body.value.length);
+ } else {
+ // ???
+ body.value += '>>' + id + '\n';
+ }
+}
+
+function rememberStuff() {
+ if (document.forms.post) {
+ if (document.forms.post.password) {
+ if (!localStorage.password)
+ localStorage.password = generatePassword();
+ document.forms.post.password.value = localStorage.password;
+ }
+
+ if (localStorage.name && document.forms.post.elements['name'])
+ document.forms.post.elements['name'].value = localStorage.name;
+ if (localStorage.email && document.forms.post.elements['email'])
+ document.forms.post.elements['email'].value = localStorage.email;
+
+ if (window.location.hash.indexOf('q') == 1)
+ citeReply(window.location.hash.substring(2));
+
+ if (sessionStorage.body) {
+ var saved = JSON.parse(sessionStorage.body);
+ if (get_cookie('{% endraw %}{{ config.cookies.js }}{% raw %}')) {
+ // Remove successful posts
+ var successful = JSON.parse(get_cookie('{% endraw %}{{ config.cookies.js }}{% raw %}'));
+ for (var url in successful) {
+ saved[url] = null;
+ }
+ sessionStorage.body = JSON.stringify(saved);
+
+ document.cookie = '{% endraw %}{{ config.cookies.js }}{% raw %}={};expires=0;path=/;';
+ }
+ if (saved[document.location]) {
+ document.forms.post.body.value = saved[document.location];
+ }
+ }
+
+ if (localStorage.body) {
+ document.forms.post.body.value = localStorage.body;
+ localStorage.body = '';
+ }
+ }
+}
+
+function init() {
+ init_stylechooser();
+
+ if (document.forms.postcontrols) {
+ document.forms.postcontrols.password.value = localStorage.password;
+ }
+
+ if (window.location.hash.indexOf('q') != 1 && window.location.hash.substring(1))
+ highlightReply(window.location.hash.substring(1));
+}
+
+var RecaptchaOptions = {
+ theme : 'clean'
+};
+
+onready_callbacks = [];
+function onready(fnc) {
+ onready_callbacks.push(fnc);
+}
+
+function ready() {
+ for (var i = 0; i < onready_callbacks.length; i++) {
+ onready_callbacks[i]();
+ }
+}
+
+onready(init);
+
+{% endraw %}{% if config.google_analytics %}{% raw %}
+
+var _gaq = _gaq || [];_gaq.push(['_setAccount', '{% endraw %}{{ config.google_analytics }}{% raw %}']);{% endraw %}{% if config.google_analytics_domain %}{% raw %}_gaq.push(['_setDomainName', '{% endraw %}{{ config.google_analytics_domain }}{% raw %}']){% endraw %}{% endif %}{% if not config.google_analytics_domain %}{% raw %}_gaq.push(['_setDomainName', 'none']){% endraw %}{% endif %}{% raw %};_gaq.push(['_trackPageview']);(function() {var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);})();{% endraw %}{% endif %}
+
diff --git a/templates/mod/login.html b/templates/mod/login.html
index 43a28d56..476897a6 100644
--- a/templates/mod/login.html
+++ b/templates/mod/login.html
@@ -1,26 +1,26 @@
-{% if error %}<h2 style="text-align:center">{{ error }}</h2>{% endif %}
-<form action="" method="post">
-<table style="margin-top:25px;">
- <tr>
- <th>
- {% trans 'Username' %}
- </th>
- <td>
- <input type="text" name="username" size="20" maxlength="30" value="{{ username|e }}">
- </td>
- </tr>
- <tr>
- <th>
- {% trans 'Password' %}
- </th>
- <td>
- <input type="password" name="password" size="20" maxlength="30" value="">
- </td>
- </tr>
- <tr>
- <td></td>
- <td>
- <input type="submit" name="login" value="{% trans %}Continue{% endtrans %}" />
- </td>
-</table>
-</form>
+{% if error %}<h2 style="text-align:center">{{ error }}</h2>{% endif %}
+<form action="" method="post">
+<table style="margin-top:25px;">
+ <tr>
+ <th>
+ {% trans 'Username' %}
+ </th>
+ <td>
+ <input type="text" name="username" size="20" maxlength="30" value="{{ username|e }}">
+ </td>
+ </tr>
+ <tr>
+ <th>
+ {% trans 'Password' %}
+ </th>
+ <td>
+ <input type="password" name="password" size="20" maxlength="30" value="">
+ </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>
+ <input type="submit" name="login" value="{% trans %}Continue{% endtrans %}" />
+ </td>
+</table>
+</form>
diff --git a/templates/page.html b/templates/page.html
index 07eea62e..a7c6a300 100644
--- a/templates/page.html
+++ b/templates/page.html
@@ -1,25 +1,25 @@
-<!doctype html>
-<html>
-<head>
- <meta charset="utf-8">
- {% include 'header.html' %}
- <title>{{ title }}</title>
-</head>
-<body>
- {% if pm %}<div class="top_notice">You have <a href="?/PM/{{ pm.id }}">an unread PM</a>{% if pm.waiting > 0 %}, plus {{ pm.waiting }} more waiting{% endif %}.</div><hr>{% endif %}
- <header>
- <h1>{{ title }}</h1>
- <div class="subtitle">
- {% if subtitle %}
- {{ subtitle }}
- {% endif %}
- {% if mod and not hide_dashboard_link %}<p><a href="?/">{% trans %}Return to dashboard{% endtrans %}</a></p>{% endif %}
- </div>
- </header>
- {{ body }}
- <hr>
- <footer>
- <p class="unimportant" style="margin-top:20px;text-align:center;">Powered by <a href="http://tinyboard.org/">Tinyboard</a> {{ config.version }} | <a href="http://tinyboard.org/">Tinyboard</a> Copyright &copy; 2010-2013 Tinyboard Development Group</p>
- </footer>
-</body>
-</html>
+<!doctype html>
+<html>
+<head>
+ <meta charset="utf-8">
+ {% include 'header.html' %}
+ <title>{{ title }}</title>
+</head>
+<body>
+ {% if pm %}<div class="top_notice">You have <a href="?/PM/{{ pm.id }}">an unread PM</a>{% if pm.waiting > 0 %}, plus {{ pm.waiting }} more waiting{% endif %}.</div><hr>{% endif %}
+ <header>
+ <h1>{{ title }}</h1>
+ <div class="subtitle">
+ {% if subtitle %}
+ {{ subtitle }}
+ {% endif %}
+ {% if mod and not hide_dashboard_link %}<p><a href="?/">{% trans %}Return to dashboard{% endtrans %}</a></p>{% endif %}
+ </div>
+ </header>
+ {{ body }}
+ <hr>
+ <footer>
+ <p class="unimportant" style="margin-top:20px;text-align:center;">Powered by <a href="http://tinyboard.org/">Tinyboard</a> {{ config.version }} | <a href="http://tinyboard.org/">Tinyboard</a> Copyright &copy; 2010-2013 Tinyboard Development Group</p>
+ </footer>
+</body>
+</html>
diff --git a/templates/post_reply.html b/templates/post_reply.html
index 450f8246..bc96e74c 100644
--- a/templates/post_reply.html
+++ b/templates/post_reply.html
@@ -1,111 +1,111 @@
-{% filter remove_whitespace %}
-{# tabs and new lines will be ignored #}
-<div class="post reply" id="reply_{{ post.id }}">
-
-<p class="intro"{% if not index %} id="{{ post.id }}"{% endif %}>
- <input type="checkbox" class="delete" name="delete_{{ post.id }}" id="delete_{{ post.id }}" />
- <label for="delete_{{ post.id }}">
- {% if post.subject|length > 0 %}
- {# show subject #}
- <span class="subject">{{ post.subject|bidi_cleanup }}</span>
- {% endif %}
- {% if post.email|length > 0 %}
- {# start email #}
- <a class="email" href="mailto:{{ post.email }}">
- {% endif %}
- {% set capcode = post.capcode|capcode %}
- <span {% if capcode.name %}style="{{ capcode.name }}" {% endif %}class="name">{{ post.name|bidi_cleanup }}</span>
- {% if post.trip|length > 0 %}
- <span {% if capcode.trip %}style="{{ capcode.trip }}" {% endif %}class="trip">{{ post.trip }}</span>
- {% endif %}
- {% if post.email|length > 0 %}
- {# end email #}
- </a>
- {% endif %}
- {% if capcode %}
- {{ capcode.cap }}
- {% endif %}
- {% if post.mod and post.mod|hasPermission(config.mod.show_ip, board.uri) %}
- [<a style="margin:0;" href="?/IP/{{ post.ip }}">{{ post.ip }}</a>]
- {% endif %}
- <time datetime="{{ post.time|date('%Y-%m-%dT%H:%M:%S') }}{{ timezone() }}">{{ post.time|date(config.post_date) }}</time>
- </label>
- {% if config.poster_ids %}
- ID: {{ post.ip|poster_id(post.thread) }}
- {% endif %}
- <a class="post_no" {% if not index %}onclick="highlightReply({{ post.id }})" {% endif %}href="{{ post.link }}">No.</a>
- <a class="post_no"
- {% if not index %}
- onclick="citeReply({{ post.id }});"
- {% endif %}
- href="{% if index %}
- {{ post.link('q') }}
- {% else %}
- javascript:void(0);
- {% endif %}">
- {{ post.id }}
- </a>
- </p>
- {% if post.embed %}
- {{ post.embed }}
- {% elseif post.file == 'deleted' %}
- <img src="{{ config.image_deleted }}" alt="" />
- {% elseif post.file and post.file %}
- <p class="fileinfo">File: <a href="{{ config.uri_img }}{{ post.file }}">{{ post.file }}</a> <span class="unimportant">
- (
- {% if post.thumb == 'spoiler' %}
- Spoiler Image,
- {% endif %}
- {{ post.filesize|filesize }}
- {% if post.filex and post.filey %}
- , {{ post.filex}}x{{ post.filey }}
- {% if config.show_ratio %}
- , {{ post.ratio }}
- {% endif %}
- {% endif %}
- {% if config.show_filename and post.filename %}
- ,
- {% if post.filename|length > config.max_filename_display %}
- <span class="postfilename" title="{{ post.filename|bidi_cleanup }}">{{ post.filename|truncate(config.max_filename_display)|bidi_cleanup }}</span>
- {% else %}
- <span class="postfilename">{{ post.filename|bidi_cleanup }}</span>
- {% endif %}
- {% endif %}
- {% if post.thumb != 'file' and config.image_identification %}
- ,
- <span class='image_id'>
- <a href="http://imgops.com/{{ config.domain }}{{ config.uri_img }}{{ post.file }}">io</a>
- {% if post.file|extension == 'jpg' %}
- <a href="http://regex.info/exif.cgi?url={{ config.domain }}{{ config.uri_img }}{{ post.file }}">e</a>
- {% endif %}
- <a href="http://www.google.com/searchbyimage?image_url={{ config.domain }}{{ config.uri_img }}{{ post.file }}">g</a>
- <a href="http://www.tineye.com/search?url={{ config.domain }}{{ config.uri_img }}{{ post.file }}">t</a>
- </span>
- {% endif %}
-
- )
- </span>
-</p>
- <a href="{{ config.uri_img }}{{ post.file }}" target="_blank"{% if post.thumb == 'file' %} class="file"{% endif %}>
- <img src="
- {% if post.thumb == 'file' %}
- {{ config.root }}
- {% if config.file_icons[post.filename|extension] %}
- {{ config.file_thumb|sprintf(config.file_icons[post.filename|extension]) }}
- {% else %}
- {{ config.file_thumb|sprintf(config.file_icons.default) }}
- {% endif %}
- {% elseif post.thumb == 'spoiler' %}
- {{ config.root }}{{ config.spoiler_image }}
- {% else %}
- {{ config.uri_thumb }}{{ post.thumb }}
- {% endif %}" style="width:{{ post.thumbx }}px;height:{{ post.thumby }}px" alt="" />
- </a>
- {% endif %}
- {{ post.postControls }}
- <div class="body">
- {% endfilter %}{% if index %}{{ post.body|truncate_body(post.link) }}{% else %}{{ post.body }}{% endif %}{% filter remove_whitespace %}
- </div>
-</div>
-<br/>
-{% endfilter %}
+{% filter remove_whitespace %}
+{# tabs and new lines will be ignored #}
+<div class="post reply" id="reply_{{ post.id }}">
+
+<p class="intro"{% if not index %} id="{{ post.id }}"{% endif %}>
+ <input type="checkbox" class="delete" name="delete_{{ post.id }}" id="delete_{{ post.id }}" />
+ <label for="delete_{{ post.id }}">
+ {% if post.subject|length > 0 %}
+ {# show subject #}
+ <span class="subject">{{ post.subject|bidi_cleanup }}</span>
+ {% endif %}
+ {% if post.email|length > 0 %}
+ {# start email #}
+ <a class="email" href="mailto:{{ post.email }}">
+ {% endif %}
+ {% set capcode = post.capcode|capcode %}
+ <span {% if capcode.name %}style="{{ capcode.name }}" {% endif %}class="name">{{ post.name|bidi_cleanup }}</span>
+ {% if post.trip|length > 0 %}
+ <span {% if capcode.trip %}style="{{ capcode.trip }}" {% endif %}class="trip">{{ post.trip }}</span>
+ {% endif %}
+ {% if post.email|length > 0 %}
+ {# end email #}
+ </a>
+ {% endif %}
+ {% if capcode %}
+ {{ capcode.cap }}
+ {% endif %}
+ {% if post.mod and post.mod|hasPermission(config.mod.show_ip, board.uri) %}
+ [<a style="margin:0;" href="?/IP/{{ post.ip }}">{{ post.ip }}</a>]
+ {% endif %}
+ <time datetime="{{ post.time|date('%Y-%m-%dT%H:%M:%S') }}{{ timezone() }}">{{ post.time|date(config.post_date) }}</time>
+ </label>
+ {% if config.poster_ids %}
+ ID: {{ post.ip|poster_id(post.thread) }}
+ {% endif %}
+ <a class="post_no" {% if not index %}onclick="highlightReply({{ post.id }})" {% endif %}href="{{ post.link }}">No.</a>
+ <a class="post_no"
+ {% if not index %}
+ onclick="citeReply({{ post.id }});"
+ {% endif %}
+ href="{% if index %}
+ {{ post.link('q') }}
+ {% else %}
+ javascript:void(0);
+ {% endif %}">
+ {{ post.id }}
+ </a>
+ </p>
+ {% if post.embed %}
+ {{ post.embed }}
+ {% elseif post.file == 'deleted' %}
+ <img src="{{ config.image_deleted }}" alt="" />
+ {% elseif post.file and post.file %}
+ <p class="fileinfo">File: <a href="{{ config.uri_img }}{{ post.file }}">{{ post.file }}</a> <span class="unimportant">
+ (
+ {% if post.thumb == 'spoiler' %}
+ Spoiler Image,
+ {% endif %}
+ {{ post.filesize|filesize }}
+ {% if post.filex and post.filey %}
+ , {{ post.filex}}x{{ post.filey }}
+ {% if config.show_ratio %}
+ , {{ post.ratio }}
+ {% endif %}
+ {% endif %}
+ {% if config.show_filename and post.filename %}
+ ,
+ {% if post.filename|length > config.max_filename_display %}
+ <span class="postfilename" title="{{ post.filename|bidi_cleanup }}">{{ post.filename|truncate(config.max_filename_display)|bidi_cleanup }}</span>
+ {% else %}
+ <span class="postfilename">{{ post.filename|bidi_cleanup }}</span>
+ {% endif %}
+ {% endif %}
+ {% if post.thumb != 'file' and config.image_identification %}
+ ,
+ <span class='image_id'>
+ <a href="http://imgops.com/{{ config.domain }}{{ config.uri_img }}{{ post.file }}">io</a>
+ {% if post.file|extension == 'jpg' %}
+ <a href="http://regex.info/exif.cgi?url={{ config.domain }}{{ config.uri_img }}{{ post.file }}">e</a>
+ {% endif %}
+ <a href="http://www.google.com/searchbyimage?image_url={{ config.domain }}{{ config.uri_img }}{{ post.file }}">g</a>
+ <a href="http://www.tineye.com/search?url={{ config.domain }}{{ config.uri_img }}{{ post.file }}">t</a>
+ </span>
+ {% endif %}
+
+ )
+ </span>
+</p>
+ <a href="{{ config.uri_img }}{{ post.file }}" target="_blank"{% if post.thumb == 'file' %} class="file"{% endif %}>
+ <img src="
+ {% if post.thumb == 'file' %}
+ {{ config.root }}
+ {% if config.file_icons[post.filename|extension] %}
+ {{ config.file_thumb|sprintf(config.file_icons[post.filename|extension]) }}
+ {% else %}
+ {{ config.file_thumb|sprintf(config.file_icons.default) }}
+ {% endif %}
+ {% elseif post.thumb == 'spoiler' %}
+ {{ config.root }}{{ config.spoiler_image }}
+ {% else %}
+ {{ config.uri_thumb }}{{ post.thumb }}
+ {% endif %}" style="width:{{ post.thumbx }}px;height:{{ post.thumby }}px" alt="" />
+ </a>
+ {% endif %}
+ {{ post.postControls }}
+ <div class="body">
+ {% endfilter %}{% if index %}{{ post.body|truncate_body(post.link) }}{% else %}{{ post.body }}{% endif %}{% filter remove_whitespace %}
+ </div>
+</div>
+<br/>
+{% endfilter %}
diff --git a/templates/post_thread.html b/templates/post_thread.html
index cbd37229..c8da07e3 100644
--- a/templates/post_thread.html
+++ b/templates/post_thread.html
@@ -99,27 +99,27 @@
{% endif %}">
{{ post.id }}
</a>
- {% if post.sticky %}
- {% if config.font_awesome %}
- <i class="icon-pushpin icon"></i>
- {% else %}
- <img class="icon" title="Sticky" src="{{ config.image_sticky }}" alt="Sticky" />
- {% endif %}
- {% endif %}
- {% if post.locked %}
- {% if config.font_awesome %}
- <i class="icon-lock icon"></i>
- {% else %}
- <img class="icon" title="Locked" src="{{ config.image_locked }}" alt="Locked" />
- {% endif %}
- {% endif %}
- {% if post.bumplocked and (config.mod.view_bumplock < 0 or (post.mod and post.mod|hasPermission(config.mod.view_bumplock, board.uri))) %}
- {% if config.font_awesome %}
- <i class="icon-anchor icon"></i>
- {% else %}
- <img class="icon" title="Bumplocked" src="{{ config.image_bumplocked }}" alt="Bumplocked" />
- {% endif %}
- {% endif %}
+ {% if post.sticky %}
+ {% if config.font_awesome %}
+ <i class="icon-pushpin icon"></i>
+ {% else %}
+ <img class="icon" title="Sticky" src="{{ config.image_sticky }}" alt="Sticky" />
+ {% endif %}
+ {% endif %}
+ {% if post.locked %}
+ {% if config.font_awesome %}
+ <i class="icon-lock icon"></i>
+ {% else %}
+ <img class="icon" title="Locked" src="{{ config.image_locked }}" alt="Locked" />
+ {% endif %}
+ {% endif %}
+ {% if post.bumplocked and (config.mod.view_bumplock < 0 or (post.mod and post.mod|hasPermission(config.mod.view_bumplock, board.uri))) %}
+ {% if config.font_awesome %}
+ <i class="icon-anchor icon"></i>
+ {% else %}
+ <img class="icon" title="Bumplocked" src="{{ config.image_bumplocked }}" alt="Bumplocked" />
+ {% endif %}
+ {% endif %}
{% if index %}
<a href="{{ post.root }}{{ board.dir }}{{ config.dir.res }}{{ config.file_page|sprintf(post.id) }}">[{% trans %}Reply{% endtrans %}]</a>
{% endif %}
diff --git a/templates/posts.sql b/templates/posts.sql
index 0a1dc92a..698fad77 100644
--- a/templates/posts.sql
+++ b/templates/posts.sql
@@ -1,4 +1,4 @@
-CREATE TABLE IF NOT EXISTS `posts_{{ board }}` (
+CREATE TABLE IF NOT EXISTS `posts_{{ board }}` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`thread` int(11) DEFAULT NULL,
`subject` varchar(100) DEFAULT NULL,
diff --git a/templates/thread.html b/templates/thread.html
index 1b217c2f..619480b4 100644
--- a/templates/thread.html
+++ b/templates/thread.html
@@ -1,51 +1,51 @@
-<!doctype html>
-<html>
-<head>
- <meta charset="utf-8">
-
- <script type="text/javascript">
- var active_page = "thread";
- </script>
-
- {% include 'header.html' %}
- <title>{{ board.url }} - {% if config.thread_subject_in_title and thread.subject %}{{ thread.subject }}{% else %}{{ board.title|e }}{% endif %}</title>
-</head>
-<body>
- {{ boardlist.top }}
- {% if pm %}<div class="top_notice">You have <a href="?/PM/{{ pm.id }}">an unread PM</a>{% if pm.waiting > 0 %}, plus {{ pm.waiting }} more waiting{% endif %}.</div><hr />{% endif %}
- {% if config.url_banner %}<img class="banner" src="{{ config.url_banner }}" {% if config.banner_width or config.banner_height %}style="{% if config.banner_width %}width:{{ config.banner_width }}px{% endif %};{% if config.banner_width %}height:{{ config.banner_height }}px{% endif %}" {% endif %}alt="" />{% endif %}
- <header>
- <h1>{{ board.url }} - {{ board.title|e }}</h1>
- <div class="subtitle">
- {% if board.subtitle %}
- {{ board.subtitle|e }}
- {% endif %}
- {% if mod %}<p><a href="?/">{% trans %}Return to dashboard{% endtrans %}</a></p>{% endif %}
- </div>
- </header>
-
- <div class="banner">{% trans %}Posting mode: Reply{% endtrans %} <a class="unimportant" href="{{ return }}">[{% trans %}Return{% endtrans %}]</a></div>
-
- {% include 'attention_bar.html' %}
- {% include 'post_form.html' %}
-
- {% if config.blotter %}<hr /><div class="blotter">{{ config.blotter }}</div>{% endif %}
- <hr />
- <form name="postcontrols" action="{{ config.post_url }}" method="post">
- <input type="hidden" name="board" value="{{ board.uri }}" />
- {% if mod %}<input type="hidden" name="mod" value="1" />{% endif %}
- {{ body }}
- {% include 'report_delete.html' %}
- </form>
- <a href="{{ return }}">[{% trans %}Return{% endtrans %}]</a>
-
- {{ boardlist.bottom }}
- <footer>
- <p class="unimportant" style="margin-top:20px;text-align:center;">Powered by <a href="http://tinyboard.org/">Tinyboard</a> {{ config.version }} | <a href="http://tinyboard.org/">Tinyboard</a> Copyright &copy; 2010-2013 Tinyboard Development Group</p>
- {% for footer in config.footer %}<p class="unimportant" style="text-align:center;">{{ footer }}</p>{% endfor %}
- </footer>
- <script type="text/javascript">{% raw %}
- ready();
- {% endraw %}</script>
-</body>
-</html>
+<!doctype html>
+<html>
+<head>
+ <meta charset="utf-8">
+
+ <script type="text/javascript">
+ var active_page = "thread";
+ </script>
+
+ {% include 'header.html' %}
+ <title>{{ board.url }} - {% if config.thread_subject_in_title and thread.subject %}{{ thread.subject }}{% else %}{{ board.title|e }}{% endif %}</title>
+</head>
+<body>
+ {{ boardlist.top }}
+ {% if pm %}<div class="top_notice">You have <a href="?/PM/{{ pm.id }}">an unread PM</a>{% if pm.waiting > 0 %}, plus {{ pm.waiting }} more waiting{% endif %}.</div><hr />{% endif %}
+ {% if config.url_banner %}<img class="banner" src="{{ config.url_banner }}" {% if config.banner_width or config.banner_height %}style="{% if config.banner_width %}width:{{ config.banner_width }}px{% endif %};{% if config.banner_width %}height:{{ config.banner_height }}px{% endif %}" {% endif %}alt="" />{% endif %}
+ <header>
+ <h1>{{ board.url }} - {{ board.title|e }}</h1>
+ <div class="subtitle">
+ {% if board.subtitle %}
+ {{ board.subtitle|e }}
+ {% endif %}
+ {% if mod %}<p><a href="?/">{% trans %}Return to dashboard{% endtrans %}</a></p>{% endif %}
+ </div>
+ </header>
+
+ <div class="banner">{% trans %}Posting mode: Reply{% endtrans %} <a class="unimportant" href="{{ return }}">[{% trans %}Return{% endtrans %}]</a></div>
+
+ {% include 'attention_bar.html' %}
+ {% include 'post_form.html' %}
+
+ {% if config.blotter %}<hr /><div class="blotter">{{ config.blotter }}</div>{% endif %}
+ <hr />
+ <form name="postcontrols" action="{{ config.post_url }}" method="post">
+ <input type="hidden" name="board" value="{{ board.uri }}" />
+ {% if mod %}<input type="hidden" name="mod" value="1" />{% endif %}
+ {{ body }}
+ {% include 'report_delete.html' %}
+ </form>
+ <a href="{{ return }}">[{% trans %}Return{% endtrans %}]</a>
+
+ {{ boardlist.bottom }}
+ <footer>
+ <p class="unimportant" style="margin-top:20px;text-align:center;">Powered by <a href="http://tinyboard.org/">Tinyboard</a> {{ config.version }} | <a href="http://tinyboard.org/">Tinyboard</a> Copyright &copy; 2010-2013 Tinyboard Development Group</p>
+ {% for footer in config.footer %}<p class="unimportant" style="text-align:center;">{{ footer }}</p>{% endfor %}
+ </footer>
+ <script type="text/javascript">{% raw %}
+ ready();
+ {% endraw %}</script>
+</body>
+</html>