From 205df0e285327dc1ab56d1661ffc46b9062efcfc Mon Sep 17 00:00:00 2001 From: ruan <2369127-ruany@users.noreply.gitlab.com> Date: Mon, 17 Aug 2020 08:37:54 +0200 Subject: [PATCH] Add options to show server scope/origin in info.php. Disable server scope column by default, since most people only use global bans. --- inc/settings.php | 6 ++++++ info.php | 24 ++++++++++++++---------- 2 files changed, 20 insertions(+), 10 deletions(-) diff --git a/inc/settings.php b/inc/settings.php index d93ccb1..5b397df 100644 --- a/inc/settings.php +++ b/inc/settings.php @@ -36,6 +36,12 @@ class Settings { // Show server origin column? $this->show_server_origin = false; + // Show server scope column in info.php? + $this->info_show_server_scope = false; + + // Show server origin column in info.php? + $this->info_show_server_origin = true; + // Show inactive bans? Removed bans will show (Unbanned), mutes will show (Unmuted), warnings will show (Expired). $this->show_inactive_bans = true; diff --git a/info.php b/info.php index 44496e7..1c3292b 100644 --- a/info.php +++ b/info.php @@ -48,19 +48,23 @@ abstract class Info { function moderator_avatar() { $row = $this->row; $banner_name = $this->page->get_banner_name($row); - return $this->page->get_avatar($banner_name, $row['banned_by_uuid'], true, $this->history_link($banner_name, $row['banned_by_uuid'], ":issued"), $name_left = false); + return $this->page->get_avatar($banner_name, $row['banned_by_uuid'], true, $this->history_link($banner_name, $row['banned_by_uuid'], ':issued'), $name_left = false); } function basic_info() { - return array( - "table.player" => function (Info $info) { return $info->punished_avatar(); }, - "table.executor" => function (Info $info) { return $info->moderator_avatar(); }, - "table.reason" => function (Info $info) { return $info->page->clean($info->row['reason']); }, - "table.date" => function (Info $info) { return $info->page->millis_to_date($info->row['time']); }, - "table.expires" => function (Info $info) { return $info->page->expiry($info->row); }, - "table.server.scope" => function (Info $info) { return $info->page->server($info->row); }, - "table.server.origin" => function (Info $info) { return $info->page->server($info->row, "server_origin"); }, + $settings = $this->page->settings; + $table = array( + 'table.player' => function (Info $info) { return $info->punished_avatar(); }, + 'table.executor' => function (Info $info) { return $info->moderator_avatar(); }, + 'table.reason' => function (Info $info) { return $info->page->clean($info->row['reason']); }, + 'table.date' => function (Info $info) { return $info->page->millis_to_date($info->row['time']); }, + 'table.expires' => function (Info $info) { return $info->page->expiry($info->row); }, + 'table.server.scope' => function (Info $info) { return $info->page->server($info->row); }, + 'table.server.origin' => function (Info $info) { return $info->page->server($info->row, "server_origin"); }, ); + if (!$settings->info_show_server_scope) unset($table['table.server.scope']); + if (!$settings->info_show_server_origin) unset($table['table.server.origin']); + return $table; } } @@ -73,7 +77,7 @@ class WarnInfo extends Info {} class KickInfo extends Info { function basic_info() { $array = parent::basic_info(); - unset($array["table.expires"]); // kicks do not expire + unset($array['table.expires']); // kicks do not expire return $array; } }