X-Git-Url: https://jfr.im/git/irc/unrealircd/unrealircd-webpanel.git/blobdiff_plain/9e2a2ac021a33268908b8dd3ec1376f6bf8e0041..c06c1713af2db485d55a91073bbc5b63b6aa8c0b:/server-bans/ban-exceptions.php diff --git a/server-bans/ban-exceptions.php b/server-bans/ban-exceptions.php index 66744ca..34596d2 100644 --- a/server-bans/ban-exceptions.php +++ b/server-bans/ban-exceptions.php @@ -1,8 +1,79 @@ $value) + { + $tok = split($value, ","); + $iphost = base64_decode($tok[0]); + $success = false; + $success = $rpc->serverbanexception()->delete($iphost); + + + if ($success) + Message::Success("Ban Exception has been removed for $iphost"); + else + Message::Fail("Unable to remove Ban Exception on $iphost: $rpc->error"); + } + } + elseif (isset($_POST['tkl_add']) && !empty($_POST['tkl_add'])) + { + if (!current_user_can(PERMISSION_BAN_EXCEPTION_ADD)) + Message::Fail("Could not add ban exception(s): Permission denied"); + else + { + if (!($iphost = $_POST['tkl_add'])) + Message::Fail("No mask was specified"); + + $bantypes = isset($_POST['bantype']) ? $_POST['bantype'] : ""; + $bantypes_dup = ""; + if (!empty($bantypes)) + foreach ($bantypes as $bt) + $bantypes_dup .= $bt; + $bantypes = $bantypes_dup; + /* duplicate code for now [= */ + $banlen_w = (isset($_POST['banlen_w'])) ? $_POST['banlen_w'] : NULL; + $banlen_d = (isset($_POST['banlen_d'])) ? $_POST['banlen_d'] : NULL; + $banlen_h = (isset($_POST['banlen_h'])) ? $_POST['banlen_h'] : NULL; + $duration = ""; + if (!$banlen_d && !$banlen_h && !$banlen_w) + $duration .= "0"; + else { + if ($banlen_w) + $duration .= $banlen_w; + if ($banlen_d) + $duration .= $banlen_d; + if ($banlen_h) + $duration .= $banlen_h; + } + $msg_msg = ($duration == "0" || $duration == "0w0d0h") ? "permanently" : "for " . rpc_convert_duration_string($duration); + $reason = (isset($_POST['ban_reason'])) ? $_POST['ban_reason'] : "No reason"; + + if (isset($_POST['soft'])) + $iphost = "%$iphost"; + if ($rpc->serverbanexception()->add($iphost, $bantypes, $reason, (($user = unreal_get_current_user())) ? $user->username : NULL, $duration)) + Message::Success("Ban Exception set against \"$iphost\": $reason"); + else + Message::Fail("Ban Exception could not be set against \"$iphost\": $rpc->error"); + } + + } + elseif (isset($_POST['search_types']) && !empty($_POST['search_types'])) + { + + } +} $ban_exceptions = $rpc->serverbanexception()->getAll(); @@ -10,11 +81,11 @@ $ban_exceptions = $rpc->serverbanexception()->getAll();

Ban Exceptions Overview

Here is where you can make an exception to bans, that is, to make it so that the target mask is exempt from the ban types you specify.

-

- +