X-Git-Url: https://jfr.im/git/irc/unrealircd/unrealircd-webpanel.git/blobdiff_plain/062258ffca3e14131ac530492d36ea0b0430602f..c06c1713af2db485d55a91073bbc5b63b6aa8c0b:/server-bans/index.php diff --git a/server-bans/index.php b/server-bans/index.php index acf8ea6..fc2dee7 100644 --- a/server-bans/index.php +++ b/server-bans/index.php @@ -1,18 +1,20 @@ $value) { - foreach ($value as $tok) { - $tok = explode(",", $tok); + if (!current_user_can(PERMISSION_SERVER_BAN_DEL)) + { + Message::Fail("Could not delete: Permission denied"); + } + else { + foreach ($_POST['tklch'] as $key => $value) { + $tok = explode(",", $value); $ban = base64_decode($tok[0]); $type = base64_decode($tok[1]); $success = false; @@ -33,58 +35,65 @@ if (!empty($_POST)) } elseif (isset($_POST['tkl_add']) && !empty($_POST['tkl_add'])) { - if (!($iphost = $_POST['tkl_add'])) - Message::Fail("No mask was specified"); - else if (!($bantype = (isset($_POST['bantype'])) ? $_POST['bantype'] : false)) + if (!current_user_can(PERMISSION_SERVER_BAN_ADD)) { - Message::Fail("Unable to add Server Ban: No ban type selected"); - } else /* It did */{ + Message::Fail("Could not add: Permission denied"); + } + else + { + if (!($iphost = $_POST['tkl_add'])) + Message::Fail("No mask was specified"); + else if (!($bantype = (isset($_POST['bantype'])) ? $_POST['bantype'] : false)) + { + Message::Fail("Unable to add Server Ban: No ban type selected"); + } else /* It did */{ - if ( - ( - $bantype == "gline" || - $bantype == "gzline" || - $bantype == "shun" || - $bantype == "eline" - ) && strpos($iphost, "@") == false - ) // doesn't have full mask - $iphost = "*@" . $iphost; + if ( + ( + $bantype == "gline" || + $bantype == "gzline" || + $bantype == "shun" || + $bantype == "eline" + ) && strpos($iphost, "@") == false + ) // doesn't have full mask + $iphost = "*@" . $iphost; - $soft = ($_POST['soft']) ? true : false; + $soft = ($_POST['soft']) ? true : false; - if ($soft) - $iphost = "%" . $iphost; - /* 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; + if ($soft) + $iphost = "%" . $iphost; + /* 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 ($bantype == "qline") { + if ($rpc->nameban()->add($iphost, $reason, $duration)) + Message::Success("Name Ban set against \"$iphost\": $reason"); + else + Message::Fail("Name Ban could not be set against \"$iphost\": $rpc->error"); + } elseif ($bantype == "except") { + if ($rpc->serverbanexception()->add($iphost, "", $duration, $reason)) + Message::Success("Exception set for \"$iphost\": $reason"); + else + Message::Fail("Exception could not be set \"$iphost\": $rpc->error"); + } else if ($rpc->serverban()->add($iphost, $bantype, $duration, $reason)) { + Message::Success("Host / IP: $iphost has been $bantype" . "d $msg_msg: $reason"); + } else + Message::Fail("The $bantype against \"$iphost\" could not be added: $rpc->error"); } - $msg_msg = ($duration == "0" || $duration == "0w0d0h") ? "permanently" : "for " . rpc_convert_duration_string($duration); - $reason = (isset($_POST['ban_reason'])) ? $_POST['ban_reason'] : "No reason"; - if ($bantype == "qline") { - if ($rpc->nameban()->add($iphost, $reason, $duration)) - Message::Success("Name Ban set against \"$iphost\": $reason"); - else - Message::Fail("Name Ban could not be set against \"$iphost\": $rpc->error"); - } elseif ($bantype == "except") { - if ($rpc->serverbanexception()->add($iphost, "", $duration, $reason)) - Message::Success("Exception set for \"$iphost\": $reason"); - else - Message::Fail("Exception could not be set \"$iphost\": $rpc->error"); - } else if ($rpc->serverban()->add($iphost, $bantype, $duration, $reason)) { - Message::Success("Host / IP: $iphost has been $bantype" . "d $msg_msg: $reason"); - } else - Message::Fail("The $bantype against \"$iphost\" could not be added: $rpc->error"); } } elseif (isset($_POST['search_types']) && !empty($_POST['search_types'])) @@ -97,7 +106,7 @@ $tkl = $rpc->serverban()->getAll(); ?>

Server Bans Overview

Here are all your network bans, from K-Lines to G-Lines, it's all here.

-

- +