1
0
mirror of https://github.com/vichan-devel/vichan.git synced 2024-11-28 01:10:51 +01:00

Option to reset thread bump after last post deleted.

This commit is contained in:
Kureva 2019-10-14 03:45:39 -03:00 committed by Fredrick Brennan
parent 9fdbc6c1f0
commit 1613f6baea
2 changed files with 17 additions and 1 deletions

View File

@ -223,6 +223,9 @@
// Skip checking certain IP addresses against blacklists (for troubleshooting or whatever) // Skip checking certain IP addresses against blacklists (for troubleshooting or whatever)
$config['dnsbl_exceptions'][] = '127.0.0.1'; $config['dnsbl_exceptions'][] = '127.0.0.1';
// To prevent bump atacks; returns the thread to last position after the last post is deleted.
$config['anti_bump_flood'] = false;
/* /*
* Introduction to Tinyboard's spam filter: * Introduction to Tinyboard's spam filter:
* *

View File

@ -1228,6 +1228,7 @@ function deletePost($id, $error_if_doesnt_exist=true, $rebuild_after=true) {
while ($post = $query->fetch(PDO::FETCH_ASSOC)) { while ($post = $query->fetch(PDO::FETCH_ASSOC)) {
event('delete', $post); event('delete', $post);
$thread_id = $post['thread'];
if (!$post['thread']) { if (!$post['thread']) {
// Delete thread HTML page // Delete thread HTML page
file_unlink($board['dir'] . $config['dir']['res'] . link_for($post) ); file_unlink($board['dir'] . $config['dir']['res'] . link_for($post) );
@ -1279,6 +1280,18 @@ function deletePost($id, $error_if_doesnt_exist=true, $rebuild_after=true) {
$query->bindValue(':board', $board['uri']); $query->bindValue(':board', $board['uri']);
$query->execute() or error(db_error($query)); $query->execute() or error(db_error($query));
if ($config['anti_bump_flood']) {
$query = prepare(sprintf("SELECT `time` FROM ``posts_%s`` WHERE (`thread` = :thread OR `id` = :thread) AND `sage` = 0 ORDER BY `time` DESC LIMIT 1", $board['uri']));
$query->bindValue(':thread', $thread_id);
$query->execute() or error(db_error($query));
$bump = $query->fetchColumn();
$query = prepare(sprintf("UPDATE ``posts_%s`` SET `bump` = :bump WHERE `id` = :thread", $board['uri']));
$query->bindValue(':bump', $bump);
$query->bindValue(':thread', $thread_id);
$query->execute() or error(db_error($query));
}
if (isset($rebuild) && $rebuild_after) { if (isset($rebuild) && $rebuild_after) {
buildThread($rebuild); buildThread($rebuild);
buildIndex(); buildIndex();