summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--inc/config.php3
-rw-r--r--inc/functions.php13
-rw-r--r--post.php9
-rw-r--r--templates/post_form.html3
4 files changed, 21 insertions, 7 deletions
diff --git a/inc/config.php b/inc/config.php
index 120f3865..15af9661 100644
--- a/inc/config.php
+++ b/inc/config.php
@@ -262,7 +262,8 @@
'recaptcha_challenge_field',
'recaptcha_response_field',
'spoiler',
- 'quick-reply'
+ 'quick-reply',
+ 'page'
);
// Enable reCaptcha to make spam even harder. Rarely necessary.
diff --git a/inc/functions.php b/inc/functions.php
index b6862444..309546ef 100644
--- a/inc/functions.php
+++ b/inc/functions.php
@@ -841,11 +841,14 @@ function post(array $post) {
}
function bumpThread($id) {
- global $board;
+ global $config, $board, $build_pages;
if (event('bump', $id))
return true;
+ if ($config['try_smarter'])
+ $build_pages[] = thread_find_page($id);
+
$query = prepare(sprintf("UPDATE ``posts_%s`` SET `bump` = :time WHERE `id` = :id AND `thread` IS NULL", $board['uri']));
$query->bindValue(':time', time(), PDO::PARAM_INT);
$query->bindValue(':id', $id, PDO::PARAM_INT);
@@ -1274,7 +1277,8 @@ function buildIndex() {
global $board, $config, $build_pages;
$pages = getPages();
- $antibot = create_antibot($board['uri']);
+ if (!$config['try_smarter'])
+ $antibot = create_antibot($board['uri']);
for ($page = 1; $page <= $config['max_pages']; $page++) {
$filename = $board['dir'] . ($page == 1 ? $config['file_index'] : sprintf($config['file_page'], $page));
@@ -1285,8 +1289,11 @@ function buildIndex() {
if (!$content)
break;
+ if ($config['try_smarter']) {
+ $antibot = create_antibot($board['uri'], 0 - $page);
+ $content['current_page'] = $page;
+ }
$antibot->reset();
-
$content['pages'] = $pages;
$content['pages'][$page-1]['selected'] = true;
$content['btn'] = getPageButtons($content['pages']);
diff --git a/post.php b/post.php
index 103894db..65e85bcc 100644
--- a/post.php
+++ b/post.php
@@ -216,7 +216,7 @@ if (isset($_POST['delete'])) {
}
if (!$post['mod']) {
- $post['antispam_hash'] = checkSpam(array($board['uri'], isset($post['thread']) && !($config['quick_reply'] && isset($_POST['quick-reply'])) ? $post['thread'] : null));
+ $post['antispam_hash'] = checkSpam(array($board['uri'], isset($post['thread']) && !($config['quick_reply'] && isset($_POST['quick-reply'])) ? $post['thread'] : ($config['try_smarter'] && isset($_POST['page']) ? 0 - (int)$_POST['page'] : null)));
if ($post['antispam_hash'] === true)
error($config['error']['spam']);
}
@@ -594,12 +594,15 @@ if (isset($_POST['delete'])) {
}
}
- buildThread($post['op'] ? $id : $post['thread']);
-
if (!$post['op'] && strtolower($post['email']) != 'sage' && !$thread['sage'] && ($config['reply_limit'] == 0 || $numposts['replies']+1 < $config['reply_limit'])) {
bumpThread($post['thread']);
}
+ buildThread($post['op'] ? $id : $post['thread']);
+
+ if ($config['try_smarter'] && $post['op'])
+ $build_pages = range(1, $config['max_pages']);
+
if ($post['op'])
clean();
diff --git a/templates/post_form.html b/templates/post_form.html
index 31fe88c6..4d7a37b7 100644
--- a/templates/post_form.html
+++ b/templates/post_form.html
@@ -4,6 +4,9 @@
{{ antibot.html() }}
<input type="hidden" name="board" value="{{ board.uri }}">
{{ antibot.html() }}
+{% if current_page %}
+ <input type="hidden" name="page" value="{{ current_page }}">
+{% endif %}
{% if mod %}<input type="hidden" name="mod" value="1">{% endif %}
<table>
{% if not config.field_disable_name or (mod and post.mod|hasPermission(config.mod.bypass_field_disable, board.uri)) %}<tr>