bans.php: group deletion policy

This commit is contained in:
Zankaria 2024-07-01 21:52:03 +02:00
parent bdc98b66ff
commit 1633baf421

View file

@ -3,6 +3,10 @@
use Lifo\IP\CIDR;
class Bans {
static private function shouldDelete($ban, $require_ban_view) {
return $ban['expires'] && ($ban['seen'] || !$require_ban_view) && $ban['expires'] < time();
}
static private function deleteBans($ban_ids) {
$len = count($ban_ids);
if ($len === 1) {
@ -49,7 +53,7 @@ class Bans {
$to_delete_list = [];
while ($ban = $query->fetch(PDO::FETCH_ASSOC)) {
if ($ban['expires'] && ($ban['seen'] || !$require_ban_view) && $ban['expires'] < time()) {
if (self::shouldDelete($ban, $require_ban_view)) {
$to_delete_list[] = $ban['id'];
} elseif ($ban['id'] === $ban_id) {
if ($ban['post']) {
@ -104,7 +108,7 @@ class Bans {
$to_delete_list = [];
while ($ban = $query->fetch(PDO::FETCH_ASSOC)) {
if ($ban['expires'] && ($ban['seen'] || !$require_ban_view) && $ban['expires'] < time()) {
if (self::shouldDelete($ban, $require_ban_view)) {
$to_delete_list[] = $ban['id'];
} else {
if ($ban['post']) {