X-Git-Url: https://jfr.im/git/irc/unrealircd/unrealircd-webpanel.git/blobdiff_plain/03ddd26b2c98cde7754ffc50dacf4897683c57a7..41aad10cbe0755aee50f597cb2cadd3029de7e1d:/index.php diff --git a/index.php b/index.php index aac570f..b41cdad 100644 --- a/index.php +++ b/index.php @@ -1,410 +1,327 @@ - -UnrealIRCd Panel - - - -
-

UnrealIRCd Administration Panel

- -
- Overview - Users - Channels - Server Bans - Spamfilter - News -
stats()->get(); +?> +
+

Network Overview

+⚪LIVE
+
+set_method("user.get"); - $rpc->set_params(["nick" => "$user"]); - $rpc->execute(); - $nick = ($rpc->result) ? $rpc->fetch_assoc() : NULL; - if (!$nick) - { - Message::Fail("Could not find that user. Maybe they disconnected after you clicked this?"); - return; - } +/* What if someone wants to add their own stats... */ +Hook::run(HOOKTYPE_PRE_OVERVIEW_CARD, $array_of_stats); - $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_tkl_add($user, $bantype, $duration, $reason)) - { - $c = $nick['result']['client']; - Message::Success($c['name'] . " (*@".$c['hostname'].") has been $bantype" . "d $msg_msg: $reason"); - } - } - } +/* 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; - if (!empty($_POST['tklch'])) - foreach ($_POST as $key => $value) { - foreach ($value as $tok) { - $tok = explode(",", $tok); - if (rpc_tkl_del(base64_decode($tok[0]), base64_decode($tok[1]))) - Message::Success(base64_decode($tok[1])." has been removed for ".base64_decode($tok[0])); - } - } +$userlist = []; +Hook::run(HOOKTYPE_GET_USER_LIST, $userlist); +$num_of_panel_admins = count($userlist); - if (!empty($_POST['sf'])) - foreach ($_POST as $key => $value) { - foreach ($value as $tok) { - $tok = explode(",", $tok); - rpc_sf_del(base64_decode($tok[0]), base64_decode($tok[1]), base64_decode($tok[2]), base64_decode($tok[3])); - } - } -} - -rpc_pop_lists(); ?> + +
-
-
- - - - - - - - - -
Chat Overview
Users
Opers
Services
Most popular channel ( users)
Channels
Server bans
Spamfilter entries
- -
-
- - - - - - - -
Filter by: -
- Nick: - -
-
-
- Hostname: - -
-
-
- IP: - -
-
-
- Account: - -
-
- +
+
+
+
+
+ + user->record; ?> + +
+
+

user->total; ?>

+
+
+
+
+
+
+
Users Online
+
+ +
+
+
+ - if (isset($_POST['uf_account']) && strlen($_POST['uf_account'])) - Message::Info("Listing users which match account: \"" . $_POST['uf_account'] . "\""); +
+
+
+
+
+
+ +
+
+

channel->total; ?>

+
+
+
+
+
+
+
Channels
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+

user->oper; ?>

+
+
+
+
+
+
+
Opers
+
+ +
+
+
+
- ?> - - - - - - - - - - - - - - +
+
+
+
+ +
+
+

server->total; ?>

+
+
+
+
+
+
+
Servers
+
+ +
+
+
+ + + +
- /* Some basic filtering for NICK */ - if (isset($_POST['uf_nick']) && strlen($_POST['uf_nick']) && - strpos(strtolower($user->name), strtolower($_POST['uf_nick'])) !== 0 && - strpos(strtolower($user->name), strtolower($_POST['uf_nick'])) == false) - continue; +
+
+
+
+
+
+ +
+
+

server_ban->server_ban; ?>

+
+
+
+
+
+
+
Server Bans
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+

server_ban->spamfilter; ?>

+
+
+
+
+
+
+
Spamfilter
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+

server_ban->server_ban_exception; ?>

+
+
+
- /* 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; +
+
+
+
Server Ban Exceptions
+
+ +
+
+
+
+ server->ulined) { + $bg = "bg-success"; + $tooltip = "Users / Servers"; + } + else + $bg = "bg-warning"; + ?> +
+
+
+
+
+ +
+
+ +

user->ulined; ?>/server->ulined; ?>

+
+
+
+
+
+
+
Services Online
+
+ +
+
+ +
+
+
+
- /* 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; - echo ""; - echo ""; - $isBot = (strpos($user->user->modes, "B") !== false) ? ' Bot' : ""; - echo "'; - echo ""; - echo ""; - $account = (isset($user->user->account)) ? ''.$user->user->account.'' : 'None'; - echo ""; - $modes = (isset($user->user->modes)) ? "+" . $user->user->modes : ""; - echo ""; - $oper = (isset($user->user->operlogin)) ? ''.$user->user->operlogin."".$user->user->operclass."" : ""; - if (!strlen($oper)) - $oper = (strpos($user->user->modes, "S") !== false) ? 'Service' : ""; - echo ""; - $secure = (isset($user->tls)) ? "Secure" : "Insecure"; - echo ""; - echo ""; - echo ""; + + +
+
+
+
+
+
+
+ +
+
+

+
+
+
+
+
+
+
Panel Accounts
+
+ +
+
+
+
+
+
+ -
- - -
- - +require_once "inc/footer.php";
Select allNickUIDHost / IPAccountUsermodesℹ️OperSecureConnected toReputation ℹ️
".$user->name.$isBot.'".$user->id."".$user->hostname." (".$user->ip.")".$account."".$modes." ".$oper."".$secure."".$user->user->servername."".$user->user->reputation."