X-Git-Url: https://jfr.im/git/irc/unrealircd/unrealircd-webpanel.git/blobdiff_plain/43c591a45309605aae5eebe8b6b8ae6d1d65bcce..012e85f7cb694ceda9d9295a4e9a12ea9bc29469:/index.php diff --git a/index.php b/index.php index 02ea896..5706cc4 100644 --- a/index.php +++ b/index.php @@ -1,9 +1,10 @@ +UnrealIRCd Panel + - +
-

UnrealIRCd Administration Panel


-
+

UnrealIRCd Administration Panel

Overview @@ -11,24 +12,98 @@ Channels Server Bans Spamfilter + News
user()->get($user); + if (!$nick) + { + Message::Fail("Could not find that user. Maybe they disconnected after you clicked this?"); + return; + } + + $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"); + } + } + + if (!empty($_POST['sf'])) + foreach ($_POST as $key => $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"); + } + } +} + +rpc_pop_lists(); ?>
@@ -43,40 +118,170 @@ rpc_pop_lists(); // populate our static lists (users, channels, tkl, spamfilter) Server bans Spamfilter entries
- +
-

+ + + + + + + +
Filter by: +
+ Nick: + +
+
+
+ Hostname: + +
+
+
+ IP: + +
+
+
+ Account: + +
+
+ + - + - + + name), strtolower($_POST['uf_nick'])) !== 0 && + strpos(strtolower($user->name), strtolower($_POST['uf_nick'])) == false) + continue; + + /* 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; + echo ""; - echo ""; - echo ""; - echo ""; - $account = (isset($user['account'])) ? $user['account'] : ""; + 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'] : ""; + $modes = (isset($user->user->modes)) ? "+" . $user->user->modes : ""; echo ""; - $oper = (isset($user['user']['operlogin'])) ? $user['user']['operlogin']." (".$user['user']['operclass'].")" : ""; + $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 = (isset($user->tls)) ? "Secure" : "Insecure"; echo ""; - echo ""; - echo ""; + echo ""; + echo ""; } - ?>
Select all Nick UID Host / IP AccountUsermodesUsermodesℹ️ Oper Secure Connected toReputation ℹ️Reputation ℹ️
".$user['name']."".$user['id']."".$user['hostname']." (".$user['ip'].")".$user->name.$isBot.'".$user->id."".$user->hostname." (".$user->ip.")".$account."".$modes." ".$oper."".$secure."".$user['user']['servername']."".$user['user']['reputation']."".$user->user->servername."".$user->user->reputation."
+ ?> +
+ +
+
+ + + +
+
+ + + +
@@ -93,14 +298,14 @@ rpc_pop_lists(); // populate our static lists (users, channels, tkl, spamfilter) foreach(RPC_List::$channel as $channel) { echo ""; - echo "".$channel['name'].""; - echo "".$channel['creation_time'].""; - echo "".$channel['num_users'].""; - $topic = (isset($channel['topic'])) ? $channel['topic'] : ""; + echo "".$channel->name.""; + echo "".$channel->creation_time.""; + echo "".$channel->num_users.""; + $topic = (isset($channel->topic)) ? $channel->topic : ""; echo "".$topic.""; - $setby = (isset($channel['topic'])) ? "By ".$channel['topic_set_by'] .", at ".$channel['topic_set_at'] : ""; + $setby = (isset($channel->topic)) ? "By ".$channel->topic_set_by .", at ".$channel->topic_set_at : ""; echo "".$setby.""; - $modes = (isset($channel['modes'])) ? "+" . $channel['modes'] : ""; + $modes = (isset($channel->modes)) ? "+" . $channel->modes : ""; echo "".$modes.""; } ?>
@@ -108,8 +313,10 @@ rpc_pop_lists(); // populate our static lists (users, channels, tkl, spamfilter)
-

+ + + @@ -122,21 +329,24 @@ rpc_pop_lists(); // populate our static lists (users, channels, tkl, spamfilter) foreach(RPC_List::$tkl as $tkl) { echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; } - ?>
Select all Mask Type Set By
".$tkl['name']."".$tkl['type_string']."".$tkl['set_by']."".$tkl['set_at_string']."".$tkl['expire_at_string']."".$tkl['duration_string']."".$tkl['reason']."".$tkl->name."".$tkl->type_string."".$tkl->set_by."".$tkl->set_at_string."".$tkl->expire_at_string."".$tkl->duration_string."".$tkl->reason."
+ ?>

+ + @@ -153,17 +363,19 @@ rpc_pop_lists(); // populate our static lists (users, channels, tkl, spamfilter) foreach(RPC_List::$spamfilter as $sf) { echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - for ($i = 0, $targs = ""; ($c = $sf['spamfilter_targets'][$i]); $i++) + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + for ($i = 0, $targs = ""; $i < strlen($sf->spamfilter_targets); $i++) { + $c = $sf->spamfilter_targets[$i]; if ($c == "c") $targs .= "Channel, "; else if ($c == "p") @@ -186,15 +398,20 @@ rpc_pop_lists(); // populate our static lists (users, channels, tkl, spamfilter) $targs .= "MessageTag, "; else if ($c == "u") $targs .= "Usermask, "; - - $targs = rtrim($targs,", "); } + $targs = rtrim($targs,", "); echo ""; - echo ""; + echo ""; } - ?>
Select all Mask Type Set By
".$sf['name']."".$sf['type_string']."".$sf['set_by']."".$sf['set_at_string']."".$sf['expire_at_string']."".$sf['duration_string']."".$sf['match_type']."".$sf['ban_action']."".$sf['ban_duration_string']."".$sf->name."".$sf->type_string."".$sf->set_by."".$sf->set_at_string."".$sf->expire_at_string."".$sf->duration_string."".$sf->match_type."".$sf->ban_action."".$sf->ban_duration_string."".$targs."".$sf['reason']."".$sf->reason."
+ ?>

+ + + +
+
+ + +
- -