summaryrefslogtreecommitdiff
path: root/templates/mod
diff options
context:
space:
mode:
authorMichael Save <savetheinternet@tinyboard.org>2012-05-06 01:33:10 +1000
committerMichael Save <savetheinternet@tinyboard.org>2012-05-06 01:33:10 +1000
commita6104587203f1b1b448e6977066d6e649de91ae8 (patch)
tree58f3f17daaeb47de3ecc87f9967b432612147e68 /templates/mod
parentac2837c6204221554ceebc56c5fb9e38be4e0925 (diff)
a lot more improvements
Diffstat (limited to 'templates/mod')
-rw-r--r--templates/mod/ban_form.html20
-rw-r--r--templates/mod/ban_list.html24
-rw-r--r--templates/mod/board.html44
-rw-r--r--templates/mod/confirm.html4
-rw-r--r--templates/mod/dashboard.html56
-rw-r--r--templates/mod/inbox.html36
-rw-r--r--templates/mod/log.html18
-rw-r--r--templates/mod/login.html4
-rw-r--r--templates/mod/new_pm.html6
-rw-r--r--templates/mod/news.html70
-rw-r--r--templates/mod/noticeboard.html8
-rw-r--r--templates/mod/pm.html14
-rw-r--r--templates/mod/rebuild.html20
-rw-r--r--templates/mod/rebuilt.html4
-rw-r--r--templates/mod/report.html12
-rw-r--r--templates/mod/reports.html3
-rw-r--r--templates/mod/user.html64
-rw-r--r--templates/mod/users.html57
-rw-r--r--templates/mod/view_ip.html72
19 files changed, 385 insertions, 151 deletions
diff --git a/templates/mod/ban_form.html b/templates/mod/ban_form.html
index 9d4d6728..5d5f2b81 100644
--- a/templates/mod/ban_form.html
+++ b/templates/mod/ban_form.html
@@ -16,19 +16,19 @@
<tr>
<th>
- <label for="ip">IP <span class="unimportant">(or subnet)</span></label>
+ <label for="ip">{% trans 'IP' %} <span class="unimportant">{% trans '(or subnet)' %}</span></label>
</th>
<td>
{% if not hide_ip %}
<input type="text" name="ip" id="ip" size="30" maxlength="40" value="{{ ip }}">
{% else %}
- <em>hidden</em>
+ <em>{% trans 'hidden' %}</em>
{% endif %}
</td>
</tr>
<tr>
<th>
- <label for="reason">Reason</label>
+ <label for="reason">{% trans 'Reason' %}</label>
</th>
<td>
<textarea name="reason" id="reason" rows="5" cols="30">{{ reason|e }}</textarea>
@@ -37,12 +37,12 @@
{% if post and board and not delete %}
<tr>
<th>
- <label for="reason">Message</label>
+ <label for="reason">{% trans 'Message' %}</label>
</th>
<td>
<input type="checkbox" id="public_message" name="public_message">
<input type="text" name="message" id="message" size="35" maxlength="200" value="{{ config.mod.default_ban_message|e }}">
- <span class="unimportant">(public; attached to post)</span>
+ <span class="unimportant">({% trans 'public; attached to post' %})</span>
<script type="text/javascript">
document.getElementById('message').disabled = true;
document.getElementById('public_message').onchange = function() {
@@ -54,20 +54,20 @@
{% endif %}
<tr>
<th>
- <label for="length">Length</label>
+ <label for="length">{% trans 'Length' %}</label>
</th>
<td>
<input type="text" name="length" id="length" size="20" maxlength="40">
<span class="unimportant">(eg. "2d1h30m" or "2 days")</span></td>
</tr>
<tr>
- <th>Board</th>
+ <th>{% trans 'Board' %}</th>
<td>
<ul style="list-style:none;padding:2px 5px">
<li>
<input type="radio" name="board" value="*" id="ban-allboards" checked>
<label style="display:inline" for="ban-allboards">
- <em>all boards</em>
+ <em>{% trans 'all boards' %}</em>
</label>
</li>
@@ -75,7 +75,7 @@
<li>
<input type="radio" name="board" value="{{ board.uri }}" id="ban-board-{{ board.uri }}">
<label style="display:inline" for="ban-board-{{ board.uri }}">
- {{ config.board_abbreviation|sprintf(board.uri) }} - {{ board.title }}
+ {{ config.board_abbreviation|sprintf(board.uri) }} - {{ board.title|e }}
</label>
</li>
{% endfor %}
@@ -84,7 +84,7 @@
</tr>
<tr>
<td></td>
- <td><input name="new_ban" type="submit" value="New Ban"></td>
+ <td><input name="new_ban" type="submit" value="{% trans 'New Ban' %}"></td>
</tr>
</table>
</form>
diff --git a/templates/mod/ban_list.html b/templates/mod/ban_list.html
index ea8183d6..4a27b8f7 100644
--- a/templates/mod/ban_list.html
+++ b/templates/mod/ban_list.html
@@ -1,15 +1,15 @@
{% if bans|count == 0 %}
- <p style="text-align:center" class="unimportant">(There are no active bans.)</p>
+ <p style="text-align:center" class="unimportant">({% trans 'There are no active bans.' %})</p>
{% else %}
<form action="" method="post">
<table class="mod">
<tr>
- <th>{% trans %}IP address{% endtrans %}</th>
- <th>{% trans %}Reason{% endtrans %}</th>
- <th>{% trans %}Board{% endtrans %}</th>
- <th>{% trans %}Set{% endtrans %}</th>
- <th>{% trans %}Expires{% endtrans %}</th>
- <th>{% trans %}Staff{% endtrans %}</th>
+ <th>{% trans 'IP address' %}</th>
+ <th>{% trans 'Reason' %}</th>
+ <th>{% trans 'Board' %}</th>
+ <th>{% trans 'Set' %}</th>
+ <th>{% trans 'Expires' %}</th>
+ <th>{% trans 'Staff' %}</th>
</tr>
{% for ban in bans %}
<tr{% if ban.expires != 0 and ban.expires < time() %} style="text-decoration:line-through"{% endif %}>
@@ -32,7 +32,7 @@
{% if ban.board %}
{{ config.board_abbreviation|sprintf(ban.board) }}
{% else %}
- <em>{% trans %}all boards{% endtrans %}
+ <em>{% trans 'all boards' %}</em>
{% endif %}
</td>
<td style="white-space: nowrap">
@@ -40,7 +40,7 @@
</td>
<td style="white-space: nowrap">
{% if ban.expires == 0 %}
- <em>never</em>
+ <em>{% trans 'never' %}</em>
{% else %}
{{ ban.expires|date(config.post_date) }}
{% if ban.expires > time() %}
@@ -59,8 +59,10 @@
{% endif %}
{% endif %}
+ {% elseif ban.mod == -1 %}
+ <em>system</em>
{% else %}
- <em>deleted?</em>
+ <em>{% trans 'deleted?' %}</em>
{% endif %}
</td>
</tr>
@@ -68,7 +70,7 @@
</table>
<p style="text-align:center">
- <input type="submit" name="unban" value="Unban selected">
+ <input type="submit" name="unban" value="{% trans 'Unban selected' %}">
</p>
</form>
{% endif %}
diff --git a/templates/mod/board.html b/templates/mod/board.html
new file mode 100644
index 00000000..0775e421
--- /dev/null
+++ b/templates/mod/board.html
@@ -0,0 +1,44 @@
+{% if new %}
+ {% set action = '?/new-board' %}
+{% else %}
+ {% set action = '?/edit/' ~ board.uri %}
+{% endif %}
+
+<form action="{{ action }}" method="post">
+ <table>
+ <tr>
+ <th>{% trans 'URI' %}</th>
+ <td>
+ {% if not new %}
+ {{ config.board_abbreviation|sprintf(board.uri) }}
+ {% else %}
+ /<input size="10" maxlength="255" type="text" name="uri" autocomplete="off">/
+ {% endif %}
+ </td>
+ </tr>
+ <tr>
+ <th>{% trans 'Title' %}</th>
+ <td>
+ <input size="25" type="text" name="title" value="{{ board.title|e }}" autocomplete="off">
+ </td>
+ </tr>
+ <tr>
+ <th>{% trans 'Subtitle' %}</th>
+ <td>
+ <input size="25" type="text" name="subtitle" value="{{ board.subtitle|e }}" autocomplete="off">
+ </td>
+ </tr>
+ </table>
+
+ <ul style="padding:0;text-align:center;list-style:none">
+ {% if new %}
+ <li><input type="submit" value="{% trans 'Create board' %}"></li>
+ {% else %}
+ <li><input type="submit" value="{% trans 'Save changes' %}"></li>
+ {% if mod|hasPermission(config.mod.deleteboard) %}
+ <li><input name="delete" onclick="return confirm('Are you sure you want to permanently delete this board?');" type="submit" value="{% trans 'Delete board' %}"></li>
+ {% endif %}
+ {% endif %}
+ </ul>
+</form>
+
diff --git a/templates/mod/confirm.html b/templates/mod/confirm.html
index 7509ce3c..6dc4d66a 100644
--- a/templates/mod/confirm.html
+++ b/templates/mod/confirm.html
@@ -1,7 +1,7 @@
<p style="text-align:center;font-size:1.1em">
- Are you sure you want to do that? <a href="?/{{ request }}">Click to proceed to ?/{{ request }}</a>.
+ {% trans 'Are you sure you want to do that?' %} <a href="?/{{ request }}">{% trans 'Click to proceed to' %} ?/{{ request }}</a>.
</p>
<p class="unimportant" style="text-align:center">
- You are seeing this message because we were unable to serve a confirmation dialog, probably due to Javascript being disabled.
+ {% trans 'You are seeing this message because we were unable to serve a confirmation dialog, probably due to Javascript being disabled.' %}
</p>
diff --git a/templates/mod/dashboard.html b/templates/mod/dashboard.html
index fc510ac7..9e50e6ed 100644
--- a/templates/mod/dashboard.html
+++ b/templates/mod/dashboard.html
@@ -6,30 +6,30 @@
<li>
<a href="?/{{ config.board_path|sprintf(board.uri) }}{{ config.file_index }}">{{ config.board_abbreviation|sprintf(board.uri) }}</a>
-
- {{ board.title }}
+ {{ board.title|e }}
{% if board.subtitle %}
- <small>&mdash; {{ board.subtitle }}</small>
+ <small>&mdash; {{ board.subtitle|e }}</small>
{% endif %}
{% if mod|hasPermission(config.mod.manageboards) %}
- <a href="?/manage/{{ board.uri }}"><small>[{% trans 'manage' %}]</small></a>
+ <a href="?/edit/{{ board.uri }}"><small>[{% trans 'edit' %}]</small></a>
{% endif %}
</li>
{% endfor %}
{% if mod|hasPermission(config.mod.newboard) %}
- <li style="margin-top:15px"><a href="?/new_board"><strong>{% trans 'Create new board' %}</strong></a></li>
+ <li style="margin-top:15px"><a href="?/new-board"><strong>{% trans 'Create new board' %}</strong></a></li>
{% endif %}
</ul>
</fieldset>
-{% if mod|hasPermission(config.mod.noticeboard) %}
- <fieldset>
- <legend>{% trans 'Noticeboard' %}</legend>
- <ul>
+<fieldset>
+ <legend>{% trans 'Messages' %}</legend>
+ <ul>
+ {% if mod|hasPermission(config.mod.noticeboard) %}
{% if noticeboard|count > 0 %}
<li>
- {% trans 'Latest posts:' %}
+ {% trans 'Noticeboard' %}:
<ul>
{% for post in noticeboard %}
<li>
@@ -43,7 +43,7 @@
<small class="unimportant">
&mdash; by
{% if post.username %}
- {{ post.username }}
+ {{ post.username|e }}
{% else %}
<em>deleted?</em>
{% endif %}
@@ -56,9 +56,18 @@
</li>
{% endif %}
<li><a href="?/noticeboard">{% trans 'View all entries' %}</a></li>
- </ul>
- </fieldset>
-{% endif %}
+ {% endif %}
+ <li><a href="?/news">{% trans 'News' %}</a></li>
+ <li>
+ <a href="?/inbox">
+ {% trans 'PM inbox' %}
+ {% if unread_pms > 0 %}
+ <strong>({{ unread_pms }} unread)</strong>
+ {% endif %}
+ </a>
+ </li>
+ </ul>
+</fieldset>
<fieldset>
<legend>{% trans 'Administration' %}</legend>
@@ -115,3 +124,24 @@
</fieldset>
{% endif %}
+{% if newer_release %}
+ <fieldset>
+ <legend>Update</legend>
+ <ul>
+ <li>
+ A newer version of Tinyboard
+ (<strong>v{{ newer_release.massive }}.{{ newer_release.major }}.{{ newer_release.minor }}</strong>) is available!
+ See <a href="http://tinyboard.org">http://tinyboard.org/</a> for upgrade instructions.
+ </li>
+ </ul>
+ </fieldset>
+{% endif %}
+
+<fieldset>
+ <legend>{% trans 'User account' %}</legend>
+
+ <ul>
+ <li><a href="?/logout">{% trans 'Logout' %}</a></li>
+ </ul>
+</fieldset>
+
diff --git a/templates/mod/inbox.html b/templates/mod/inbox.html
new file mode 100644
index 00000000..97afe446
--- /dev/null
+++ b/templates/mod/inbox.html
@@ -0,0 +1,36 @@
+{% if messages|count == 0 %}
+ <p style="text-align:center" class="unimportant">({% trans 'No private messages for you.' %})</p>
+{% else %}
+ <table class="modlog">
+ <tr>
+ <th>{% trans 'ID' %}</th>
+ <th>{% trans 'From' %}</th>
+ <th>{% trans 'Date' %}</th>
+ <th>{% trans 'Message snippet' %}</th>
+ </tr>
+ {% for message in messages %}
+ <tr{% if message.unread %} style="font-weight:bold"{% endif %}>
+ <td class="minimal">
+ <a href="?/PM/{{ message.id }}">
+ {{ message.id }}
+ </a>
+ </td>
+ <td class="minimal">
+ {% if message.username %}
+ <a href="?/new_PM/{{ message.username|e }}">{{ message.username|e }}</a>
+ {% else %}
+ <em>{% trans 'deleted?' %}</em>
+ {% endif %}
+ </td>
+ <td class="minimal">
+ {{ message.time|date(config.post_date) }}
+ </td>
+ <td>
+ <a href="?/PM/{{ message.id }}">
+ {{ message.snippet }}
+ </a>
+ </td>
+ </tr>
+ {% endfor %}
+ </table>
+{% endif %}
diff --git a/templates/mod/log.html b/templates/mod/log.html
index 9b0979cb..dca1b2d0 100644
--- a/templates/mod/log.html
+++ b/templates/mod/log.html
@@ -1,15 +1,21 @@
<table class="modlog">
<tr>
- <th>Staff</th>
- <th>IP address</th>
- <th>Time</th>
- <th>Board</th>
- <th>Action</th>
+ <th>{% trans 'Staff' %}</th>
+ <th>{% trans 'IP address' %}</th>
+ <th>{% trans 'Time' %}</th>
+ <th>{% trans 'Board' %}</th>
+ <th>{% trans 'Action' %}</th>
</tr>
{% for log in logs %}
<tr>
<td class="minimal">
- <a href="?/new_PM/{{ log.username }}">{{ log.username }}</a>
+ {% if log.username %}
+ <a href="?/new_PM/{{ log.username|e }}">{{ log.username|e }}</a>
+ {% elseif log.mod == -1 %}
+ <em>system</em>
+ {% else %}
+ <em>{% trans 'deleted?' %}</em>
+ {% endif %}
</td>
<td class="minimal">
<a href="?/IP/{{ log.ip }}">{{ log.ip }}</a>
diff --git a/templates/mod/login.html b/templates/mod/login.html
index 5ac308a3..43a28d56 100644
--- a/templates/mod/login.html
+++ b/templates/mod/login.html
@@ -3,7 +3,7 @@
<table style="margin-top:25px;">
<tr>
<th>
- {% trans %}Username{% endtrans %}
+ {% trans 'Username' %}
</th>
<td>
<input type="text" name="username" size="20" maxlength="30" value="{{ username|e }}">
@@ -11,7 +11,7 @@
</tr>
<tr>
<th>
- {% trans %}Password{% endtrans %}
+ {% trans 'Password' %}
</th>
<td>
<input type="password" name="password" size="20" maxlength="30" value="">
diff --git a/templates/mod/new_pm.html b/templates/mod/new_pm.html
index ece1325c..3fd78ac6 100644
--- a/templates/mod/new_pm.html
+++ b/templates/mod/new_pm.html
@@ -1,7 +1,3 @@
-{#{% if id == mod.id %}
- {% set username = 'me' %}
-{% endif %}#}
-
<form action="?/new_PM/{{ username|e }}" method="post">
<table>
<tr>
@@ -18,5 +14,5 @@
</tr>
</table>
- <p style="text-align:center"><input type="submit" value="Send message"></p>
+ <p style="text-align:center"><input type="submit" value="{% trans 'Send message' %}"></p>
</form>
diff --git a/templates/mod/news.html b/templates/mod/news.html
new file mode 100644
index 00000000..b6c35798
--- /dev/null
+++ b/templates/mod/news.html
@@ -0,0 +1,70 @@
+{% if mod|hasPermission(config.mod.news) %}
+ <fieldset>
+ <legend>{% trans 'New post' %}</legend>
+ <form style="margin:0" action="" method="post">
+ <table>
+ <tr>
+ <th>
+ {% if mod|hasPermission(config.mod.news_custom) %}
+ <label for="name">{% trans 'Name' %}</label>
+ {% else %}
+ {% trans 'Name' %}
+ {% endif %}
+ </th>
+ <td>
+ {% if mod|hasPermission(config.mod.news_custom) %}
+ <input type="text" size="55" name="name" id="name" value="{{ mod.username|e }}">
+ {% else %}
+ {{ mod.username|e }}
+ {% endif %}
+ </td>
+ </tr>
+ <tr>
+ <th><label for="subject">{% trans 'Subject' %}</label></th>
+ <td><input type="text" size="55" name="subject" id="subject"></td>
+ </tr>
+ <tr>
+ <th><label for="body">{% trans 'Body' %}</label></th>
+ <td><textarea name="body" id="body" style="width:100%;height:100px"></textarea></td>
+ </tr>
+ </table>
+ <p style="text-align:center">
+ <input type="submit" value="{% trans 'Post news entry' %}">
+ </p>
+ </form>
+ </fieldset>
+{% endif %}
+
+{% for post in news %}
+ <div class="ban">
+ {% if mod|hasPermission(config.mod.news_delete) %}
+ <span style="float:right;padding:2px">
+ <a class="unimportant" href="?/news/delete/{{ post.id }}">[{% trans 'delete' %}]</a>
+ </span>
+ {% endif %}
+ <h2 id="{{ post.id }}">
+ <small class="unimportant">
+ <a href="#{{ post.id }}">#</a>
+ </small>
+ {% if post.subject %}
+ {{ post.subject|e }}
+ {% else %}
+ <em>{% trans 'no subject' %}</em>
+ {% endif %}
+ <small class="unimportant">
+ &mdash; {% trans 'by' %} {{ post.name }} {% trans 'at' %} {{ notice.time|date(config.post_date) }}
+ </small>
+ </h2>
+ <p>
+ {{ post.body }}
+ </p>
+ </div>
+{% endfor %}
+
+{% if count > news|count %}
+ <p class="unimportant" style="text-align:center;word-wrap:break-word">
+ {% for i in range(0, (count - 1) / config.mod.news_page) %}
+ <a href="?/news/{{ i + 1 }}">[{{ i + 1 }}]</a>
+ {% endfor %}
+ </p>
+{% endif %}
diff --git a/templates/mod/noticeboard.html b/templates/mod/noticeboard.html
index 4d764d80..4a0a068f 100644
--- a/templates/mod/noticeboard.html
+++ b/templates/mod/noticeboard.html
@@ -40,13 +40,13 @@
<em>{% trans 'no subject' %}</em>
{% endif %}
<small class="unimportant">
- &mdash; by
+ &mdash; {% trans 'by' %}
{% if post.username %}
- {{ post.username }}
+ {{ post.username|e }}
{% else %}
- <em>deleted?</em>
+ <em>{% trans 'deleted?' %}</em>
{% endif %}
- at
+ {% trans 'at' %}
{{ notice.time|date(config.post_date) }}
</small>
</h2>
diff --git a/templates/mod/pm.html b/templates/mod/pm.html
index 511bcfef..c66dc883 100644
--- a/templates/mod/pm.html
+++ b/templates/mod/pm.html
@@ -1,11 +1,11 @@
<form action="" method="post">
<table>
<tr>
- <th>From</th>
+ <th>{% trans 'From' %}</th>
{% if username %}
<td><a href="?/new_PM/{{ username|e }}">{{ username|e }}</a></td>
{% else %}
- <td><em>deleted?</em></td>
+ <td><em>{% trans 'deleted?' %}</em></td>
{% endif %}
</tr>
{% if to != mod.id %}
@@ -14,27 +14,27 @@
{% if to_username %}
<td><a href="?/new_PM/{{ to_username|e }}">{{ to_username|e }}</a></td>
{% else %}
- <td><em>deleted?</em></td>
+ <td><em>{% trans 'deleted?' %}</em></td>
{% endif %}
</tr>
{% endif %}
<tr>
- <th>Date</th>
+ <th>{% trans 'Date' %}</th>
<td>{{ time|date(config.post_date) }}</td>
</tr>
<tr>
- <th>Message</th>
+ <th>{% trans 'Message' %}</th>
<td>{{ message }}</td>
</tr>
</table>
<ul style="list-style:none;text-align:center;padding:0">
<li style="padding:5px 0">
- <input type="submit" name="delete" value="Delete forever">
+ <input type="submit" name="delete" value="{% trans 'Delete forever' %}">
</li>
<li style="padding:5px 0">
<a href="?/PM/{{ id }}/reply">
- Reply with quote
+ {% trans 'Reply with quote' %}
</a>
</li>
</ul>
diff --git a/templates/mod/rebuild.html b/templates/mod/rebuild.html
index 856855d7..7c6b28ba 100644
--- a/templates/mod/rebuild.html
+++ b/templates/mod/rebuild.html
@@ -2,7 +2,7 @@
<ul id="rebuild">
<li style="margin-bottom:8px">
<input type="checkbox" name="rebuild_all" id="rebuild_all" onchange="toggleall(this.checked)">
- <label for="rebuild_all"><strong>Toggle all</strong></label>
+ <label for="rebuild_all"><strong>{% trans 'Toggle all' %}</strong></label>
<script>
function toggleall(val) {
/* TODO: something more suitable for all browsers? */
@@ -15,27 +15,27 @@
</li>
<li>
<input type="checkbox" name="rebuild_cache" id="rebuild_cache" checked>
- <label for="rebuild_cache">Flush cache</label>
+ <label for="rebuild_cache">{% trans 'Flush cache' %}</label>
</li>
<li>
<input type="checkbox" name="rebuild_javascript" id="rebuild_javascript" checked>
- <label for="rebuild_javascript">Rebuild Javascript</label>
+ <label for="rebuild_javascript">{% trans 'Rebuild Javascript' %}</label>
</li>
<li>
<input type="checkbox" name="rebuild_index" id="rebuild_index" checked>
- <label for="rebuild_index">Rebuild index pages</label>
+ <label for="rebuild_index">{% trans 'Rebuild index pages' %}</label>
</li>
<li>
<input type="checkbox" name="rebuild_thread" id="rebuild_thread" checked>
- <label for="rebuild_thread">Rebuild thread pages</label>
+ <label for="rebuild_thread">{% trans 'Rebuild thread pages' %}</label>
</li>
<li>
<input type="checkbox" name="rebuild_themes" id="rebuild_themes" checked>
- <label for="rebuild_themes">Rebuild themes</label>
+ <label for="rebuild_themes">{% trans 'Rebuild themes' %}</label>
</li>
<li>
<input type="checkbox" name="rebuild_posts" id="rebuild_posts">
- <label for="rebuild_posts">Rebuild replies</label>
+ <label for="rebuild_posts">{% trans 'Rebuild replies' %}</label>
</li>
</ul>
@@ -44,7 +44,7 @@
<ul id="boards">
<li style="margin-bottom:8px">
<input type="checkbox" name="boards_all" id="boards_all" onchange="toggleallboards(this.checked)" checked>
- <label for="boards_all"><strong>All boards</strong></label>
+ <label for="boards_all"><strong>{% trans 'All boards' %}</strong></label>
<script>
function toggleallboards(val) {
/* TODO: something more suitable for all browsers? */
@@ -59,13 +59,13 @@
<li>
<input type="checkbox" name="board_{{ board.uri }}" id="board-{{ board.uri }}" checked>
<label for="board-{{ board.uri }}">
- {{ config.board_abbreviation|sprintf(board.uri) }} - {{ board.title }}
+ {{ config.board_abbreviation|sprintf(board.uri) }} - {{ board.title|e }}
</label>
</li>
{% endfor %}
</ul>
<p style="text-align:center">
- <input type="submit" value="Rebuild" name="rebuild">
+ <input type="submit" value="{% trans 'Rebuild' %}" name="rebuild">
</p>
</form>
diff --git a/templates/mod/rebuilt.html b/templates/mod/rebuilt.html
index 8cc10bf9..57d16fff 100644
--- a/templates/mod/rebuilt.html
+++ b/templates/mod/rebuilt.html
@@ -1,12 +1,12 @@
<div class="ban">
- <h2>Rebuilt</h2>
+ <h2>{% trans 'Rebuilt' %}</h2>
<ul>
{% for log in logs %}
<li>{{ log }}</li>
{% endfor %}
</ul>
<p>
- <a href="?/rebuild">Go back and rebuild again</a>.
+ <a href="?/rebuild">{% trans 'Go back and rebuild again' %}</a>.
</p>
</div>
diff --git a/templates/mod/report.html b/templates/mod/report.html
index c84e3c89..9c8463ed 100644
--- a/templates/mod/report.html
+++ b/templates/mod/report.html
@@ -1,25 +1,25 @@
<div class="report">
<hr>
- Board: <a href="?/{{ report.board }}/{{ config.file_index }}">{{ config.board_abbreviation|sprintf(report.board) }}</a>
+ {% trans 'Board' %}: <a href="?/{{ report.board }}/{{ config.file_index }}">{{ config.board_abbreviation|sprintf(report.board) }}</a>
<br>
- Reason: {{ report.reason }}
+ {% trans 'Reason' %}: {{ report.reason }}
<br>
- Report date: {{ report.time|date(config.post_date) }}
+ {% trans 'Report date' %}: {{ report.time|date(config.post_date) }}
<br>
{% if mod|hasPermission(config.mod.show_ip, report.board) %}
- Reported by: <a href="?/IP/{{ report.ip }}">{{ report.ip }}</a>
+ {% trans 'Reported by' %}: <a href="?/IP/{{ report.ip }}">{{ report.ip }}</a>
<br>
{% endif %}
{% if mod|hasPermission(config.mod.report_dismiss, report.board) or mod|hasPermission(config.mod.report_dismiss_ip, report.board) %}
<hr>
{% if mod|hasPermission(config.mod.report_dismiss, report.board) %}
- <a title="Discard abuse report" href="?/reports/{{ report.id }}/dismiss">Dismiss</a>
+ <a title="{% trans 'Discard abuse report' %}" href="?/reports/{{ report.id }}/dismiss">Dismiss</a>
{% endif %}
{% if mod|hasPermission(config.mod.report_dismiss_ip, report.board) %}
{% if mod|hasPermission(config.mod.report_dismiss, report.board) %}
|
{% endif %}
- <a title="Discard all abuse reports by this IP address" href="?/reports/{{ report.id }}/dismissall">Dismiss+</a>
+ <a title="{% trans 'Discard all abuse reports by this IP address' %}" href="?/reports/{{ report.id }}/dismissall">Dismiss+</a>
{% endif %}
{% endif %}
</div>
diff --git a/templates/mod/reports.html b/templates/mod/reports.html
index 37322e35..26bceacc 100644
--- a/templates/mod/reports.html
+++ b/templates/mod/reports.html
@@ -1,5 +1,6 @@
{% if reports %}
{{ reports }}
{% else %}
- <p style="text-align:center" class="unimportant">(There are no reports.)</p>
+ <p style="text-align:center" class="unimportant">({% trans 'There are no reports.' %})</p>
{% endif %}
+
diff --git a/templates/mod/user.html b/templates/mod/user.html
index 87a57d92..3c4b89cf 100644
--- a/templates/mod/user.html
+++ b/templates/mod/user.html
@@ -1,9 +1,15 @@
-<form action="?/users/{{ mod.id }}" method="post">
+{% if new %}
+ {% set action = '?/users/new' %}
+{% else %}
+ {% set action = '?/users/' ~ user.id %}
+{% endif %}
+
+<form action="{{ action }}" method="post">
<table>
<tr>
- <th>Username</th>
+ <th>{% trans 'Username' %}</th>
<td>
- {% if mod|hasPermission(config.mod.editusers) %}
+ {% if new or mod|hasPermission(config.mod.editusers) %}
<input size="20" maxlength="30" type="text" name="username" value="{{ user.username|e }}" autocomplete="off">
{% else %}
{{ user.username|e }}
@@ -11,17 +17,38 @@
</td>
</tr>
<tr>
- <th>Password <small style="font-weight:normal">(new; optional)</small></th>
+ <th>{% trans 'Password' %}{% if not new %} <small style="font-weight:normal">({% trans 'new; optional' %})</small>{% endif %}</th>
<td>
- {% if mod|hasPermission(config.mod.editusers) or (mod|hasPermission(config.mod.change_password) and user.id == mod.id) %}
+ {% if new or (mod|hasPermission(config.mod.editusers) or (mod|hasPermission(config.mod.change_password) and user.id == mod.id)) %}
<input size="20" maxlength="30" type="password" name="password" value="" autocomplete="off">
{% else %}
-
{% endif %}
</td>
</tr>
+ {% if new %}
+ <tr>
+ <th>{% trans 'Class' %}</th>
+ <td>
+ <ul style="padding:5px 8px;list-style:none">
+ <li>
+ <input type="radio" name="type" id="janitor" value="{{ constant('JANITOR') }}">
+ <label for="janitor">{% trans 'Janitor' %}</label>
+ </li>
+ <li>
+ <input type="radio" name="type" id="mod" value="{{ constant('MOD') }}" checked>
+ <label for="mod">{% trans 'Mod' %}</label>
+ </li>
+ <li>
+ <input type="radio" name="type" id="admin" value="{{ constant('Admin') }}">
+ <label for="admin">{% trans 'Admin' %}</label>
+ </li>
+ </ul>
+ </td>
+ </tr>
+ {% endif %}
<tr>
- <th>Boards</th>
+ <th>{% trans 'Boards' %}</th>
<td>
<ul style="padding:0 5px;list-style:none">
<li>
@@ -31,7 +58,7 @@
disabled
{% endif %}
>
- <label for="allboards">"*" - All boards</label>
+ <label for="allboards">"*" - {% trans 'All boards' %}</label>
</li>
{% for board in boards %}
<li>
@@ -44,7 +71,7 @@
<label for="board_{{ board.uri }}">
{{ config.board_abbreviation|sprintf(board.uri) }}
-
- {{ board.title }}
+ {{ board.title|e }}
</label>
</li>
{% endfor %}
@@ -53,10 +80,14 @@
</tr>
</table>
- <ul style="padding:0;text-align:center">
- <li><input type="submit" value="Save changes"></li>
- {% if mod|hasPermission(config.mod.deleteusers) %}
- <li><input type="submit" value="Delete user"></li>
+ <ul style="padding:0;text-align:center;list-style:none">
+ {% if new %}
+ <li><input type="submit" value="{% trans 'Create user' %}"></li>
+ {% else %}
+ <li><input type="submit" value="{% trans 'Save changes' %}"></li>
+ {% if mod|hasPermission(config.mod.deleteusers) %}
+ <li><input name="delete" onclick="return confirm('Are you sure you want to permanently delete this user?');" type="submit" value="{% trans 'Delete user' %}"></li>
+ {% endif %}
{% endif %}
</ul>
</form>
@@ -64,10 +95,10 @@
{% if logs|count > 0 %}
<table class="modlog" style="width:600px">
<tr>
- <th>IP address</th>
- <th>Time</th>
- <th>Board</th>
- <th>Action</th>
+ <th>{% trans 'IP address' %}</th>
+ <th>{% trans 'Time' %}</th>
+ <th>{% trans 'Board' %}</th>
+ <th>{% trans 'Action' %}</th>
</tr>
{% for log in logs %}
<tr>
@@ -91,3 +122,4 @@
{% endfor %}
</table>
{% endif %}
+
diff --git a/templates/mod/users.html b/templates/mod/users.html
index 63d799d5..a0d216d3 100644
--- a/templates/mod/users.html
+++ b/templates/mod/users.html
@@ -1,39 +1,45 @@
<table class="modlog" style="width:auto">
<tr>
- <th>ID</th>
- <th>Username</th>
- <th>Type</th>
- <th>Boards</th>
- <th>Last action</th>
+ <th>{% trans 'ID' %}</th>
+ <th>{% trans 'Username' %}</th>
+ <th>{% trans 'Type' %}</th>
+ <th>{% trans 'Boards' %}</th>
+ <th>{% trans 'Last action' %}</th>
<th>&hellip;</th>
</tr>
{% for user in users %}
<tr>
<td><small>{{ user.id }}</small></td>
- <td>{{ user.username }}</td>
+ <td>{{ user.username|e }}</td>
<td>
- {% if user.type == constant('JANITOR') %}Janitor
- {% elseif user.type == constant('MOD') %}Mod
- {% elseif user.type == constant('ADMIN') %}Admin
+ {% if user.type == constant('JANITOR') %}{% trans 'Janitor' %}
+ {% elseif user.type == constant('MOD') %}{% trans 'Mod' %}
+ {% elseif user.type == constant('ADMIN') %}{% trans 'Admin' %}
{% endif %}
</td>
<td>
- {# This is really messy, but IMO it beats doing it in PHP. #}
- {% set boards = user.boards|split(',') %}
- {% set _boards = [] %}
- {% for board in boards %}
- {% set _boards = _boards|push(board == '*' ? '*' : config.board_abbreviation|sprintf(board)) %}
- {% endfor %}
- {% set _boards = _boards|sort %}
- {{ _boards|join(', ') }}
+ {% if user.boards == '' %}
+ <em>{% trans 'none' %}</em>
+ {% elseif user.boards == '*' %}
+ <em>{% trans 'all boards' %}</em>
+ {% else %}
+ {# This is really messy, but IMO it beats doing it in PHP. #}
+ {% set boards = user.boards|split(',') %}
+ {% set _boards = [] %}
+ {% for board in boards %}
+ {% set _boards = _boards|push(board == '*' ? '*' : config.board_abbreviation|sprintf(board)) %}
+ {% endfor %}
+ {% set _boards = _boards|sort %}
+ {{ _boards|join(', ') }}
+ {% endif %}
</td>
<td>
{% if mod|hasPermission(config.mod.modlog) %}
{% if user.last %}
<span title="{{ user.action|e }}">{{ user.last|ago }}</span>
{% else %}
- <em>never</em>
+ <em>{% trans 'never' %}</em>
{% endif %}
{% else %}
&ndash;
@@ -41,18 +47,25 @@
</td>
<td>
{% if mod|hasPermission(config.mod.promoteusers) and user.type < constant('ADMIN') %}
- <a style="float:left;text-decoration:none" href="?/users/{{ user.id }}/promote" title="Promote">&#9650;</a>
+ <a style="float:left;text-decoration:none" href="?/users/{{ user.id }}/promote" title="{% trans 'Promote' %}">&#9650;</a>
{% endif %}
{% if mod|hasPermission(config.mod.promoteusers) and user.type > constant('JANITOR') %}
- <a style="float:left;text-decoration:none" href="?/users/{{ user.id }}/demote" title="Demote">&#9660;</a>
+ <a style="float:left;text-decoration:none" href="?/users/{{ user.id }}/demote" title="{% trans 'Demote' %}">&#9660;</a>
{% endif %}
{% if mod|hasPermission(config.editusers) or (mod|hasPermission(config.change_password) and mod.id == user.id) %}
- <a class="unimportant" style="margin-left:5px;float:right" href="?/users/{{ user.id }}">[edit]</a>
+ <a class="unimportant" style="margin-left:5px;float:right" href="?/users/{{ user.id }}">[{% trans 'edit' %}]</a>
{% endif %}
{% if mod|hasPermission(config.mod.create_pm) %}
- <a class="unimportant" style="margin-left:5px;float:right" href="?/new_PM/{{ user.username }}">[PM]</a>
+ <a class="unimportant" style="margin-left:5px;float:right" href="?/new_PM/{{ user.username|e }}">[{% trans 'PM' %}]</a>
{% endif %}
</td>
</tr>
{% endfor %}
</table>
+
+{% if mod|hasPermission(config.mod.createusers) %}
+ <p style="text-align:center">
+ <a href="?/users/new">Create a new user</a>
+ </p>
+{% endif %}
+
diff --git a/templates/mod/view_ip.html b/templates/mod/view_ip.html
index 3bc9654c..e69301fd 100644
--- a/templates/mod/view_ip.html
+++ b/templates/mod/view_ip.html
@@ -1,37 +1,38 @@
{% for board_posts in posts %}
<fieldset>
<legend>
- <a href="?/{{ config.board_path|sprintf(board.uri) }}{{ config.file_index }}">{{ config.board_abbreviation|sprintf(board_posts.board.uri) }}</a>
+ <a href="?/{{ config.board_path|sprintf(board_posts.board.uri) }}{{ config.file_index }}">{{ config.board_abbreviation|sprintf(board_posts.board.uri) }}</a>
-
- {{ board_posts.board.title }}
+ {{ board_posts.board.title|e }}
</legend>
{{ board_posts.posts|join('<hr>') }}
</fieldset>
{% endfor %}
{% if mod|hasPermission(config.mod.view_notes) %}
- <fieldset>
+ <fieldset id="notes">
<legend>
- {{ notes|count }} note{% if notes|count != 1 %}s{% endif %} on record
+ {% set notes_on_record = 'note' ~ (notes|count != 1 ? 's' : '') ~ ' on record' %}
+ <legend>{{ notes|count }} {% trans notes_on_record %}</legend>
</legend>
{% if notes|count > 0 %}
<table class="modlog">
<tr>
- <th>Staff</th>
- <th>Note</th>
- <th>Date</th>
+ <th>{% trans 'Staff' %}</th>
+ <th>{% trans 'Note' %}</th>
+ <th>{% trans 'Date' %}</th>
{% if mod|hasPermission(config.mod.remove_notes) %}
- <th>Actions</th>
+ <th>{% trans 'Actions' %}</th>
{% endif %}
</tr>
{% for note in notes %}
<tr>
<td class="minimal">
{% if note.username %}
- <a href="?/new_PM/{{ note.username }}">{{ note.username }}</a>
+ <a href="?/new_PM/{{ note.username|e }}">{{ note.username|e }}</a>
{% else %}
- <em>deleted?</em>
+ <em>{% trans 'deleted?' %}</em>
{% endif %}
</td>
<td>
@@ -42,7 +43,9 @@
</td>
{% if mod|hasPermission(config.mod.remove_notes) %}
<td class="minimal">
- <a href="?/IP/{{ ip }}/remove_note/{{ note.id }}"><small>[remove]</small></a>
+ <a href="?/IP/{{ ip }}/remove_note/{{ note.id }}">
+ <small>[{% trans 'remove' %}]</small>
+ </a>
</td>
{% endif %}
</tr>
@@ -54,12 +57,12 @@
<form action="" method="post" style="margin:0">
<table>
<tr>
- <th>Staff</th>
- <td>{{ mod.username }}</td>
+ <th>{% trans 'Staff' %}</th>
+ <td>{{ mod.username|e }}</td>
</tr>
<tr>
<th>
- <label for="note">Note</label>
+ <label for="note">{% trans 'Note' %}</label>
</th>
<td>
<textarea id="note" name="note" rows="5" cols="30"></textarea>
@@ -67,7 +70,7 @@
</tr>
<tr>
<td></td>
- <td><input type="submit" value="New note"></td>
+ <td><input type="submit" value="{% trans 'New note' %}"></td>
</tr>
</table>
</form>
@@ -76,73 +79,74 @@
{% endif %}
{% if bans|count > 0 and mod|hasPermission(config.mod.view_ban) %}
- <fieldset>
- <legend>Ban{% if bans|count != 1 %}s{% endif %} on record</legend>
+ <fieldset id="bans">
+ {% set bans_on_record = 'ban' ~ (bans|count != 1 ? 's' : '') ~ ' on record' %}
+ <legend>{{ bans|count }} {% trans bans_on_record %}</legend>
{% for ban in bans %}
<form action="" method="post" style="text-align:center">
<table style="width:400px;margin-bottom:10px;border-bottom:1px solid #ddd;padding:5px">
<tr>
- <th>Status</th>
+ <th>{% trans 'Status' %}</th>
<td>
{% if config.mod.view_banexpired and ban.expires != 0 and ban.expires < time() %}
- Expired
+ {% trans 'Expired' %}
{% else %}
- Active
+ {% trans 'Active' %}
{% endif %}
</td>
</tr>
<tr>
- <th>IP</th>
+ <th>{% trans 'IP' %}</th>
<td>{{ ban.ip }}</td>
</tr>
<tr>
- <th>Reason</th>
+ <th>{% trans 'Reason' %}</th>
<td>
{% if ban.reason %}
{{ ban.reason }}
{% else %}
- <em>no reason</em>
+ <em>{% trans 'no reason' %}</em>
{% endif %}
</td>
</tr>
<tr>
- <th>Board</th>
+ <th>{% trans 'Board' %}</th>
<td>
{% if ban.board %}
{{ config.board_abbreviation|sprintf(ban.board) }}
{% else %}
- <em>all boards</em>
+ <em>{% trans 'all boards' %}</em>
{% endif %}
</td>
</tr>
<tr>
- <th>Set</th>
+ <th>{% trans 'Set' %}</th>
<td>{{ ban.set|date(config.post_date) }}</td>
</tr>
<tr>
- <th>Expires</th>
+ <th>{% trans 'Expires' %}</th>
<td>
{% if ban.expires %}
{{ ban.expires|date(config.post_date) }}
{% else %}
- <em>never</em>
+ <em>{% trans 'never' %}</em>
{% endif %}
</td>
</tr>
<tr>
- <th>Staff</th>
+ <th>{% trans 'Staff' %}</th>
<td>
{% if ban.username %}
- {{ ban.username }}
+ {{ ban.username|e }}
{% else %}
- <em>deleted?</em>
+ <em>{% trans 'deleted?' %}</em>
{% endif %}
</td>
</tr>
</table>
<input type="hidden" name="ban_id" value="{{ ban.id }}">
- <input type="submit" name="unban" value="Remove ban">
+ <input type="submit" name="unban" value="{% trans 'Remove ban' %}">
</form>
{% endfor %}
</fieldset>
@@ -150,8 +154,8 @@
{% if mod|hasPermission(config.mod.ban) %}
<fieldset>
- <legend>New ban</legend>
- {% set redirect = '?/IP/' ~ ip %}
+ <legend>{% trans 'New ban' %}</legend>
+ {% set redirect = '?/IP/' ~ ip ~ '#bans' %}
{% include 'mod/ban_form.html' %}
</fieldset>
{% endif %}