forked from leftypol/leftypol
Fix multiple issues with anti_bump_flood
- bumplocked thread with one reply, delete the reply and no post matches the query - saged posts aren't ignored when finding last bump - bumplocked threads should be ignored
This commit is contained in:
parent
231321f2c1
commit
ca1ce0103f
1 changed files with 21 additions and 12 deletions
|
@ -1239,16 +1239,25 @@ 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']) {
|
// No need to run on OPs
|
||||||
$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']));
|
if ($config['anti_bump_flood'] && isset($thread_id)) {
|
||||||
|
$query = prepare(sprintf("SELECT `sage` FROM ``posts_%s`` WHERE `id` = :thread", $board['uri']));
|
||||||
|
$query->bindValue(':thread', $thread_id);
|
||||||
|
$query->execute() or error(db_error($query));
|
||||||
|
$bumplocked = (bool)$query->fetchColumn();
|
||||||
|
|
||||||
|
if (!$bumplocked) {
|
||||||
|
$query = prepare(sprintf("SELECT `time` FROM ``posts_%s`` WHERE (`thread` = :thread AND NOT email <=> 'sage') OR `id` = :thread ORDER BY `time` DESC LIMIT 1", $board['uri']));
|
||||||
$query->bindValue(':thread', $thread_id);
|
$query->bindValue(':thread', $thread_id);
|
||||||
$query->execute() or error(db_error($query));
|
$query->execute() or error(db_error($query));
|
||||||
$bump = $query->fetchColumn();
|
$bump = $query->fetchColumn();
|
||||||
|
|
||||||
$query = prepare(sprintf("UPDATE ``posts_%s`` SET `bump` = :bump WHERE `id` = :thread", $board['uri']));
|
$query = prepare(sprintf("UPDATE ``posts_%s`` SET `bump` = :bump WHERE `id` = :thread", $board['uri']));
|
||||||
$query->bindValue(':bump', $bump);
|
$query->bindValue(':bump', $bump);
|
||||||
$query->bindValue(':thread', $thread_id);
|
$query->bindValue(':thread', $thread_id);
|
||||||
$query->execute() or error(db_error($query));
|
$query->execute() or error(db_error($query));
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (isset($rebuild) && $rebuild_after) {
|
if (isset($rebuild) && $rebuild_after) {
|
||||||
buildThread($rebuild);
|
buildThread($rebuild);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue