From ed045259949aed75db2bc640553c9adfbff35661 Mon Sep 17 00:00:00 2001
From: ctrlcctrlv
Date: Thu, 8 Aug 2013 19:41:21 +0000
Subject: [PATCH 01/19] Spoil files moderator action
---
inc/config.php | 1 +
inc/display.php | 8 ++++++++
inc/mod/pages.php | 27 +++++++++++++++++++++++++++
3 files changed, 36 insertions(+)
diff --git a/inc/config.php b/inc/config.php
index 8ca769bb..ea0300e0 100644
--- a/inc/config.php
+++ b/inc/config.php
@@ -954,6 +954,7 @@
$config['mod']['link_ban'] = '[B]';
$config['mod']['link_bandelete'] = '[B&D]';
$config['mod']['link_deletefile'] = '[F]';
+ $config['mod']['link_spoilerimage'] = '[S]';
$config['mod']['link_deletebyip'] = '[D+]';
$config['mod']['link_deletebyip_global'] = '[D++]';
$config['mod']['link_sticky'] = '[Sticky]';
diff --git a/inc/display.php b/inc/display.php
index 99228fc3..77df971a 100644
--- a/inc/display.php
+++ b/inc/display.php
@@ -345,6 +345,10 @@ class Post {
if (!empty($this->file) && hasPermission($config['mod']['deletefile'], $board['uri'], $this->mod))
$built .= ' ' . secure_link_confirm($config['mod']['link_deletefile'], _('Delete file'), _('Are you sure you want to delete this file?'), $board['dir'] . 'deletefile/' . $this->id);
+ // Spoiler file (keep post)
+ if (!empty($this->file) && $this->file != "deleted" && $this->file != null && $this->thumb != 'spoiler' && hasPermission($config['mod']['spoilerimage'], $board['uri'], $this->mod) && $config['spoiler_images'])
+ $built .= ' ' . secure_link_confirm($config['mod']['link_spoilerimage'], 'Spoiler File', 'Are you sure you want to spoiler this file?', $board['uri'] . '/spoiler/' . $this->id);
+
// Edit post
if (hasPermission($config['mod']['editpost'], $board['uri'], $this->mod))
$built .= ' ' . $config['mod']['link_editpost'] . '';
@@ -445,6 +449,10 @@ class Thread {
// Delete file (keep post)
if (!empty($this->file) && $this->file != 'deleted' && hasPermission($config['mod']['deletefile'], $board['uri'], $this->mod))
$built .= ' ' . secure_link_confirm($config['mod']['link_deletefile'], _('Delete file'), _('Are you sure you want to delete this file?'), $board['dir'] . 'deletefile/' . $this->id);
+
+ // Spoiler file (keep post)
+ if (!empty($this->file) && $this->file != "deleted" && $this->file != null && $this->thumb != 'spoiler' && hasPermission($config['mod']['spoilerimage'], $board['uri'], $this->mod) && $config['spoiler_images'])
+ $built .= ' ' . secure_link_confirm($config['mod']['link_spoilerimage'], 'Spoiler File', 'Are you sure you want to spoiler this file?', $board['uri'] . '/spoiler/' . $this->id);
// Sticky
if (hasPermission($config['mod']['sticky'], $board['uri'], $this->mod))
diff --git a/inc/mod/pages.php b/inc/mod/pages.php
index 10205a11..23b90aba 100644
--- a/inc/mod/pages.php
+++ b/inc/mod/pages.php
@@ -1361,6 +1361,33 @@ function mod_deletefile($board, $post) {
header('Location: ?/' . sprintf($config['board_path'], $board) . $config['file_index'], true, $config['redirect_http']);
}
+function mod_spoiler_image($board, $post) {
+ global $config, $mod;
+
+ if (!openBoard($board))
+ error($config['error']['noboard']);
+
+ if (!hasPermission($config['mod']['spoilerimage'], $board))
+ error($config['error']['noaccess']);
+
+ // Delete file
+ $query = prepare(sprintf("UPDATE `posts_%s` SET `thumb` = :thumb, `thumbwidth` = :thumbwidth, `thumbheight` = :thumbheight WHERE `id` = :id", $board));
+ $query->bindValue(':thumb', "spoiler");
+ $query->bindValue(':thumbwidth', 128, PDO::PARAM_INT);
+ $query->bindValue(':thumbheight', 128, PDO::PARAM_INT);
+ $query->bindValue(':id', $post, PDO::PARAM_INT);
+ $query->execute() or error(db_error($query));
+
+ // Record the action
+ modLog("Spoilered file from post #{$post}");
+
+ // Rebuild board
+ buildIndex();
+
+ // Redirect
+ header('Location: ?/' . sprintf($config['board_path'], $board) . $config['file_index'], true, $config['redirect_http']);
+}
+
function mod_deletebyip($boardName, $post, $global = false) {
global $config, $mod, $board;
From 6e74f2a1a6183ccf7768e0932b30facd58d51f83 Mon Sep 17 00:00:00 2001
From: ctrlcctrlv
Date: Thu, 8 Aug 2013 19:43:40 +0000
Subject: [PATCH 02/19] accidentally spaces
---
inc/display.php | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/inc/display.php b/inc/display.php
index 77df971a..c9f39731 100644
--- a/inc/display.php
+++ b/inc/display.php
@@ -346,8 +346,8 @@ class Post {
$built .= ' ' . secure_link_confirm($config['mod']['link_deletefile'], _('Delete file'), _('Are you sure you want to delete this file?'), $board['dir'] . 'deletefile/' . $this->id);
// Spoiler file (keep post)
- if (!empty($this->file) && $this->file != "deleted" && $this->file != null && $this->thumb != 'spoiler' && hasPermission($config['mod']['spoilerimage'], $board['uri'], $this->mod) && $config['spoiler_images'])
- $built .= ' ' . secure_link_confirm($config['mod']['link_spoilerimage'], 'Spoiler File', 'Are you sure you want to spoiler this file?', $board['uri'] . '/spoiler/' . $this->id);
+ if (!empty($this->file) && $this->file != "deleted" && $this->file != null && $this->thumb != 'spoiler' && hasPermission($config['mod']['spoilerimage'], $board['uri'], $this->mod) && $config['spoiler_images'])
+ $built .= ' ' . secure_link_confirm($config['mod']['link_spoilerimage'], 'Spoiler File', 'Are you sure you want to spoiler this file?', $board['uri'] . '/spoiler/' . $this->id);
// Edit post
if (hasPermission($config['mod']['editpost'], $board['uri'], $this->mod))
@@ -451,8 +451,8 @@ class Thread {
$built .= ' ' . secure_link_confirm($config['mod']['link_deletefile'], _('Delete file'), _('Are you sure you want to delete this file?'), $board['dir'] . 'deletefile/' . $this->id);
// Spoiler file (keep post)
- if (!empty($this->file) && $this->file != "deleted" && $this->file != null && $this->thumb != 'spoiler' && hasPermission($config['mod']['spoilerimage'], $board['uri'], $this->mod) && $config['spoiler_images'])
- $built .= ' ' . secure_link_confirm($config['mod']['link_spoilerimage'], 'Spoiler File', 'Are you sure you want to spoiler this file?', $board['uri'] . '/spoiler/' . $this->id);
+ if (!empty($this->file) && $this->file != "deleted" && $this->file != null && $this->thumb != 'spoiler' && hasPermission($config['mod']['spoilerimage'], $board['uri'], $this->mod) && $config['spoiler_images'])
+ $built .= ' ' . secure_link_confirm($config['mod']['link_spoilerimage'], 'Spoiler File', 'Are you sure you want to spoiler this file?', $board['uri'] . '/spoiler/' . $this->id);
// Sticky
if (hasPermission($config['mod']['sticky'], $board['uri'], $this->mod))
From a12fe86f490d3963f0264607146b070d1cee842c Mon Sep 17 00:00:00 2001
From: ctrlcctrlv
Date: Thu, 8 Aug 2013 19:50:11 +0000
Subject: [PATCH 03/19] mistake with spoiler commit
---
mod.php | 1 +
1 file changed, 1 insertion(+)
diff --git a/mod.php b/mod.php
index be66db78..0e98c4eb 100644
--- a/mod.php
+++ b/mod.php
@@ -68,6 +68,7 @@ $pages = array(
'/(\%b)/edit(_raw)?/(\d+)' => 'secure_POST edit_post', // edit post
'/(\%b)/delete/(\d+)' => 'secure delete', // delete post
'/(\%b)/deletefile/(\d+)' => 'secure deletefile', // delete file from post
+ '/(\%b+)/spoiler/(\d+)' => 'secure spoiler_image', // spoiler file
'/(\%b)/deletebyip/(\d+)(/global)?' => 'secure deletebyip', // delete all posts by IP address
'/(\%b)/(un)?lock/(\d+)' => 'secure lock', // lock thread
'/(\%b)/(un)?sticky/(\d+)' => 'secure sticky', // sticky thread
From 2018fd206bfcd69789c2f2ff7c034f7287cc3226 Mon Sep 17 00:00:00 2001
From: ctrlcctrlv
Date: Sun, 11 Aug 2013 13:54:11 +0000
Subject: [PATCH 04/19] Improve spoiler action
Conflicts:
inc/mod/pages.php
---
inc/config.php | 2 ++
inc/mod/pages.php | 15 +++++++++++++--
2 files changed, 15 insertions(+), 2 deletions(-)
diff --git a/inc/config.php b/inc/config.php
index ea0300e0..7bde3d6a 100644
--- a/inc/config.php
+++ b/inc/config.php
@@ -1093,6 +1093,8 @@
$config['mod']['bandelete'] = MOD;
// Remove bans
$config['mod']['unban'] = MOD;
+ // Spoiler file (and keep post)
+ $config['mod']['deletefile'] = JANITOR;
// Delete file (and keep post)
$config['mod']['deletefile'] = JANITOR;
// Delete all posts by IP
diff --git a/inc/mod/pages.php b/inc/mod/pages.php
index 23b90aba..932b2ed6 100644
--- a/inc/mod/pages.php
+++ b/inc/mod/pages.php
@@ -1371,7 +1371,15 @@ function mod_spoiler_image($board, $post) {
error($config['error']['noaccess']);
// Delete file
- $query = prepare(sprintf("UPDATE `posts_%s` SET `thumb` = :thumb, `thumbwidth` = :thumbwidth, `thumbheight` = :thumbheight WHERE `id` = :id", $board));
+ $query = prepare(sprintf("SELECT `thumb`, `thread` FROM ``posts_%s`` WHERE id = :id", $board));
+ $query->bindValue(':id', $post, PDO::PARAM_INT);
+ $query->execute() or error(db_error($query));
+ $result = $query->fetch(PDO::FETCH_ASSOC);
+
+ file_unlink($board . '/' . $config['dir']['thumb'] . $result['thumb']);
+
+ // Make thumbnail spoiler
+ $query = prepare(sprintf("UPDATE ``posts_%s`` SET `thumb` = :thumb, `thumbwidth` = :thumbwidth, `thumbheight` = :thumbheight WHERE `id` = :id", $board));
$query->bindValue(':thumb', "spoiler");
$query->bindValue(':thumbwidth', 128, PDO::PARAM_INT);
$query->bindValue(':thumbheight', 128, PDO::PARAM_INT);
@@ -1380,7 +1388,10 @@ function mod_spoiler_image($board, $post) {
// Record the action
modLog("Spoilered file from post #{$post}");
-
+
+ // Rebuild thread
+ buildThread($result['thread'] ? $result['thread'] : $post);
+
// Rebuild board
buildIndex();
From d846fe63704e63d93cb65bbecacdd25febf2b9a5 Mon Sep 17 00:00:00 2001
From: ctrlcctrlv
Date: Sun, 11 Aug 2013 13:55:15 +0000
Subject: [PATCH 05/19] forgot to rename config option
---
inc/config.php | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/inc/config.php b/inc/config.php
index 7bde3d6a..7c7b6241 100644
--- a/inc/config.php
+++ b/inc/config.php
@@ -1094,7 +1094,7 @@
// Remove bans
$config['mod']['unban'] = MOD;
// Spoiler file (and keep post)
- $config['mod']['deletefile'] = JANITOR;
+ $config['mod']['spoilerfile'] = JANITOR;
// Delete file (and keep post)
$config['mod']['deletefile'] = JANITOR;
// Delete all posts by IP
From 8c3ae439c985d7b611f3b9e4386b0a412e83a233 Mon Sep 17 00:00:00 2001
From: Vasiliy Shikhachevskiy
Date: Sun, 11 Aug 2013 13:59:07 -0400
Subject: [PATCH 06/19] Added Czech translation
---
inc/locale/cs_CZ/LC_MESSAGES/javascript.js | 1 +
inc/locale/cs_CZ/LC_MESSAGES/javascript.po | 176 +++
inc/locale/cs_CZ/LC_MESSAGES/tinyboard.mo | Bin 0 -> 18904 bytes
inc/locale/cs_CZ/LC_MESSAGES/tinyboard.po | 1330 ++++++++++++++++++++
4 files changed, 1507 insertions(+)
create mode 100644 inc/locale/cs_CZ/LC_MESSAGES/javascript.js
create mode 100644 inc/locale/cs_CZ/LC_MESSAGES/javascript.po
create mode 100644 inc/locale/cs_CZ/LC_MESSAGES/tinyboard.mo
create mode 100644 inc/locale/cs_CZ/LC_MESSAGES/tinyboard.po
diff --git a/inc/locale/cs_CZ/LC_MESSAGES/javascript.js b/inc/locale/cs_CZ/LC_MESSAGES/javascript.js
new file mode 100644
index 00000000..ccf9a606
--- /dev/null
+++ b/inc/locale/cs_CZ/LC_MESSAGES/javascript.js
@@ -0,0 +1 @@
+l10n = {"Style: ":"Styl: ","File":"Soubor","hide":"skr\u00fdt","show":"zobrazit","Show locked threads":"Zobrazit zam\u010den\u00e1 vl\u00e1kna","Hide locked threads":"Skr\u00fdt zam\u010den\u00e1 vl\u00e1kna","hidden":"skryt\u00e9","Show images":"Zobrazit obr\u00e1zky","Hide images":"Skr\u00fdt obr\u00e1zky","Password":"Heslo","Delete file only":"Smazat pouze soubor","Delete":"Smazat","Reason":"D\u016fvod","Report":"Nahl\u00e1sit","Click reply to view.":"Klikni na odpov\u011b\u010f pro zobrazen\u00ed.","Click to expand":"Klikni pro rozbalen\u00ed","Hide expanded replies":"Skr\u00fdt rozbalen\u00e9 odpov\u011bdi","Forced anonymity":"Vynucen\u00e1 anonymita","enabled":"zapnuto","disabled":"vypnuto","Sun":"Ne","Mon":"Po","Tue":"\u00dat","Wed":"St","Thu":"\u010ct","Fri":"P\u00e1","Sat":"So","Submit":"Odeslat","Quick reply":"Rychl\u00e1 odpov\u011b\u010f","Posting mode: Replying to >>{0}<\/small>":"Re\u017eim odpov\u011bdi: Odpov\u00edd\u00e1\u0161 na >>{0}<\/small>","Return":"N\u00e1vrat","Hello!":"Nazdar!","{0} users":"{0} u\u017eivatel","(hide threads from this board)":"(skr\u00fdt vl\u00e1kna z tohoto boardu)","(show threads from this board)":"(zobrazit vl\u00e1kna z tohoto boardu)","No more threads to display":"Nejsou \u017e\u00e1dn\u00e1 dal\u0161\u00ed vl\u00e1kna k zobrazen\u00ed","Loading...":"Na\u010d\u00edt\u00e1m..."};
\ No newline at end of file
diff --git a/inc/locale/cs_CZ/LC_MESSAGES/javascript.po b/inc/locale/cs_CZ/LC_MESSAGES/javascript.po
new file mode 100644
index 00000000..9aa8b2c3
--- /dev/null
+++ b/inc/locale/cs_CZ/LC_MESSAGES/javascript.po
@@ -0,0 +1,176 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR , YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: czchan 1.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-08-11 11:20-0400\n"
+"PO-Revision-Date: 2013-08-11 17:42+0100\n"
+"Language-Team: Czech \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
+
+#: ../../../../js/style-select.js:40
+msgid "Style: "
+msgstr "Styl: "
+
+#: ../../../../js/hide-images.js:50
+#: ../../../../js/quick-post-controls.js:30
+msgid "File"
+msgstr "Soubor"
+
+#: ../../../../js/hide-images.js:50
+msgid "hide"
+msgstr "skrýt"
+
+#: ../../../../js/hide-images.js:56
+msgid "show"
+msgstr "zobrazit"
+
+#: ../../../../js/toggle-locked-threads.js:39
+#: ../../../../js/toggle-locked-threads.js:54
+msgid "Show locked threads"
+msgstr "Zobrazit zamčená vlákna"
+
+#: ../../../../js/toggle-locked-threads.js:39
+#: ../../../../js/toggle-locked-threads.js:54
+msgid "Hide locked threads"
+msgstr "Skrýt zamčená vlákna"
+
+#: ../../../../js/toggle-images.js:41
+msgid "hidden"
+msgstr "skryté"
+
+#: ../../../../js/toggle-images.js:57
+#: ../../../../js/toggle-images.js:70
+msgid "Show images"
+msgstr "Zobrazit obrázky"
+
+#: ../../../../js/toggle-images.js:57
+#: ../../../../js/toggle-images.js:70
+msgid "Hide images"
+msgstr "Skrýt obrázky"
+
+#: ../../../../js/quick-post-controls.js:27
+msgid "Password"
+msgstr "Heslo"
+
+#: ../../../../js/quick-post-controls.js:29
+msgid "Delete file only"
+msgstr "Smazat pouze soubor"
+
+#: ../../../../js/quick-post-controls.js:31
+msgid "Delete"
+msgstr "Smazat"
+
+#: ../../../../js/quick-post-controls.js:35
+msgid "Reason"
+msgstr "Důvod"
+
+#: ../../../../js/quick-post-controls.js:37
+msgid "Report"
+msgstr "Nahlásit"
+
+#: ../../../../js/expand.js:20
+msgid "Click reply to view."
+msgstr "Klikni na odpověď pro zobrazení."
+
+#: ../../../../js/expand.js:20
+msgid "Click to expand"
+msgstr "Klikni pro rozbalení"
+
+#: ../../../../js/expand.js:43
+msgid "Hide expanded replies"
+msgstr "Skrýt rozbalené odpovědi"
+
+#: ../../../../js/forced-anon.js:59
+#: ../../../../js/forced-anon.js:65
+#: ../../../../js/forced-anon.js:69
+msgid "Forced anonymity"
+msgstr "Vynucená anonymita"
+
+#: ../../../../js/forced-anon.js:59
+#: ../../../../js/forced-anon.js:65
+msgid "enabled"
+msgstr "zapnuto"
+
+#: ../../../../js/forced-anon.js:59
+#: ../../../../js/forced-anon.js:69
+msgid "disabled"
+msgstr "vypnuto"
+
+#: ../../../../js/local-time.js:40
+msgid "Sun"
+msgstr "Ne"
+
+#: ../../../../js/local-time.js:40
+msgid "Mon"
+msgstr "Po"
+
+#: ../../../../js/local-time.js:40
+msgid "Tue"
+msgstr "Út"
+
+#: ../../../../js/local-time.js:40
+msgid "Wed"
+msgstr "St"
+
+#: ../../../../js/local-time.js:40
+msgid "Thu"
+msgstr "Čt"
+
+#: ../../../../js/local-time.js:40
+msgid "Fri"
+msgstr "Pá"
+
+#: ../../../../js/local-time.js:40
+msgid "Sat"
+msgstr "So"
+
+#: ../../../../js/quick-reply.js:21
+msgid "Submit"
+msgstr "Odeslat"
+
+#: ../../../../js/quick-reply.js:31
+msgid "Quick reply"
+msgstr "Rychlá odpověď"
+
+#: ../../../../js/quick-reply.js:33
+msgid "Posting mode: Replying to >>{0}"
+msgstr "Režim odpovědi: Odpovídáš na >>{0}"
+
+#: ../../../../js/quick-reply.js:33
+msgid "Return"
+msgstr "Návrat"
+
+#: ../../../../templates/main.js:6
+msgid "Hello!"
+msgstr "Nazdar!"
+
+#: ../../../../templates/main.js:18
+msgid "{0} users"
+msgstr "{0} uživatel"
+
+#: ../../../../templates/themes/ukko/ukko.js:28
+#: ../../../../templates/themes/ukko/ukko.js:39
+msgid "(hide threads from this board)"
+msgstr "(skrýt vlákna z tohoto boardu)"
+
+#: ../../../../templates/themes/ukko/ukko.js:32
+#: ../../../../templates/themes/ukko/ukko.js:44
+msgid "(show threads from this board)"
+msgstr "(zobrazit vlákna z tohoto boardu)"
+
+#: ../../../../templates/themes/ukko/ukko.js:57
+msgid "No more threads to display"
+msgstr "Nejsou žádná další vlákna k zobrazení"
+
+#: ../../../../templates/themes/ukko/ukko.js:79
+msgid "Loading..."
+msgstr "Načítám..."
+
diff --git a/inc/locale/cs_CZ/LC_MESSAGES/tinyboard.mo b/inc/locale/cs_CZ/LC_MESSAGES/tinyboard.mo
new file mode 100644
index 0000000000000000000000000000000000000000..57d79276ade63a0e6635513cf09ced5f4f0d1586
GIT binary patch
literal 18904
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
cm^q, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: czchan 1.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-08-11 11:20-0400\n"
+"PO-Revision-Date: 2013-08-11 19:23+0100\n"
+"Language-Team: Czech \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
+
+#: ../../../../inc/lib/gettext/examples/pigs_dropin.php:77
+msgid ""
+"This is how the story goes.\n"
+"\n"
+msgstr ""
+"Příběh zní takhle.\n"
+"\n"
+
+#: ../../../../inc/functions.php:578 ../../../../inc/functions.php:595
+msgid "second"
+msgid_plural "seconds"
+msgstr[0] "sekunda"
+msgstr[1] "sekundy"
+msgstr[2] "sekund"
+
+#: ../../../../inc/functions.php:580 ../../../../inc/functions.php:597
+msgid "minute"
+msgid_plural "minutes"
+msgstr[0] "minuta"
+msgstr[1] "minuty"
+msgstr[2] "minut"
+
+#: ../../../../inc/functions.php:582 ../../../../inc/functions.php:599
+msgid "hour"
+msgid_plural "hours"
+msgstr[0] "hodina"
+msgstr[1] "hodiny"
+msgstr[2] "hodin"
+
+#: ../../../../inc/functions.php:584 ../../../../inc/functions.php:601
+msgid "day"
+msgid_plural "days"
+msgstr[0] "den"
+msgstr[1] "dny"
+msgstr[2] "dnů"
+
+#: ../../../../inc/functions.php:586 ../../../../inc/functions.php:603
+msgid "week"
+msgid_plural "weeks"
+msgstr[0] "týden"
+msgstr[1] "týdny"
+msgstr[2] "týdnů"
+
+#: ../../../../inc/functions.php:589 ../../../../inc/functions.php:606
+msgid "year"
+msgid_plural "years"
+msgstr[0] "rok"
+msgstr[1] "roky"
+msgstr[2] "let"
+
+#: ../../../../inc/functions.php:623
+msgid "Banned!"
+msgstr "Máš ban!"
+
+#. There is no previous page.
+#: ../../../../inc/functions.php:1124 ../../../../inc/functions.php:1138
+msgid "Previous"
+msgstr "Předchozí"
+
+#. There is no next page.
+#: ../../../../inc/functions.php:1143 ../../../../inc/functions.php:1152
+msgid "Next"
+msgstr "Další"
+
+#: ../../../../inc/display.php:80
+msgid "Error"
+msgstr "Chyba"
+
+#: ../../../../inc/display.php:81
+msgid "An error has occured."
+msgstr "Nastala chyba."
+
+#: ../../../../inc/display.php:97 ../../../../inc/mod/pages.php:62
+msgid "Login"
+msgstr "Přihlášení"
+
+#: ../../../../inc/display.php:216
+#, php-format
+msgid "Post too long. Click here to view the full text."
+msgstr ""
+"Příspěvek je příliš dlouhý. Klikni sem pro zobrazení "
+"celého textu."
+
+#: ../../../../inc/display.php:340 ../../../../inc/display.php:451
+msgid "Ban"
+msgstr "Zabanovat"
+
+#: ../../../../inc/display.php:344 ../../../../inc/display.php:455
+msgid "Ban & Delete"
+msgstr "Zabanovat a smazat"
+
+#: ../../../../inc/display.php:348 ../../../../inc/display.php:459
+msgid "Delete file"
+msgstr "Smazat soubor"
+
+#: ../../../../inc/display.php:348 ../../../../inc/display.php:459
+msgid "Are you sure you want to delete this file?"
+msgstr "Určitě chceš smazat tento soubor?"
+
+#: ../../../../inc/display.php:352 ../../../../inc/display.php:463
+msgid "Spoiler File"
+msgstr "Zakrýt soubor"
+
+#: ../../../../inc/display.php:352 ../../../../inc/display.php:463
+msgid "Are you sure you want to spoiler this file?"
+msgstr "Určitě chceš zakrýt tento soubor?"
+
+#: ../../../../inc/display.php:356
+msgid "Move reply to another board"
+msgstr "Přesunout odpověď na jiný board"
+
+#: ../../../../inc/display.php:360 ../../../../inc/display.php:490
+#: ../../../../inc/mod/pages.php:1417
+msgid "Edit post"
+msgstr "Upravit příspěvek"
+
+#. line 5
+#: ../../../../inc/display.php:439
+#: ../../../../templates/cache/82/40/4c4a4b82f787181e6500ce83494d.php:33
+msgid "Delete"
+msgstr "Smazat"
+
+#: ../../../../inc/display.php:439
+msgid "Are you sure you want to delete this?"
+msgstr "Určitě to chceš smazat?"
+
+#: ../../../../inc/display.php:443
+msgid "Delete all posts by IP"
+msgstr "Smazat všechny příspěvky podle IP"
+
+#: ../../../../inc/display.php:443
+msgid "Are you sure you want to delete all posts by this IP address?"
+msgstr "Určitě chceš smazat všechny příspěvky od této IP adresy?"
+
+#: ../../../../inc/display.php:447
+msgid "Delete all posts by IP across all boards"
+msgstr "Smazat všechny příspěvky podle IP na všech boardech"
+
+#: ../../../../inc/display.php:447
+msgid ""
+"Are you sure you want to delete all posts by this IP address, across all "
+"boards?"
+msgstr ""
+"Určitě chceš smazat všechny příspěvky od této IP adresy, na všech boardech?"
+
+#: ../../../../inc/display.php:468
+msgid "Make thread not sticky"
+msgstr "Odlepit vlákno"
+
+#: ../../../../inc/display.php:470
+msgid "Make thread sticky"
+msgstr "Přilepit vlákno"
+
+#: ../../../../inc/display.php:474
+msgid "Allow thread to be bumped"
+msgstr "Povolit oživování vlákna"
+
+#: ../../../../inc/display.php:476
+msgid "Prevent thread from being bumped"
+msgstr "Zakázat oživování vlákna"
+
+#: ../../../../inc/display.php:481
+msgid "Unlock thread"
+msgstr "Odemknout vlákno"
+
+#: ../../../../inc/display.php:483
+msgid "Lock thread"
+msgstr "Zamknout vlákno"
+
+#: ../../../../inc/display.php:486
+msgid "Move thread to another board"
+msgstr "Přesunout vlákno na jiný board"
+
+#. How long before Tinyboard forgets about a mute?
+#. 2 weeks
+#. If you want to alter the algorithm a bit. Default value is 2.
+#. (n^x where x is the number of previous mutes)
+#: ../../../../inc/config.php:342
+msgid "You have been muted for unoriginal content."
+msgstr "Byl jsi umlčen za neoriginální obsah."
+
+#. The names on the post buttons. (On most imageboards, these are both just "Post").
+#: ../../../../inc/config.php:658
+msgid "New Topic"
+msgstr "Nové téma"
+
+#: ../../../../inc/config.php:659
+msgid "New Reply"
+msgstr "Nová odpověď"
+
+#. Additional lines added to the footer of all pages.
+#: ../../../../inc/config.php:670
+msgid ""
+"All trademarks, copyrights, comments, and images on this page are owned by "
+"and are the responsibility of their respective parties."
+msgstr ""
+"Všechny ochranné známky, copyrighty, komentáře a obrázky na této stránce "
+"jsou vlastnictvím svých autorů, kteří za ně nesou zodpovědnost."
+
+#.
+#. * ====================
+#. * Error messages
+#. * ====================
+#.
+#. Error messages
+#: ../../../../inc/config.php:836
+msgid "Lurk some more before posting."
+msgstr "Než něco pošleš, zjisti si, jak to tu chodí."
+
+#: ../../../../inc/config.php:837
+msgid "You look like a bot."
+msgstr "Vypadáš jako robot."
+
+#: ../../../../inc/config.php:838
+msgid "Your browser sent an invalid or no HTTP referer."
+msgstr "Tvůj prohlížeč neposlal žádný nebo poslal neplatný HTTP referer."
+
+#: ../../../../inc/config.php:839
+#, php-format
+msgid "The %s field was too long."
+msgstr "Pole %s je příliš dlouhé."
+
+#: ../../../../inc/config.php:840
+msgid "The body was too long."
+msgstr "Tělo je příliš dlouhé."
+
+#: ../../../../inc/config.php:841
+msgid "The body was too short or empty."
+msgstr "Tělo je příliš krátké nebo prázdné."
+
+#: ../../../../inc/config.php:842
+msgid "You must upload an image."
+msgstr "Musíš nahrát obrázek."
+
+#: ../../../../inc/config.php:843
+msgid "The server failed to handle your upload."
+msgstr "Server nedokázal zpracovat tvůj upload."
+
+#: ../../../../inc/config.php:844
+msgid "Unsupported image format."
+msgstr "Nepodporovaný formát obrázku."
+
+#: ../../../../inc/config.php:845
+msgid "Invalid board!"
+msgstr "Neplatný board!"
+
+#: ../../../../inc/config.php:846
+msgid "Thread specified does not exist."
+msgstr "Dané vlákno neexistuje."
+
+#: ../../../../inc/config.php:847
+msgid "Thread locked. You may not reply at this time."
+msgstr "Vlákno bylo zamknuto. Teď na něj nemůžeš odpovídat."
+
+#: ../../../../inc/config.php:848
+msgid "Thread has reached its maximum reply limit."
+msgstr "Vlákno dosáhlo limit na počet odpovědí."
+
+#: ../../../../inc/config.php:849
+msgid "Thread has reached its maximum image limit."
+msgstr "Vlákno dosáhlo limit na počet obrázků."
+
+#: ../../../../inc/config.php:850
+msgid "You didn't make a post."
+msgstr "Nic jsi neposlal."
+
+#: ../../../../inc/config.php:851
+msgid "Flood detected; Post discarded."
+msgstr "Detekován flood; příspěvek zahozen."
+
+#: ../../../../inc/config.php:852
+msgid "Your request looks automated; Post discarded."
+msgstr "Tvůj požadavek vypadá strojově; příspěvek zahozen."
+
+#: ../../../../inc/config.php:853
+msgid "Unoriginal content!"
+msgstr "Neoriginální obsah!"
+
+#: ../../../../inc/config.php:854
+#, php-format
+msgid "Unoriginal content! You have been muted for %d seconds."
+msgstr "Neoriginální obsah! Byl jsi na %d sekund umlčen."
+
+#: ../../../../inc/config.php:855
+#, php-format
+msgid "You are muted! Expires in %d seconds."
+msgstr "Byl jsi umlčen! Mluvit budeš moct až za %d sekund."
+
+#: ../../../../inc/config.php:856
+#, php-format
+msgid "Your IP address is listed in %s."
+msgstr "Tvoje IP adresa figuruje v %s."
+
+#: ../../../../inc/config.php:857
+msgid "Too many links; flood detected."
+msgstr "Příliš mnoho odkazů; detekován flood."
+
+#: ../../../../inc/config.php:858
+msgid "Too many cites; post discarded."
+msgstr "Příliš mnoho citací; příspěvek zahozen."
+
+#: ../../../../inc/config.php:859
+msgid "Too many cross-board links; post discarded."
+msgstr "Příliš mnoho odkazů napříč boardy; příspěvek zahozen."
+
+#: ../../../../inc/config.php:860
+msgid "You didn't select anything to delete."
+msgstr "Nevybral jsi nic ke smazání."
+
+#: ../../../../inc/config.php:861
+msgid "You didn't select anything to report."
+msgstr "Nevybral jsi nic k nahlášení."
+
+#: ../../../../inc/config.php:862
+msgid "You can't report that many posts at once."
+msgstr "Nemůžeš nahlásit tolik příspěvků najednou."
+
+#: ../../../../inc/config.php:863
+msgid "Wrong password…"
+msgstr "Špatné heslo…"
+
+#: ../../../../inc/config.php:864
+msgid "Invalid image."
+msgstr "Neplatný obrázek."
+
+#: ../../../../inc/config.php:865
+msgid "Unknown file extension."
+msgstr "Neznámá přípona souboru."
+
+#: ../../../../inc/config.php:866
+msgid "Maximum file size: %maxsz% bytes Your file's size: %filesz% bytes"
+msgstr ""
+"Maximální velikost souboru: %maxsz% bajtů Velikost tvého souboru: %filesz"
+"% bajtů"
+
+#: ../../../../inc/config.php:867
+msgid "The file was too big."
+msgstr "Soubor je příliš velký."
+
+#: ../../../../inc/config.php:868
+msgid "Invalid archive!"
+msgstr "Neplatný archiv!"
+
+#: ../../../../inc/config.php:869
+#, php-format
+msgid "That file already exists!"
+msgstr "Tenhle soubor už tu je!"
+
+#: ../../../../inc/config.php:870
+#, php-format
+msgid "That file already exists in this thread!"
+msgstr "Tenhle soubor tu už v tomhle vláknu je!"
+
+#: ../../../../inc/config.php:871
+#, php-format
+msgid "You'll have to wait another %s before deleting that."
+msgstr "Než to budeš moct smazat, budeš muset počkat ještě %s."
+
+#: ../../../../inc/config.php:872
+msgid "MIME type detection XSS exploit (IE) detected; post discarded."
+msgstr "Detekován MIME type detection XSS exploit (IE); příspěvek zahozen."
+
+#: ../../../../inc/config.php:873
+msgid "Couldn't make sense of the URL of the video you tried to embed."
+msgstr "Nechápu URL videa, co jsi zkusil vložit."
+
+#: ../../../../inc/config.php:874
+msgid "You seem to have mistyped the verification."
+msgstr "Asi jsi se upsal u ověření."
+
+#. Moderator errors
+#: ../../../../inc/config.php:877
+#, php-format
+msgid ""
+"You are only allowed to unban %s users at a time. You tried to unban %u "
+"users."
+msgstr ""
+"Najednou můžeš odbanovat jen %s uživatel. Zkusil jsi jich odbanovat %u."
+
+#: ../../../../inc/config.php:878
+msgid "Invalid username and/or password."
+msgstr "Neplatné uživatelské jméno a/nebo heslo."
+
+#: ../../../../inc/config.php:879
+msgid "You are not a mod…"
+msgstr "Nejsi moderátor…"
+
+#: ../../../../inc/config.php:880
+msgid ""
+"Invalid username and/or password. Your user may have been deleted or changed."
+msgstr ""
+"Neplatné uživatelské jméno a/nebo heslo. Tvůj uživatel mohl být smazán nebo "
+"změněn."
+
+#: ../../../../inc/config.php:881
+msgid "Invalid/malformed cookies."
+msgstr "Neplatné cookies."
+
+#: ../../../../inc/config.php:882
+msgid "Your browser didn't submit an input when it should have."
+msgstr "Tvůj prohlížeč něco neposlal, i když by měl."
+
+#: ../../../../inc/config.php:883
+#, php-format
+msgid "The %s field is required."
+msgstr "Pole %s je povinné."
+
+#: ../../../../inc/config.php:884
+#, php-format
+msgid "The %s field was invalid."
+msgstr "Pole %s je neplatné."
+
+#: ../../../../inc/config.php:885
+#, php-format
+msgid "There is already a %s board."
+msgstr "Board %s už tu je."
+
+#: ../../../../inc/config.php:886
+msgid "You don't have permission to do that."
+msgstr "Na to nemáš oprávnění."
+
+#: ../../../../inc/config.php:887
+msgid "That post doesn't exist…"
+msgstr "Ten příspěvek neexistuje…"
+
+#: ../../../../inc/config.php:888
+msgid "Page not found."
+msgstr "Stránka nenalezena."
+
+#: ../../../../inc/config.php:889
+#, php-format
+msgid "That mod already exists!"
+msgstr "Tento moderátor už existuje!"
+
+#: ../../../../inc/config.php:890
+msgid "That theme doesn't exist!"
+msgstr "Toto téma neexistuje!"
+
+#: ../../../../inc/config.php:891
+msgid "Invalid security token! Please go back and try again."
+msgstr "Neplatný bezpečností token! Vrať se, prosím, a zkus to znova."
+
+#. Default public ban message. In public ban messages, %length% is replaced with "for x days" or
+#. "permanently" (with %LENGTH% being the uppercase equivalent).
+#: ../../../../inc/config.php:1056
+msgid "USER WAS BANNED FOR THIS POST"
+msgstr "UŽIVATEL ZA PŘÍSPĚVEK DOSTAL BAN"
+
+#: ../../../../inc/mod/pages.php:66
+msgid "Confirm action"
+msgstr "Potvrdit akci"
+
+#: ../../../../inc/mod/pages.php:110
+msgid "Could not find current version! (Check .installed)"
+msgstr "Nemůžu najít současnou verzi! (Prověř .installed)"
+
+#: ../../../../inc/mod/pages.php:162
+msgid "Dashboard"
+msgstr "Panel"
+
+#: ../../../../inc/mod/pages.php:267
+msgid "There are no boards to search!"
+msgstr "Nejsou tu žádné boardy k prohledávání!"
+
+#. $results now contains the search results
+#: ../../../../inc/mod/pages.php:335
+msgid "Search results"
+msgstr "Výsledky hledání"
+
+#: ../../../../inc/mod/pages.php:431
+msgid "Edit board"
+msgstr "Upravit board"
+
+#: ../../../../inc/mod/pages.php:481
+msgid "Couldn't open board after creation."
+msgstr "Nemůžu po založení otevřít board."
+
+#: ../../../../inc/mod/pages.php:501
+msgid "New board"
+msgstr "Nový board"
+
+#. line 37
+#: ../../../../inc/mod/pages.php:548
+#: ../../../../templates/cache/3a/df/ab38a77244cb9c729b4c6f99759a.php:118
+msgid "Noticeboard"
+msgstr "Nástěnka"
+
+#: ../../../../inc/mod/pages.php:609
+#: ../../../../templates/cache/3a/df/ab38a77244cb9c729b4c6f99759a.php:191
+msgid "News"
+msgstr "Novinky"
+
+#: ../../../../inc/mod/pages.php:649 ../../../../inc/mod/pages.php:676
+#: ../../../../templates/cache/55/dd/8ffe738533bd12359200e5745905.php:72
+#: ../../../../templates/cache/3a/df/ab38a77244cb9c729b4c6f99759a.php:288
+msgid "Moderation log"
+msgstr "Log moderací"
+
+#. line 102
+#. line 20
+#: ../../../../inc/mod/pages.php:833
+#: ../../../../templates/cache/24/a0/f1ddafed7a8f9625e747a5ca33f5.php:264
+#: ../../../../templates/cache/18/9c/c365d711719f494c684aab98a4ae.php:68
+msgid "IP"
+msgstr "IP"
+
+#. line 169
+#: ../../../../inc/mod/pages.php:843 ../../../../inc/mod/pages.php:1359
+#: ../../../../templates/cache/24/a0/f1ddafed7a8f9625e747a5ca33f5.php:429
+msgid "New ban"
+msgstr "Nový ban"
+
+#: ../../../../inc/mod/pages.php:926
+#: ../../../../templates/cache/3a/df/ab38a77244cb9c729b4c6f99759a.php:253
+msgid "Ban list"
+msgstr "Banlist"
+
+#: ../../../../inc/mod/pages.php:1097
+msgid "Move reply"
+msgstr "Přesunout odpověď"
+
+#: ../../../../inc/mod/pages.php:1123
+msgid "Target and source board are the same."
+msgstr "Cílový a zdrojový board se shodují."
+
+#: ../../../../inc/mod/pages.php:1288
+msgid "Impossible to move thread; there is only one board."
+msgstr "Vlákno nelze přesunout; je tu jen jeden board."
+
+#. line 39
+#: ../../../../inc/mod/pages.php:1292
+#: ../../../../templates/cache/dd/1a/7d548894242b9d7bff167de40716.php:111
+msgid "Move thread"
+msgstr "Přesunout vlákno"
+
+#: ../../../../inc/mod/pages.php:1679 ../../../../inc/mod/pages.php:1732
+msgid "Edit user"
+msgstr "Upravit uživatele"
+
+#: ../../../../inc/mod/pages.php:1745
+#: ../../../../templates/cache/3a/df/ab38a77244cb9c729b4c6f99759a.php:262
+msgid "Manage users"
+msgstr "Správa uživatel"
+
+#. deleted?
+#: ../../../../inc/mod/pages.php:1807 ../../../../inc/mod/pages.php:1880
+msgid "New PM for"
+msgstr "Nová SZ pro"
+
+#: ../../../../inc/mod/pages.php:1811
+msgid "Private message"
+msgstr "Soukromá zpráva"
+
+#. line 68
+#: ../../../../inc/mod/pages.php:1832
+#: ../../../../templates/cache/3a/df/ab38a77244cb9c729b4c6f99759a.php:197
+msgid "PM inbox"
+msgstr "Schránka SZ"
+
+#: ../../../../inc/mod/pages.php:1944 ../../../../inc/mod/pages.php:1948
+#: ../../../../templates/cache/3a/df/ab38a77244cb9c729b4c6f99759a.php:297
+msgid "Rebuild"
+msgstr "Přebudovat"
+
+#: ../../../../inc/mod/pages.php:2034
+#: ../../../../templates/cache/3a/df/ab38a77244cb9c729b4c6f99759a.php:235
+msgid "Report queue"
+msgstr "Fronta nahlášených příspěvků"
+
+#: ../../../../inc/mod/pages.php:2102 ../../../../inc/mod/pages.php:2201
+msgid "Config editor"
+msgstr "Editor konfigurace"
+
+#: ../../../../inc/mod/pages.php:2217
+msgid "Themes directory doesn't exist!"
+msgstr "Adresář s tématy neexistuje!"
+
+#: ../../../../inc/mod/pages.php:2219
+msgid "Cannot open themes directory; check permissions."
+msgstr "Nemůžu otevřít adresář s tématy; prověř oprávnění."
+
+#: ../../../../inc/mod/pages.php:2233
+#: ../../../../templates/cache/3a/df/ab38a77244cb9c729b4c6f99759a.php:279
+msgid "Manage themes"
+msgstr "Správa témat"
+
+#: ../../../../inc/mod/pages.php:2295
+#, php-format
+msgid "Installed theme: %s"
+msgstr "Nainstalované téma: %s"
+
+#: ../../../../inc/mod/pages.php:2306
+#, php-format
+msgid "Configuring theme: %s"
+msgstr "Konfiguruju téma: %s"
+
+#: ../../../../inc/mod/pages.php:2334
+#, php-format
+msgid "Rebuilt theme: %s"
+msgstr "Téma přebudováno: %s"
+
+#: ../../../../inc/mod/pages.php:2373
+msgid "Debug: Anti-spam"
+msgstr "Debug: Antispam"
+
+#: ../../../../inc/mod/pages.php:2397
+msgid "Debug: Recent posts"
+msgstr "Debug: Poslední příspěvky"
+
+#: ../../../../inc/mod/pages.php:2421
+msgid "Debug: SQL"
+msgstr "Debug: SQL"
+
+#. Print error
+#: ../../../../inc/database.php:72
+msgid "Database error: "
+msgstr "Chyba databáze: "
+
+#: ../../../../banned.php:4
+msgid "Banned?"
+msgstr "Mám ban?"
+
+#: ../../../../banned.php:5
+msgid "You are not banned."
+msgstr "Nemáš ban."
+
+#. line 2
+#. line 5
+#: ../../../../templates/cache/55/dd/8ffe738533bd12359200e5745905.php:22
+#: ../../../../templates/cache/c3/de/6ff26042c5b94cc80055e6f209d2.php:28
+msgid "Phrase:"
+msgstr "Fráze:"
+
+#: ../../../../templates/cache/55/dd/8ffe738533bd12359200e5745905.php:35
+msgid "Posts"
+msgstr "Příspěvky"
+
+#: ../../../../templates/cache/55/dd/8ffe738533bd12359200e5745905.php:46
+msgid "IP address notes"
+msgstr "Poznámky k IP adrese"
+
+#: ../../../../templates/cache/55/dd/8ffe738533bd12359200e5745905.php:59
+msgid "Bans"
+msgstr "Bany"
+
+#. line 16
+#. line 2
+#. line 13
+#. line 112
+#: ../../../../templates/cache/55/dd/8ffe738533bd12359200e5745905.php:80
+#: ../../../../templates/cache/c3/de/6ff26042c5b94cc80055e6f209d2.php:22
+#: ../../../../templates/cache/c3/de/6ff26042c5b94cc80055e6f209d2.php:63
+#: ../../../../templates/cache/3a/df/ab38a77244cb9c729b4c6f99759a.php:322
+#: ../../../../search.php:168
+msgid "Search"
+msgstr "Hledat"
+
+#. line 18
+#: ../../../../templates/cache/55/dd/8ffe738533bd12359200e5745905.php:85
+msgid ""
+"(Search is case-insensitive and based on keywords. To match exact phrases, "
+"use \"quotes\". Use an asterisk (*) for wildcard.)"
+msgstr ""
+"(Vyhledávání je založeno na klíčových slovech a nezohledňuje velikost "
+"písmen. Pro vyhledávání přesných frází použij \"uvozovky\". Hvězdička (*) "
+"funguje jako zástupný znak.)"
+
+#. line 8
+#: ../../../../templates/cache/c3/de/6ff26042c5b94cc80055e6f209d2.php:37
+msgid "Select board"
+msgstr "Vybrat board"
+
+#. line 17
+#: ../../../../templates/cache/c3/de/6ff26042c5b94cc80055e6f209d2.php:70
+msgid ""
+"Search is case-insensitive and based on keywords. To match exact phrases, "
+"use \"quotes\". Use an asterisk (*) for wildcard.
You may apply the following filters to your searches: "
+"id, thread, subject, and "
+"name. To apply a filter, simply add to your query, for "
+"example, name:Anonymous or subject:\"Some Thread\". "
+"Wildcards cannot be used in filters."
+msgstr ""
+"Vyhledávání je založeno na klíčových slovech a nezohledňuje velikost písmen. "
+"Pro vyhledávání přesných frází použij \"uvozovky\". Hvězdička (*) funguje "
+"jako zástupný znak.
Ve vyhledávání "
+"můžeš použít následující filtry: id, thread"
+"strong>, subject a name. Filtr se aplikuje "
+"přidáním např. name:Anonymous nebo subject:\"Nějaké vlákno\""
+"em> na konec dotazu. Ve filtrech nelze použít zástupné znaky."
+
+#. line 2
+#: ../../../../templates/cache/3a/df/ab38a77244cb9c729b4c6f99759a.php:22
+msgid "Boards"
+msgstr "Boardy"
+
+#: ../../../../templates/cache/3a/df/ab38a77244cb9c729b4c6f99759a.php:76
+msgid "edit"
+msgstr "upravit"
+
+#: ../../../../templates/cache/3a/df/ab38a77244cb9c729b4c6f99759a.php:94
+msgid "Create new board"
+msgstr "Vytvořit nový board"
+
+#. line 32
+#: ../../../../templates/cache/3a/df/ab38a77244cb9c729b4c6f99759a.php:105
+msgid "Messages"
+msgstr "Zprávy"
+
+#: ../../../../templates/cache/3a/df/ab38a77244cb9c729b4c6f99759a.php:143
+#: ../../../../templates/cache/26/6f/05ca0da8ac09e2c2216cba2b6f95.php:107
+#: ../../../../templates/cache/f3/ad/68dee281a64ebad9a5c774b53279.php:85
+msgid "no subject"
+msgstr "bez předmětu"
+
+#: ../../../../templates/cache/3a/df/ab38a77244cb9c729b4c6f99759a.php:185
+msgid "View all noticeboard entries"
+msgstr "Zobrazit všechny příspěvky na nástěnce"
+
+#. line 76
+#: ../../../../templates/cache/3a/df/ab38a77244cb9c729b4c6f99759a.php:219
+msgid "Administration"
+msgstr "Administrace"
+
+#: ../../../../templates/cache/3a/df/ab38a77244cb9c729b4c6f99759a.php:270
+msgid "Change password"
+msgstr "Změnit heslo"
+
+#: ../../../../templates/cache/3a/df/ab38a77244cb9c729b4c6f99759a.php:306
+msgid "Configuration"
+msgstr "Konfigurace"
+
+#. line 124
+#: ../../../../templates/cache/3a/df/ab38a77244cb9c729b4c6f99759a.php:345
+msgid "Other"
+msgstr "Ostatní"
+
+#. line 136
+#: ../../../../templates/cache/3a/df/ab38a77244cb9c729b4c6f99759a.php:379
+msgid "Debug"
+msgstr "Debug"
+
+#. line 138
+#: ../../../../templates/cache/3a/df/ab38a77244cb9c729b4c6f99759a.php:384
+msgid "Anti-spam"
+msgstr "Antispam"
+
+#. line 139
+#: ../../../../templates/cache/3a/df/ab38a77244cb9c729b4c6f99759a.php:388
+msgid "Recent posts"
+msgstr "Poslední příspěvky"
+
+#: ../../../../templates/cache/3a/df/ab38a77244cb9c729b4c6f99759a.php:395
+msgid "SQL"
+msgstr "SQL"
+
+#. line 161
+#: ../../../../templates/cache/3a/df/ab38a77244cb9c729b4c6f99759a.php:434
+msgid "User account"
+msgstr "Uživatelský účet"
+
+#. line 164
+#: ../../../../templates/cache/3a/df/ab38a77244cb9c729b4c6f99759a.php:440
+msgid "Logout"
+msgstr "Odhlásit"
+
+#. line 3
+#: ../../../../templates/cache/26/6f/05ca0da8ac09e2c2216cba2b6f95.php:24
+msgid "New post"
+msgstr "Nový příspěvek"
+
+#. line 7
+#. line 14
+#: ../../../../templates/cache/26/6f/05ca0da8ac09e2c2216cba2b6f95.php:31
+#: ../../../../templates/cache/39/42/cbc36382096edfa72a8bc26e4514.php:30
+#: ../../../../templates/cache/0c/37/9331df01df7c2986d77a02d3beb0.php:66
+msgid "Name"
+msgstr "Jméno"
+
+#. line 11
+#. line 23
+#. line 46
+#: ../../../../templates/cache/26/6f/05ca0da8ac09e2c2216cba2b6f95.php:41
+#: ../../../../templates/cache/39/42/cbc36382096edfa72a8bc26e4514.php:58
+#: ../../../../templates/cache/0c/37/9331df01df7c2986d77a02d3beb0.php:147
+msgid "Subject"
+msgstr "Předmět"
+
+#. line 15
+#: ../../../../templates/cache/26/6f/05ca0da8ac09e2c2216cba2b6f95.php:48
+msgid "Body"
+msgstr "Tělo"
+
+#. line 20
+#: ../../../../templates/cache/26/6f/05ca0da8ac09e2c2216cba2b6f95.php:56
+msgid "Post to noticeboard"
+msgstr "Připíchnout na nástěnku"
+
+#: ../../../../templates/cache/26/6f/05ca0da8ac09e2c2216cba2b6f95.php:81
+msgid "delete"
+msgstr "smazat"
+
+#. line 43
+#: ../../../../templates/cache/26/6f/05ca0da8ac09e2c2216cba2b6f95.php:116
+#: ../../../../templates/cache/f3/ad/68dee281a64ebad9a5c774b53279.php:91
+msgid "by"
+msgstr "od"
+
+#: ../../../../templates/cache/26/6f/05ca0da8ac09e2c2216cba2b6f95.php:129
+#: ../../../../templates/cache/24/a0/f1ddafed7a8f9625e747a5ca33f5.php:120
+#: ../../../../templates/cache/24/a0/f1ddafed7a8f9625e747a5ca33f5.php:394
+#: ../../../../templates/cache/24/a0/f1ddafed7a8f9625e747a5ca33f5.php:493
+#: ../../../../templates/cache/ab/22/de7b6303f63ea04fb419413cf04c.php:244
+msgid "deleted?"
+msgstr "smazáno?"
+
+#. line 49
+#: ../../../../templates/cache/26/6f/05ca0da8ac09e2c2216cba2b6f95.php:137
+#: ../../../../templates/cache/f3/ad/68dee281a64ebad9a5c774b53279.php:95
+msgid "at"
+msgstr "v"
+
+#. line 24
+#. line 62
+#. line 150
+#. line 180
+#. line 14
+#: ../../../../templates/cache/24/a0/f1ddafed7a8f9625e747a5ca33f5.php:78
+#: ../../../../templates/cache/24/a0/f1ddafed7a8f9625e747a5ca33f5.php:179
+#: ../../../../templates/cache/24/a0/f1ddafed7a8f9625e747a5ca33f5.php:380
+#: ../../../../templates/cache/24/a0/f1ddafed7a8f9625e747a5ca33f5.php:453
+#: ../../../../templates/cache/ab/22/de7b6303f63ea04fb419413cf04c.php:60
+msgid "Staff"
+msgstr "Personál"
+
+#. line 25
+#. line 67
+#: ../../../../templates/cache/24/a0/f1ddafed7a8f9625e747a5ca33f5.php:82
+#: ../../../../templates/cache/24/a0/f1ddafed7a8f9625e747a5ca33f5.php:190
+msgid "Note"
+msgstr "Poznámka"
+
+#. line 26
+#: ../../../../templates/cache/24/a0/f1ddafed7a8f9625e747a5ca33f5.php:86
+msgid "Date"
+msgstr "Datum"
+
+#: ../../../../templates/cache/24/a0/f1ddafed7a8f9625e747a5ca33f5.php:93
+msgid "Actions"
+msgstr "Akce"
+
+#. line 49
+#: ../../../../templates/cache/24/a0/f1ddafed7a8f9625e747a5ca33f5.php:151
+msgid "remove"
+msgstr "smazat"
+
+#. line 75
+#: ../../../../templates/cache/24/a0/f1ddafed7a8f9625e747a5ca33f5.php:201
+msgid "New note"
+msgstr "Nová poznámka"
+
+#. line 92
+#: ../../../../templates/cache/24/a0/f1ddafed7a8f9625e747a5ca33f5.php:240
+msgid "Status"
+msgstr "Stav"
+
+#: ../../../../templates/cache/24/a0/f1ddafed7a8f9625e747a5ca33f5.php:248
+msgid "Expired"
+msgstr "Vypršel"
+
+#: ../../../../templates/cache/24/a0/f1ddafed7a8f9625e747a5ca33f5.php:254
+msgid "Active"
+msgstr "Aktivní"
+
+#. line 106
+#. line 8
+#. line 5
+#. line 32
+#: ../../../../templates/cache/24/a0/f1ddafed7a8f9625e747a5ca33f5.php:274
+#: ../../../../templates/cache/ab/22/de7b6303f63ea04fb419413cf04c.php:36
+#: ../../../../templates/cache/82/40/4c4a4b82f787181e6500ce83494d.php:39
+#: ../../../../templates/cache/9c/7b/891291bc84f8844c30cefdb949cf.php:34
+#: ../../../../templates/cache/18/9c/c365d711719f494c684aab98a4ae.php:96
+msgid "Reason"
+msgstr "Důvod"
+
+#: ../../../../templates/cache/24/a0/f1ddafed7a8f9625e747a5ca33f5.php:288
+msgid "no reason"
+msgstr "bez důvodu"
+
+#. line 116
+#. line 182
+#. line 9
+#. line 3
+#. line 65
+#: ../../../../templates/cache/24/a0/f1ddafed7a8f9625e747a5ca33f5.php:298
+#: ../../../../templates/cache/24/a0/f1ddafed7a8f9625e747a5ca33f5.php:461
+#: ../../../../templates/cache/ab/22/de7b6303f63ea04fb419413cf04c.php:40
+#: ../../../../templates/cache/9c/7b/891291bc84f8844c30cefdb949cf.php:23
+#: ../../../../templates/cache/18/9c/c365d711719f494c684aab98a4ae.php:157
+msgid "Board"
+msgstr "Board"
+
+#. line 71
+#: ../../../../templates/cache/24/a0/f1ddafed7a8f9625e747a5ca33f5.php:312
+#: ../../../../templates/cache/ab/22/de7b6303f63ea04fb419413cf04c.php:126
+#: ../../../../templates/cache/e5/22/4711dd22e4c786b4de405db7a449.php:74
+#: ../../../../templates/cache/18/9c/c365d711719f494c684aab98a4ae.php:166
+msgid "all boards"
+msgstr "všechny boardy"
+
+#. line 126
+#. line 10
+#: ../../../../templates/cache/24/a0/f1ddafed7a8f9625e747a5ca33f5.php:322
+#: ../../../../templates/cache/ab/22/de7b6303f63ea04fb419413cf04c.php:44
+msgid "Set"
+msgstr "Nastavit"
+
+#. line 130
+#. line 12
+#: ../../../../templates/cache/24/a0/f1ddafed7a8f9625e747a5ca33f5.php:332
+#: ../../../../templates/cache/ab/22/de7b6303f63ea04fb419413cf04c.php:52
+msgid "Expires"
+msgstr "Vyprší"
+
+#: ../../../../templates/cache/24/a0/f1ddafed7a8f9625e747a5ca33f5.php:346
+#: ../../../../templates/cache/ab/22/de7b6303f63ea04fb419413cf04c.php:166
+msgid "never"
+msgstr "nikdy"
+
+#. line 140
+#. line 13
+#: ../../../../templates/cache/24/a0/f1ddafed7a8f9625e747a5ca33f5.php:356
+#: ../../../../templates/cache/ab/22/de7b6303f63ea04fb419413cf04c.php:56
+msgid "Seen"
+msgstr "Naposledy viděn"
+
+#: ../../../../templates/cache/24/a0/f1ddafed7a8f9625e747a5ca33f5.php:364
+#: ../../../../templates/cache/ab/22/de7b6303f63ea04fb419413cf04c.php:194
+msgid "Yes"
+msgstr "Ano"
+
+#: ../../../../templates/cache/24/a0/f1ddafed7a8f9625e747a5ca33f5.php:370
+#: ../../../../templates/cache/ab/22/de7b6303f63ea04fb419413cf04c.php:200
+msgid "No"
+msgstr "Ne"
+
+#. line 161
+#: ../../../../templates/cache/24/a0/f1ddafed7a8f9625e747a5ca33f5.php:408
+msgid "Remove ban"
+msgstr "Sundat ban"
+
+#. line 181
+#: ../../../../templates/cache/24/a0/f1ddafed7a8f9625e747a5ca33f5.php:457
+msgid "Time"
+msgstr "Čas"
+
+#. line 183
+#: ../../../../templates/cache/24/a0/f1ddafed7a8f9625e747a5ca33f5.php:465
+msgid "Action"
+msgstr "Akce"
+
+#: ../../../../templates/cache/72/55/0d64283f30702de83ecfcb71f86a.php:28
+msgid "There are no reports."
+msgstr "Nic nebylo nahlášeno."
+
+#: ../../../../templates/cache/ab/22/de7b6303f63ea04fb419413cf04c.php:22
+msgid "There are no active bans."
+msgstr "Nejsou žádné aktivní bany."
+
+#. line 7
+#: ../../../../templates/cache/ab/22/de7b6303f63ea04fb419413cf04c.php:32
+msgid "IP address/mask"
+msgstr "IP adresa/maska"
+
+#. line 11
+#: ../../../../templates/cache/ab/22/de7b6303f63ea04fb419413cf04c.php:48
+msgid "Duration"
+msgstr "Doba trvání"
+
+#. line 91
+#: ../../../../templates/cache/ab/22/de7b6303f63ea04fb419413cf04c.php:262
+msgid "Unban selected"
+msgstr "Vybrán unban"
+
+#: ../../../../templates/cache/e5/22/4711dd22e4c786b4de405db7a449.php:36
+msgid "You were banned! ;_;"
+msgstr "Měl jsi ban! ;_;"
+
+#: ../../../../templates/cache/e5/22/4711dd22e4c786b4de405db7a449.php:42
+msgid "You are banned! ;_;"
+msgstr "Máš ban! ;_;"
+
+#: ../../../../templates/cache/e5/22/4711dd22e4c786b4de405db7a449.php:53
+msgid "You were banned from"
+msgstr "Dostal jsi ban na"
+
+#: ../../../../templates/cache/e5/22/4711dd22e4c786b4de405db7a449.php:59
+msgid "You have been banned from"
+msgstr "Máš ban na"
+
+#: ../../../../templates/cache/e5/22/4711dd22e4c786b4de405db7a449.php:83
+msgid "for the following reason:"
+msgstr "s tímto odůvodněním:"
+
+#: ../../../../templates/cache/e5/22/4711dd22e4c786b4de405db7a449.php:89
+msgid "for an unspecified reason."
+msgstr "kvůli blíže neurčenému důvodu."
+
+#. line 32
+#: ../../../../templates/cache/e5/22/4711dd22e4c786b4de405db7a449.php:111
+msgid "Your ban was filed on"
+msgstr "Tvůj ban byl zadán"
+
+#: ../../../../templates/cache/e5/22/4711dd22e4c786b4de405db7a449.php:117
+#: ../../../../templates/cache/d8/f2/7780eb1adcdbda7e332659e3fb4f.php:537
+msgid "and"
+msgstr "a"
+
+#. line 51
+#: ../../../../templates/cache/e5/22/4711dd22e4c786b4de405db7a449.php:124
+#: ../../../../templates/cache/e5/22/4711dd22e4c786b4de405db7a449.php:157
+msgid "has since expired. Refresh the page to continue."
+msgstr "od té doby už vypršel. Pro pokračování obnov stránku."
+
+#: ../../../../templates/cache/e5/22/4711dd22e4c786b4de405db7a449.php:130
+msgid "expires"
+msgstr "vyprší za"
+
+#: ../../../../templates/cache/e5/22/4711dd22e4c786b4de405db7a449.php:134
+msgid "from now, which is on"
+msgstr "což je v"
+
+#: ../../../../templates/cache/e5/22/4711dd22e4c786b4de405db7a449.php:184
+msgid "will not expire"
+msgstr "nevyprší"
+
+#. line 78
+#: ../../../../templates/cache/e5/22/4711dd22e4c786b4de405db7a449.php:193
+msgid "Your IP address is"
+msgstr "Tvoje IP adresa je"
+
+#. line 6
+#: ../../../../templates/cache/3c/80/0ebbee302f4fad8d0d7f13e62db5.php:41
+msgid "Go back"
+msgstr "Návrat"
+
+#. line 13
+#: ../../../../templates/cache/3c/80/0ebbee302f4fad8d0d7f13e62db5.php:56
+msgid "Error information"
+msgstr "Chybová informace"
+
+#. line 2
+#: ../../../../templates/cache/82/40/4c4a4b82f787181e6500ce83494d.php:22
+msgid "Delete Post"
+msgstr "Smazat příspěvek"
+
+#. line 3
+#. line 84
+#: ../../../../templates/cache/82/40/4c4a4b82f787181e6500ce83494d.php:26
+#: ../../../../templates/cache/0c/37/9331df01df7c2986d77a02d3beb0.php:250
+msgid "File"
+msgstr "Soubor"
+
+#. line 14
+#. line 140
+#: ../../../../templates/cache/82/40/4c4a4b82f787181e6500ce83494d.php:28
+#: ../../../../templates/cache/04/54/656aa217f895c90eae78024fa060.php:45
+#: ../../../../templates/cache/0c/37/9331df01df7c2986d77a02d3beb0.php:372
+msgid "Password"
+msgstr "Heslo"
+
+#. line 10
+#: ../../../../templates/cache/82/40/4c4a4b82f787181e6500ce83494d.php:44
+msgid "Report"
+msgstr "Nahlásit"
+
+#. line 6
+#: ../../../../templates/cache/04/54/656aa217f895c90eae78024fa060.php:31
+msgid "Username"
+msgstr "Uživatelské jméno"
+
+#. line 23
+#: ../../../../templates/cache/04/54/656aa217f895c90eae78024fa060.php:57
+msgid "Continue"
+msgstr "Pokračovat"
+
+#: ../../../../templates/cache/f5/e3/343716327c6183713f70a3fb57f1.php:149
+#: ../../../../templates/cache/aa/f6/f10fd83961bcd8c947af6ddf919d.php:134
+#: ../../../../templates/cache/62/8c/21348d46377c3e1b3f8c476ba376.php:65
+msgid "Return to dashboard"
+msgstr "Zpět na panel"
+
+#. line 7
+#: ../../../../templates/cache/9c/7b/891291bc84f8844c30cefdb949cf.php:41
+msgid "Report date"
+msgstr "Datum nahlášení"
+
+#: ../../../../templates/cache/9c/7b/891291bc84f8844c30cefdb949cf.php:51
+msgid "Reported by"
+msgstr "Nahlásil"
+
+#: ../../../../templates/cache/9c/7b/891291bc84f8844c30cefdb949cf.php:70
+msgid "Discard abuse report"
+msgstr "Zahodit náhlášení"
+
+#: ../../../../templates/cache/9c/7b/891291bc84f8844c30cefdb949cf.php:88
+msgid "Discard all abuse reports by this IP address"
+msgstr "Zahodit všechna nahlášení od této IP adresy"
+
+#. line 6
+#: ../../../../templates/cache/dd/1a/7d548894242b9d7bff167de40716.php:33
+msgid "Thread ID"
+msgstr "ID vlákna"
+
+#. line 14
+#: ../../../../templates/cache/dd/1a/7d548894242b9d7bff167de40716.php:48
+msgid "Leave shadow thread"
+msgstr "Ponechat stínové vlákno"
+
+#. line 18
+#: ../../../../templates/cache/dd/1a/7d548894242b9d7bff167de40716.php:55
+msgid "locks thread; replies to it with a link."
+msgstr "zamkne vlákno; odpovědi přes odkaz."
+
+#. line 22
+#: ../../../../templates/cache/dd/1a/7d548894242b9d7bff167de40716.php:62
+msgid "Target board"
+msgstr "Cílový board"
+
+#. line 39
+#: ../../../../templates/cache/aa/f6/f10fd83961bcd8c947af6ddf919d.php:143
+msgid "Posting mode: Reply"
+msgstr "Režim příspěvku: odpověď"
+
+#: ../../../../templates/cache/aa/f6/f10fd83961bcd8c947af6ddf919d.php:147
+#: ../../../../templates/cache/aa/f6/f10fd83961bcd8c947af6ddf919d.php:200
+msgid "Return"
+msgstr "Návrat"
+
+#: ../../../../templates/cache/18/9c/c365d711719f494c684aab98a4ae.php:70
+msgid "(or subnet)"
+msgstr "(nebo subnet)"
+
+#: ../../../../templates/cache/18/9c/c365d711719f494c684aab98a4ae.php:85
+msgid "hidden"
+msgstr "skryté"
+
+#. line 41
+#: ../../../../templates/cache/18/9c/c365d711719f494c684aab98a4ae.php:114
+msgid "Message"
+msgstr "Zpráva"
+
+#. line 46
+#: ../../../../templates/cache/18/9c/c365d711719f494c684aab98a4ae.php:130
+msgid "public; attached to post"
+msgstr "veřejné; připojeno k příspěvku"
+
+#. line 58
+#: ../../../../templates/cache/18/9c/c365d711719f494c684aab98a4ae.php:147
+msgid "Length"
+msgstr "Délka"
+
+#. line 88
+#: ../../../../templates/cache/18/9c/c365d711719f494c684aab98a4ae.php:209
+msgid "New Ban"
+msgstr "Nový ban"
+
+#: ../../../../templates/cache/f3/ad/68dee281a64ebad9a5c774b53279.php:61
+msgid "(No news to show.)"
+msgstr "(Žádné novinky k zobrazení.)"
+
+#. line 28
+#: ../../../../templates/cache/4b/3e/915cc5ac5fe144c331207c656528.php:99
+msgid "1 reply"
+msgid_plural "%count% replies"
+msgstr[0] "%count% odpověď"
+msgstr[1] "%count% odpovědi"
+msgstr[2] "%count% odpovědí"
+
+#: ../../../../templates/cache/d8/f2/7780eb1adcdbda7e332659e3fb4f.php:102
+msgid "File:"
+msgstr "Soubor:"
+
+#: ../../../../templates/cache/d8/f2/7780eb1adcdbda7e332659e3fb4f.php:115
+#: ../../../../templates/cache/0c/37/9331df01df7c2986d77a02d3beb0.php:127
+#: ../../../../templates/cache/0c/37/9331df01df7c2986d77a02d3beb0.php:165
+#: ../../../../templates/cache/0c/37/9331df01df7c2986d77a02d3beb0.php:206
+msgid "Spoiler Image"
+msgstr "Zakrýt obrázek"
+
+#: ../../../../templates/cache/d8/f2/7780eb1adcdbda7e332659e3fb4f.php:503
+msgid "Reply"
+msgstr "Odpovědět"
+
+#: ../../../../templates/cache/d8/f2/7780eb1adcdbda7e332659e3fb4f.php:531
+msgid "1 post"
+msgid_plural "%count% posts"
+msgstr[0] "%count% příspěvek"
+msgstr[1] "%count% příspěvky"
+msgstr[2] "%count% příspěvků"
+
+#: ../../../../templates/cache/d8/f2/7780eb1adcdbda7e332659e3fb4f.php:549
+msgid "1 image reply"
+msgid_plural "%count% image replies"
+msgstr[0] "%count% obrázková odpověď"
+msgstr[1] "%count% obrázkové odpovědi"
+msgstr[2] "%count% obrázkových odpovědí"
+
+#: ../../../../templates/cache/d8/f2/7780eb1adcdbda7e332659e3fb4f.php:554
+msgid "omitted. Click reply to view."
+msgstr "vynecháno. Klikni na Odpovědět pro zobrazení."
+
+#. line 15
+#. line 24
+#: ../../../../templates/cache/39/42/cbc36382096edfa72a8bc26e4514.php:44
+#: ../../../../templates/cache/0c/37/9331df01df7c2986d77a02d3beb0.php:88
+msgid "Email"
+msgstr "Email"
+
+#. line 27
+#: ../../../../templates/cache/39/42/cbc36382096edfa72a8bc26e4514.php:68
+msgid "Update"
+msgstr "Aktualizovat"
+
+#. line 32
+#. line 57
+#: ../../../../templates/cache/39/42/cbc36382096edfa72a8bc26e4514.php:76
+#: ../../../../templates/cache/0c/37/9331df01df7c2986d77a02d3beb0.php:178
+msgid "Comment"
+msgstr "Komentář"
+
+#: ../../../../templates/cache/39/42/cbc36382096edfa72a8bc26e4514.php:97
+msgid "Currently editing raw HTML."
+msgstr "Právě upravuješ čisté HTML."
+
+#: ../../../../templates/cache/39/42/cbc36382096edfa72a8bc26e4514.php:105
+msgid "Edit markup instead?"
+msgstr "Nechceš raději upravovat značkovací jazyk?"
+
+#: ../../../../templates/cache/39/42/cbc36382096edfa72a8bc26e4514.php:115
+msgid "Edit raw HTML instead?"
+msgstr "Nechceš raději upravovat čisté HTML?"
+
+#. line 73
+#: ../../../../templates/cache/0c/37/9331df01df7c2986d77a02d3beb0.php:226
+msgid "Verification"
+msgstr "Ověření"
+
+#. line 94
+#: ../../../../templates/cache/0c/37/9331df01df7c2986d77a02d3beb0.php:269
+msgid "Oekaki"
+msgstr "Oekaki"
+
+#. line 108
+#: ../../../../templates/cache/0c/37/9331df01df7c2986d77a02d3beb0.php:290
+msgid "Embed"
+msgstr "Vložit"
+
+#. line 120
+#: ../../../../templates/cache/0c/37/9331df01df7c2986d77a02d3beb0.php:314
+msgid "Flags"
+msgstr "Flagy"
+
+#. line 124
+#. line 125
+#: ../../../../templates/cache/0c/37/9331df01df7c2986d77a02d3beb0.php:324
+#: ../../../../templates/cache/0c/37/9331df01df7c2986d77a02d3beb0.php:328
+msgid "Sticky"
+msgstr "Přilepené"
+
+#. line 128
+#. line 129
+#: ../../../../templates/cache/0c/37/9331df01df7c2986d77a02d3beb0.php:338
+#: ../../../../templates/cache/0c/37/9331df01df7c2986d77a02d3beb0.php:342
+msgid "Lock"
+msgstr "Zamknout"
+
+#. line 132
+#. line 133
+#: ../../../../templates/cache/0c/37/9331df01df7c2986d77a02d3beb0.php:352
+#: ../../../../templates/cache/0c/37/9331df01df7c2986d77a02d3beb0.php:356
+msgid "Raw HTML"
+msgstr "Čisté HTML"
+
+#. line 145
+#: ../../../../templates/cache/0c/37/9331df01df7c2986d77a02d3beb0.php:382
+msgid "(For file deletion.)"
+msgstr "(Pro smazání souboru.)"
+
+#: ../../../../search.php:5
+msgid "Post search is disabled"
+msgstr "Vyhledávání příspěvků není povolené."
+
+#: ../../../../search.php:25 ../../../../search.php:31
+msgid "Wait a while before searching again, please."
+msgstr "Před dalším pokusem o vyhledávání chvíli počkej, prosím."
+
+#: ../../../../search.php:131
+msgid "Query too broad."
+msgstr "Dotaz je příliš široký."
+
+#: ../../../../search.php:152
+#, php-format
+msgid "%d result in"
+msgid_plural "%d results in"
+msgstr[0] "%d výsledek v"
+msgstr[1] "%d výsledky v"
+msgstr[2] "%d výsledků v"
+
+#: ../../../../search.php:163
+msgid "No results."
+msgstr "Žádné výsledky."
From 96122c3fc2a02f0eb957279b3887cd87b862f575 Mon Sep 17 00:00:00 2001
From: czaks
Date: Sun, 11 Aug 2013 17:22:39 -0400
Subject: [PATCH 07/19] fix notice for mod spoiler image
---
inc/config.php | 2 ++
1 file changed, 2 insertions(+)
diff --git a/inc/config.php b/inc/config.php
index 7c7b6241..2a9dbb78 100644
--- a/inc/config.php
+++ b/inc/config.php
@@ -1097,6 +1097,8 @@
$config['mod']['spoilerfile'] = JANITOR;
// Delete file (and keep post)
$config['mod']['deletefile'] = JANITOR;
+ // Spoiler image
+ $config['mod']['spoilerimage'] = JANITOR;
// Delete all posts by IP
$config['mod']['deletebyip'] = MOD;
// Delete all posts by IP across all boards
From 3a5f25f751173d354f4a4ff4b7371ca62691d11f Mon Sep 17 00:00:00 2001
From: Michael Foster
Date: Mon, 12 Aug 2013 13:00:06 +1000
Subject: [PATCH 08/19] what
---
inc/config.php | 2 --
1 file changed, 2 deletions(-)
diff --git a/inc/config.php b/inc/config.php
index 2a9dbb78..049b59f0 100644
--- a/inc/config.php
+++ b/inc/config.php
@@ -1093,8 +1093,6 @@
$config['mod']['bandelete'] = MOD;
// Remove bans
$config['mod']['unban'] = MOD;
- // Spoiler file (and keep post)
- $config['mod']['spoilerfile'] = JANITOR;
// Delete file (and keep post)
$config['mod']['deletefile'] = JANITOR;
// Spoiler image
From 0f5f44bc95ac48aa9466a2c77f1e9e9b059b15f2 Mon Sep 17 00:00:00 2001
From: czaks
Date: Sun, 11 Aug 2013 17:34:43 -0400
Subject: [PATCH 09/19] spoilerimage config variable: this got fixed doubly,
once wrong, merge both fixes
Conflicts:
inc/config.php
---
inc/config.php | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/inc/config.php b/inc/config.php
index 049b59f0..fd44e9a2 100644
--- a/inc/config.php
+++ b/inc/config.php
@@ -1093,10 +1093,10 @@
$config['mod']['bandelete'] = MOD;
// Remove bans
$config['mod']['unban'] = MOD;
+ // Spoiler file (and keep post)
+ $config['mod']['spoilerimage'] = JANITOR;
// Delete file (and keep post)
$config['mod']['deletefile'] = JANITOR;
- // Spoiler image
- $config['mod']['spoilerimage'] = JANITOR;
// Delete all posts by IP
$config['mod']['deletebyip'] = MOD;
// Delete all posts by IP across all boards
From adbb0c1fdfb41d0731de9079028ca79427de61e5 Mon Sep 17 00:00:00 2001
From: Michael Foster
Date: Mon, 12 Aug 2013 13:01:34 +1000
Subject: [PATCH 10/19] ...
---
inc/config.php | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/inc/config.php b/inc/config.php
index fd44e9a2..741db545 100644
--- a/inc/config.php
+++ b/inc/config.php
@@ -1093,7 +1093,7 @@
$config['mod']['bandelete'] = MOD;
// Remove bans
$config['mod']['unban'] = MOD;
- // Spoiler file (and keep post)
+ // Spoiler image
$config['mod']['spoilerimage'] = JANITOR;
// Delete file (and keep post)
$config['mod']['deletefile'] = JANITOR;
From 169c68e86221f15b85a34e09ff4c75d4feb6d983 Mon Sep 17 00:00:00 2001
From: Michael Foster
Date: Mon, 12 Aug 2013 21:08:40 +1000
Subject: [PATCH 11/19] use single quotes
---
inc/display.php | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/inc/display.php b/inc/display.php
index c9f39731..af0ee89f 100644
--- a/inc/display.php
+++ b/inc/display.php
@@ -346,7 +346,7 @@ class Post {
$built .= ' ' . secure_link_confirm($config['mod']['link_deletefile'], _('Delete file'), _('Are you sure you want to delete this file?'), $board['dir'] . 'deletefile/' . $this->id);
// Spoiler file (keep post)
- if (!empty($this->file) && $this->file != "deleted" && $this->file != null && $this->thumb != 'spoiler' && hasPermission($config['mod']['spoilerimage'], $board['uri'], $this->mod) && $config['spoiler_images'])
+ if (!empty($this->file) && $this->file != 'deleted' && $this->thumb != 'spoiler' && hasPermission($config['mod']['spoilerimage'], $board['uri'], $this->mod) && $config['spoiler_images'])
$built .= ' ' . secure_link_confirm($config['mod']['link_spoilerimage'], 'Spoiler File', 'Are you sure you want to spoiler this file?', $board['uri'] . '/spoiler/' . $this->id);
// Edit post
@@ -451,7 +451,7 @@ class Thread {
$built .= ' ' . secure_link_confirm($config['mod']['link_deletefile'], _('Delete file'), _('Are you sure you want to delete this file?'), $board['dir'] . 'deletefile/' . $this->id);
// Spoiler file (keep post)
- if (!empty($this->file) && $this->file != "deleted" && $this->file != null && $this->thumb != 'spoiler' && hasPermission($config['mod']['spoilerimage'], $board['uri'], $this->mod) && $config['spoiler_images'])
+ if (!empty($this->file) && $this->file != 'deleted' && $this->thumb != 'spoiler' && hasPermission($config['mod']['spoilerimage'], $board['uri'], $this->mod) && $config['spoiler_images'])
$built .= ' ' . secure_link_confirm($config['mod']['link_spoilerimage'], 'Spoiler File', 'Are you sure you want to spoiler this file?', $board['uri'] . '/spoiler/' . $this->id);
// Sticky
From e0a8ffcfb9246dc5fda840dc5386598730245802 Mon Sep 17 00:00:00 2001
From: Michael Foster
Date: Mon, 12 Aug 2013 21:14:32 +1000
Subject: [PATCH 12/19] ?/config: Link URLs in comments
---
inc/mod/config-editor.php | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/inc/mod/config-editor.php b/inc/mod/config-editor.php
index 27740378..3f15ebe5 100644
--- a/inc/mod/config-editor.php
+++ b/inc/mod/config-editor.php
@@ -115,8 +115,14 @@ function config_vars() {
$already_exists = true;
}
- if (!$already_exists && permission_to_edit_config_var($var['name']))
+ if (!$already_exists && permission_to_edit_config_var($var['name'])) {
+ foreach ($var['comment'] as &$comment) {
+ $comment = preg_replace_callback(
+ '/((?:https?:\/\/|ftp:\/\/|irc:\/\/)[^\s<>()"]+?(?:\([^\s<>()"]*?\)[^\s<>()"]*?)*)((?:\s|<|>|"|\.||\]|!|\?|,|,|")*(?:[\s<>()"]|$))/',
+ 'markup_url', $comment);
+ }
$conf[] = $var;
+ }
}
}
From a7a93ece3d96acb24c589662f49d28675c83c913 Mon Sep 17 00:00:00 2001
From: Michael Foster
Date: Mon, 12 Aug 2013 22:14:26 +1000
Subject: [PATCH 13/19] $config['error']['invalidzip'] isn't used anywhere
anymore
---
inc/config.php | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/inc/config.php b/inc/config.php
index 741db545..64fdba92 100644
--- a/inc/config.php
+++ b/inc/config.php
@@ -267,7 +267,8 @@
'recaptcha_response_field',
'spoiler',
'quick-reply',
- 'page'
+ 'page',
+ 'file_url',
);
// Enable reCaptcha to make spam even harder. Rarely necessary.
@@ -347,7 +348,10 @@
$config['markup_urls'] = true;
// Optional URL prefix for links (eg. "http://anonym.to/?").
$config['link_prefix'] = '';
-
+
+ // Allow "uploading" images via URL as well. Users can enter the URL of the image and then Tinyboard will
+ // download it. Not usually recommended.
+ $config['allow_upload_by_url'] = false;
// A wordfilter (sometimes referred to as just a "filter" or "censor") automatically scans users’ posts
// as they are submitted and changes or censors particular words or phrases.
@@ -837,7 +841,6 @@
$config['error']['unknownext'] = _('Unknown file extension.');
$config['error']['filesize'] = _('Maximum file size: %maxsz% bytes Your file\'s size: %filesz% bytes');
$config['error']['maxsize'] = _('The file was too big.');
- $config['error']['invalidzip'] = _('Invalid archive!');
$config['error']['fileexists'] = _('That file already exists!');
$config['error']['fileexistsinthread'] = _('That file already exists in this thread!');
$config['error']['delete_too_soon'] = _('You\'ll have to wait another %s before deleting that.');
From 0de0bc6ceb2c56256bf87724572055297dae76af Mon Sep 17 00:00:00 2001
From: Michael Foster
Date: Mon, 12 Aug 2013 22:51:46 +1000
Subject: [PATCH 14/19] Optional: Allow uploading by URL
---
inc/config.php | 4 ++--
post.php | 45 +++++++++++++++++++++++++++++++++++++++-
templates/main.js | 2 +-
templates/post_form.html | 7 +++++++
4 files changed, 54 insertions(+), 4 deletions(-)
diff --git a/inc/config.php b/inc/config.php
index 64fdba92..4858274d 100644
--- a/inc/config.php
+++ b/inc/config.php
@@ -1314,6 +1314,6 @@
// is the absolute maximum, because MySQL cannot handle table names greater than 64 characters.
$config['board_regex'] = '[0-9a-zA-Z$_\x{0080}-\x{FFFF}]{1,58}';
- // Complex regular expression to catch URLs.
- $config['url_regex'] = '/' . '(https?|ftp):\/\/' . '(([\w\-]+\.)+[a-zA-Z]{2,6}|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})' . '(:\d+)?' . '(\/([\w\-~.#\/?=&;:+%!*\[\]@$\'()+,|\^]+)?)?' . '/';
+ // Regex for URLs.
+ $config['url_regex'] = '@^(?i)\b((?:[a-z][\w-]+:(?:/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:\'".,<>?«»“”‘’]))$@';
diff --git a/post.php b/post.php
index 074aa0dc..cfec5430 100644
--- a/post.php
+++ b/post.php
@@ -268,6 +268,46 @@ if (isset($_POST['delete'])) {
$_POST['subject'] = '';
}
+ if ($config['allow_upload_by_url'] && isset($_POST['file_url']) && !empty($_POST['file_url'])) {
+ $post['file_url'] = $_POST['file_url'];
+ if (!preg_match($config['url_regex'], $post['file_url']))
+ error($config['error']['invalidimg']);
+
+
+ $post['extension'] = strtolower(mb_substr($post['file_url'], mb_strrpos($post['file_url'], '.') + 1));
+ if (!in_array($post['extension'], $config['allowed_ext']) && !in_array($post['extension'], $config['allowed_ext_files']))
+ error($config['error']['unknownext']);
+
+ $post['file_tmp'] = tempnam($config['tmp'], 'url');
+ register_shutdown_function('unlink', $post['file_tmp']);
+
+ $fp = fopen($post['file_tmp'], 'w');
+
+ $curl = curl_init();
+ curl_setopt($curl, CURLOPT_URL, $post['file_url']);
+ curl_setopt($curl, CURLOPT_FAILONERROR, true);
+ curl_setopt($curl, CURLOPT_FOLLOWLOCATION, false);
+ curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 5);
+ curl_setopt($curl, CURLOPT_TIMEOUT, 15);
+ curl_setopt($curl, CURLOPT_USERAGENT, 'Tinyboard');
+ curl_setopt($curl, CURLOPT_BINARYTRANSFER, true);
+ curl_setopt($curl, CURLOPT_FILE, $fp);
+
+ if (curl_exec($curl) === false)
+ error($config['error']['nomove']);
+
+ curl_close($curl);
+
+ fclose($fp);
+
+ $_FILES['file'] = array(
+ 'name' => basename($post['file_url']),
+ 'tmp_name' => $post['file_tmp'],
+ 'error' => 0,
+ 'size' => filesize($post['file_tmp'])
+ );
+ }
+
// Check for a file
if ($post['op'] && !isset($post['no_longer_require_an_image_for_op'])) {
if (!isset($_FILES['file']['tmp_name']) || $_FILES['file']['tmp_name'] == '' && $config['force_image_op'])
@@ -545,7 +585,10 @@ if (isset($_POST['delete'])) {
}
if (!isset($dont_copy_file) || !$dont_copy_file) {
- if (!@move_uploaded_file($upload, $post['file']))
+ if (isset($post['file_tmp'])) {
+ if (!@rename($upload, $post['file']))
+ error($config['error']['nomove']);
+ } elseif (!@move_uploaded_file($upload, $post['file']))
error($config['error']['nomove']);
}
}
diff --git a/templates/main.js b/templates/main.js
index 71dcd92a..78054a3b 100644
--- a/templates/main.js
+++ b/templates/main.js
@@ -175,7 +175,7 @@ function dopost(form) {
saved[document.location] = form.elements['body'].value;
sessionStorage.body = JSON.stringify(saved);
- return form.elements['body'].value != "" || form.elements['file'].value != "";
+ return form.elements['body'].value != "" || form.elements['file'].value != "" || (form.elements.file_url && form.elements['file_url'].value != "");
}
function citeReply(id) {
diff --git a/templates/post_form.html b/templates/post_form.html
index 4d7a37b7..7c8894c1 100644
--- a/templates/post_form.html
+++ b/templates/post_form.html
@@ -73,6 +73,13 @@
+ {% if config.allow_upload_by_url %}
+
+
+ :
+
+
+ {% endif %}
{{ antibot.html() }}
From 6a1e8e834bd1d0ea1c0f557ae0c54d8b2ae44d61 Mon Sep 17 00:00:00 2001
From: Michael Foster
Date: Mon, 12 Aug 2013 23:06:58 +1000
Subject: [PATCH 15/19] Fix last commit: add chmod() to fix some permissions
derping
---
post.php | 1 +
1 file changed, 1 insertion(+)
diff --git a/post.php b/post.php
index cfec5430..c55b8bc5 100644
--- a/post.php
+++ b/post.php
@@ -588,6 +588,7 @@ if (isset($_POST['delete'])) {
if (isset($post['file_tmp'])) {
if (!@rename($upload, $post['file']))
error($config['error']['nomove']);
+ chmod($post['file'], 0755);
} elseif (!@move_uploaded_file($upload, $post['file']))
error($config['error']['nomove']);
}
From 6fdbe76f7b7b69ca6bfbff65af8096734e46233d Mon Sep 17 00:00:00 2001
From: Michael Foster
Date: Mon, 12 Aug 2013 23:35:27 +1000
Subject: [PATCH 16/19] bugfix: sometimes this acts weird
---
post.php | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/post.php b/post.php
index c55b8bc5..6bed96e1 100644
--- a/post.php
+++ b/post.php
@@ -279,7 +279,10 @@ if (isset($_POST['delete'])) {
error($config['error']['unknownext']);
$post['file_tmp'] = tempnam($config['tmp'], 'url');
- register_shutdown_function('unlink', $post['file_tmp']);
+ function unlink_tmp_file($file) {
+ @unlink($file);
+ }
+ register_shutdown_function('unlink_tmp_file', $post['file_tmp']);
$fp = fopen($post['file_tmp'], 'w');
From 60b3cfc539392d5b760244e21b69136895e938cb Mon Sep 17 00:00:00 2001
From: Michael Foster
Date: Tue, 13 Aug 2013 00:07:23 +1000
Subject: [PATCH 17/19] Upload via URL: Make sure we're not vulnerable to this
buffer overflow exploit. http://www.exploit-db.com/exploits/24487/
---
post.php | 1 +
1 file changed, 1 insertion(+)
diff --git a/post.php b/post.php
index 6bed96e1..8a8487e8 100644
--- a/post.php
+++ b/post.php
@@ -295,6 +295,7 @@ if (isset($_POST['delete'])) {
curl_setopt($curl, CURLOPT_USERAGENT, 'Tinyboard');
curl_setopt($curl, CURLOPT_BINARYTRANSFER, true);
curl_setopt($curl, CURLOPT_FILE, $fp);
+ curl_setopt($curl, CURLOPT_PROTOCOLS, CURLPROTO_HTTP | CURLPROTO_HTTPS);
if (curl_exec($curl) === false)
error($config['error']['nomove']);
From c6e629bf89b2b625f2f84ad73620f5a82b7a207e Mon Sep 17 00:00:00 2001
From: Michael Foster
Date: Tue, 13 Aug 2013 01:53:23 +1000
Subject: [PATCH 18/19] allow wordfilters to be callbacks
---
inc/functions.php | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/inc/functions.php b/inc/functions.php
index 74ab96e9..848d9204 100644
--- a/inc/functions.php
+++ b/inc/functions.php
@@ -1415,7 +1415,10 @@ function wordfilters(&$body) {
foreach ($config['wordfilters'] as $filter) {
if (isset($filter[2]) && $filter[2]) {
- $body = preg_replace($filter[0], $filter[1], $body);
+ if (is_callable($filter[1]))
+ $body = preg_replace_callback($filter[0], $filter[1], $body);
+ else
+ $body = preg_replace($filter[0], $filter[1], $body);
} else {
$body = str_ireplace($filter[0], $filter[1], $body);
}
From 07b825c6d2abd3312747fafe49c0a1d3011242ae Mon Sep 17 00:00:00 2001
From: Michael Foster
Date: Tue, 13 Aug 2013 21:53:23 +1000
Subject: [PATCH 19/19] Don't create anti-bot stuff in buildThread() when asked
to return HTML as a string.
---
inc/functions.php | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/inc/functions.php b/inc/functions.php
index 848d9204..085d911f 100644
--- a/inc/functions.php
+++ b/inc/functions.php
@@ -1755,7 +1755,7 @@ function buildThread($id, $return = false, $mod = false) {
'config' => $config,
'id' => $id,
'mod' => $mod,
- 'antibot' => $mod ? false : create_antibot($board['uri'], $id),
+ 'antibot' => $mod || $return ? false : create_antibot($board['uri'], $id),
'boardlist' => createBoardlist($mod),
'return' => ($mod ? '?' . $board['url'] . $config['file_index'] : $config['root'] . $board['dir'] . $config['file_index'])
));