better IP Ban logging
This commit is contained in:
parent
b0c46b63ca
commit
8c1e495ab7
@ -56,6 +56,7 @@ class IPBan extends Extension {
|
||||
else $end = $_POST['end'];
|
||||
send_event(new AddIPBanEvent($_POST['ip'], $_POST['reason'], $end));
|
||||
|
||||
flash_message("Ban for {$_POST['ip']} added");
|
||||
$page->set_mode("redirect");
|
||||
$page->set_redirect(make_link("ip_ban/list"));
|
||||
}
|
||||
@ -63,6 +64,8 @@ class IPBan extends Extension {
|
||||
else if($event->get_arg(0) == "remove" && $user->check_auth_token()) {
|
||||
if(isset($_POST['id'])) {
|
||||
send_event(new RemoveIPBanEvent($_POST['id']));
|
||||
|
||||
flash_message("Ban removed");
|
||||
$page->set_mode("redirect");
|
||||
$page->set_redirect(make_link("ip_ban/list"));
|
||||
}
|
||||
@ -86,14 +89,21 @@ class IPBan extends Extension {
|
||||
}
|
||||
|
||||
public function onAddIPBan(AddIPBanEvent $event) {
|
||||
global $user;
|
||||
$this->add_ip_ban($event->ip, $event->reason, $event->end, $user);
|
||||
global $user, $database;
|
||||
$sql = "INSERT INTO bans (ip, reason, end_timestamp, banner_id) VALUES (:ip, :reason, :end, :admin_id)";
|
||||
$database->Execute($sql, array("ip"=>$event->ip, "reason"=>$event->reason, "end"=>strtotime($event->end), "admin_id"=>$user->id));
|
||||
$database->cache->delete("ip_bans_sorted");
|
||||
log_info("ipban", "Banned {$event->ip} because '{$event->reason}' until {$event->end}");
|
||||
}
|
||||
|
||||
public function onRemoveIPBan(RemoveIPBanEvent $event) {
|
||||
global $database;
|
||||
$database->Execute("DELETE FROM bans WHERE id = :id", array("id"=>$event->id));
|
||||
$database->cache->delete("ip_bans_sorted");
|
||||
$ban = $database->get_row("SELECT * FROM bans WHERE id = :id", array("id"=>$event->id));
|
||||
if($ban) {
|
||||
$database->Execute("DELETE FROM bans WHERE id = :id", array("id"=>$event->id));
|
||||
$database->cache->delete("ip_bans_sorted");
|
||||
log_info("ipban", "Removed {$ban['ip']}'s ban");
|
||||
}
|
||||
}
|
||||
|
||||
// installer {{{
|
||||
@ -211,6 +221,8 @@ class IPBan extends Extension {
|
||||
exit;
|
||||
}
|
||||
}
|
||||
log_error("ipban", "block() called but no bans matched");
|
||||
exit;
|
||||
}
|
||||
// }}}
|
||||
// database {{{
|
||||
@ -264,14 +276,6 @@ class IPBan extends Extension {
|
||||
$database->cache->set("ip_bans_sorted", $sorted, 600);
|
||||
return $sorted;
|
||||
}
|
||||
|
||||
private function add_ip_ban($ip, $reason, $end, $user) {
|
||||
global $database;
|
||||
$sql = "INSERT INTO bans (ip, reason, end_timestamp, banner_id) VALUES (:ip, :reason, :end, :admin_id)";
|
||||
$database->Execute($sql, array("ip"=>$ip, "reason"=>$reason, "end"=>strtotime($end), "admin_id"=>$user->id));
|
||||
$database->cache->delete("ip_bans_sorted");
|
||||
log_info("ipban", "'$user->name' has banned '$ip' because '$reason' until '$end'");
|
||||
}
|
||||
// }}}
|
||||
}
|
||||
?>
|
||||
|
Loading…
x
Reference in New Issue
Block a user