X-Git-Url: https://jfr.im/git/irc/unrealircd/unrealircd-webpanel.git/blobdiff_plain/dc961139b6abc47e087ec829b862cc07550329a9..452b8eada34a0857aee8b5ea2a1dcb0a550626d3:/index.php diff --git a/index.php b/index.php index fbb29c8..aa0a7d0 100644 --- a/index.php +++ b/index.php @@ -1,540 +1,376 @@ - -UnrealIRCd Panel - - - -
-

UnrealIRCd Administration Panel

- -
- Overview - Users - Channels - Server Bans - Spamfilter - News -
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"); - } - } - else /* It came from the Users tab */ - { - foreach ($_POST["userch"] as $user) - { - $user = base64_decode($user); - $bantype = (isset($_POST['bantype'])) ? $_POST['bantype'] : NULL; - if (!$bantype) /* shouldn't happen? */ - { - Message::Fail("An error occured"); - return; - } - $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; - } +require_once "inc/common.php"; +require_once "Classes/class-checkup.php"; +if (!isset($config['unrealircd'])) +{ + $redirect = get_config("base_url")."settings/rpc-servers.php"; + header('Location: ' . $redirect); + die; +} - $nick = $rpc->user()->get($user); - if (!$nick) - { - Message::Fail("Could not find that user. Maybe they disconnected after you clicked this?"); - return; - } +require_once "inc/header.php"; - $msg_msg = ($duration == "0" || $duration == "0w0d0h") ? "permanently" : "for ".rpc_convert_duration_string($duration); - $reason = (isset($_POST['ban_reason'])) ? $_POST['ban_reason'] : "No reason"; - if ($rpc->serverban()->add($user, $bantype, $duration, $reason)) - { - $c = $nick->client; - Message::Success($c->name . " (*@".$c->hostname.") has been $bantype" . "d $msg_msg: $reason"); - } - } - } - - if (!empty($_POST['tklch'])) - foreach ($_POST as $key => $value) { - foreach ($value as $tok) { - $tok = explode(",", $tok); - $ban = base64_decode($tok[0]); - $type = base64_decode($tok[1]); - if ($rpc->serverban()->delete($ban, $type)) - Message::Success("$type has been removed for $ban"); - else - Message::Fail("Unable to remove $type on $ban: $rpc->error"); - } - } +?> +
+

Network Overview

+ LIVE + +
+ $value) { - foreach ($value as $tok) { - $tok = explode(",", $tok); - $name = base64_decode($tok[0]); - $match_type = base64_decode($tok[1]); - $spamfilter_targets = base64_decode($tok[2]); - $ban_action = base64_decode($tok[3]); - if ($rpc->spamfilter()->delete($name, $match_type, $spamfilter_targets, $ban_action)) - Message::Success("Spamfilter on $name has been removed"); - else - Message::Fail("Unable to remove spamfilter on $name: $rpc->error"); - } - } +/* This makes sure that a plugin which called the parameter + * by reference can add/update the stats for display here. +*/ +$stats = (object) $array_of_stats; +$userlist = []; +Hook::run(HOOKTYPE_GET_USER_LIST, $userlist); +$num_of_panel_admins = count($userlist); +$current_user = unreal_get_current_user(); +if (isset($current_user->user_meta['hibp'])) +{ + $num = $current_user->user_meta['hibp']; + Message::Fail("
Urgent
","Your password was found in a data breach $num time(s).", + "Please update your password immediately"); } - -rpc_pop_lists(); ?> + +
- /* Some basic filtering for HOST */ - if (isset($_POST['uf_host']) && strlen($_POST['uf_host']) && - strpos(strtolower($user->hostname), strtolower($_POST['uf_host'])) !== 0 && - strpos(strtolower($user->hostname), strtolower($_POST['uf_host'])) == false) - continue; +
+ + + + +
+
+
- /* Some basic filtering for IP */ - if (isset($_POST['uf_ip']) && strlen($_POST['uf_ip']) && - strpos(strtolower($user->ip), strtolower($_POST['uf_ip'])) !== 0 && - strpos(strtolower($user->ip), strtolower($_POST['uf_ip'])) == false) - continue; +
+ + + + +
+
- /* Some basic filtering for ACCOUNT */ - if (isset($_POST['uf_account']) && strlen($_POST['uf_account']) && - strpos(strtolower($user->user->account), strtolower($_POST['uf_account'])) !== 0 && - strpos(strtolower($user->user->account), strtolower($_POST['uf_account'])) == false) - continue; + +
+
+ + +
+
+ -
- - -
- - +Hook::run(HOOKTYPE_OVERVIEW_CARD, $stats); + +require_once "inc/footer.php";