X-Git-Url: https://jfr.im/git/irc/unrealircd/unrealircd-webpanel.git/blobdiff_plain/d72d1923dd09a377d09568f39a5cedf57130d3db..0d62343db7cf98dda603d338e1948a9a09af5862:/server-bans/ban-exceptions.php diff --git a/server-bans/ban-exceptions.php b/server-bans/ban-exceptions.php index c099862..6bd265b 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.

-

- +