parent
77f22518c8
commit
6c3cde5f65
|
|
@ -134,31 +134,22 @@ class Fail2BanJailModal extends ModalComponent
|
|||
foreach ($ips as $ip) {
|
||||
$banAt = null; $until = null; $remaining = null;
|
||||
|
||||
// 2) DB-Info pro IP (optional, je nach Schema belegt)
|
||||
// 1) Primär: DB
|
||||
if ($info = $this->banInfoFromDb($jail, $ip)) {
|
||||
$banAt = $info['banned_at'];
|
||||
if ((int)$info['expire'] === -1) {
|
||||
$remaining = -1;
|
||||
$remaining = -1; // permanent
|
||||
} elseif ((int)$info['expire'] > 0) {
|
||||
$until = (int)$info['expire'];
|
||||
$remaining = max(0, $until - time());
|
||||
}
|
||||
}
|
||||
|
||||
// 3) Fallback: Log + Default-Bantime
|
||||
if ($remaining === null) {
|
||||
$banAt = $banAt ?? $this->lastBanTimestamp($jail, $ip);
|
||||
if ($banAt !== null) {
|
||||
$remaining = max(0, $defaultBantime - (time() - $banAt));
|
||||
$until = $remaining > 0 ? $banAt + $defaultBantime : null;
|
||||
} else {
|
||||
$remaining = -2; // ~unbekannt/approx
|
||||
// kein expire in DB → Fallback unten
|
||||
}
|
||||
}
|
||||
|
||||
// 4) Safety: falls 0s, aber F2B hält sie noch → als „~unbekannt“ kennzeichnen
|
||||
if ($remaining === 0 && $this->isStillBanned($jail, $ip)) {
|
||||
$remaining = -2;
|
||||
// 2) Fallback: KEIN fixes Datum, nur "~ Bantime"
|
||||
if ($remaining === null) {
|
||||
$remaining = -2; // "~ ca. {$defaultBantime}s"
|
||||
}
|
||||
|
||||
[$timeText, $metaText, $boxClass] = $this->present($remaining, $banAt, $until);
|
||||
|
|
|
|||
Loading…
Reference in New Issue