X-Git-Url: https://jfr.im/git/irc/unrealircd/unrealircd-webpanel.git/blobdiff_plain/f2b064ade342850b1d22b613ecfec9ab0b36fbbf..refs/pull/8/head:/users/index.php diff --git a/users/index.php b/users/index.php index ad3441f..a520ae9 100644 --- a/users/index.php +++ b/users/index.php @@ -9,18 +9,28 @@ if (!empty($_GET)) if (isset($_GET['operonly']) && !isset($_POST['operonly'])) $_POST['operonly'] = $_GET['operonly']; + + if (isset($_GET['servicesonly']) && !isset($_POST['servicesonly'])) + $_POST['servicesonly'] = $_GET['servicesonly']; } -if (!empty($_POST)) { +if (!empty($_POST)) +{ do_log($_POST); - $bantype = $_POST['bantype']; + $bantype = (isset($_POST['bantype'])) ? $_POST['bantype'] : NULL; + if (isset($_POST['userch'])) { - foreach ($_POST["userch"] as $user) { + foreach ($_POST["userch"] as $user) + { $user = $name = base64_decode($user); - $bantype = (isset($_POST['bantype'])) ? $_POST['bantype'] : NULL; - if (!$bantype) /* shouldn't happen? */{ + + if (!$bantype) /* shouldn't happen? */ + { Message::Fail("An error occured"); - } else { + } + + else + { $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; @@ -37,15 +47,22 @@ if (!empty($_POST)) { $duration .= $banlen_h; } $user = $rpc->user()->get($user); + if (!$user && $bantype !== "qline") { Message::Fail("Could not find that user: User not online"); - } else { + } + + else + { $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") $rpc->nameban()->add($name, $reason, $duration); + else if ($rpc->serverban()->add($user->id, $bantype, $duration, $reason)) Message::Success($user->name . " (*@" . $user->hostname . ") has been $bantype" . "d $msg_msg: $reason"); + else Message::Fail("Could not add $bantype against $name: $rpc->error"); } @@ -77,18 +94,29 @@ Click on a username to view more information. if (isset($_POST['uf_account']) && strlen($_POST['uf_account'])) Message::Info("Listing users which match account: \"" . $_POST['uf_account'] . "\""); + if (isset($_POST['uf_server']) && strlen($_POST['uf_server'])) + Message::Info("Listing users connected to servers matching: \"" . $_POST['uf_server'] . "\""); + ?> - - - - - - + + + + + + + + + + + + + +
Filter:
Nick - Host IP Account name="operonly" type="checkbox" value=""> Opers Only
Filter:
name="operonly" type="checkbox" value=""> Opers Only name="servicesonly" type="checkbox" value=""> Services Only
Nick + Host IP Account Server
@@ -136,17 +164,28 @@ Click on a username to view more information. strpos(strtolower($user->user->account), strtolower($_POST['uf_account'])) == false) continue; + /* Some basic filtering for ACCOUNT */ + if (isset($_POST['uf_server']) && strlen($_POST['uf_server']) && + strpos(strtolower($user->user->servername), strtolower($_POST['uf_server'])) !== 0 && + strpos(strtolower($user->user->servername), strtolower($_POST['uf_server'])) == false) + continue; + /* Some basic filtering for OPER */ if (isset($_POST['operonly']) && - strpos($user->user->modes, "o") == false || strpos($user->user->modes,"S") !== false) + (strpos($user->user->modes, "o") == false || strpos($user->user->modes,"S") !== false)) + continue; + + /* Some basic filtering for SERVICES */ + if (isset($_POST['servicesonly']) && + (strpos($user->user->modes,"S") == false)) continue; echo "\n"; echo ""; $isBot = (strpos($user->user->modes, "B") !== false) ? ' Bot' : ""; echo ""; - echo ""; - $account = (isset($user->user->account)) ? "user->account."\">".$user->user->account."" : 'None'; + echo ""; + $account = (isset($user->user->account)) ? "user->account."\">".htmlspecialchars($user->user->account)."" : 'None'; echo ""; $modes = (isset($user->user->modes)) ? "+" . $user->user->modes : ""; echo ""; @@ -155,7 +194,7 @@ Click on a username to view more information. $oper = (strpos($user->user->modes, "S") !== false) ? 'Services Bot' : ""; echo ""; - $secure = (isset($user->tls)) ? "Secure" : "Insecure"; + $secure = (isset($user->tls) || $user->hostname !== "localhost") ? "Secure" : "Insecure"; if (strpos($user->user->modes, "S") !== false) $secure = ""; echo "";
id."\">$user->name$isBot".$user->hostname." (".$user->ip.")".htmlspecialchars($user->hostname)." (".htmlspecialchars($user->ip ?? "None").")".$account."".$modes."".$oper."".$secure."