X-Git-Url: https://jfr.im/git/irc/unrealircd/unrealircd-webpanel.git/blobdiff_plain/69f605afa25f16b74197422d771e147d4d1da0b5..ea90b321a4b3768028d841b307c362af97a5e6e1:/common.php diff --git a/common.php b/common.php index f28d8b9..ea488ea 100644 --- a/common.php +++ b/common.php @@ -1,38 +1,91 @@ ". + "If you already installed PHP8 but are still seeing this error, then it means ". + "apache/nginx/.. is loading an older PHP version. Eg. on Debian/Ubuntu you need ". + "apt-get install libapache2-mod-php8.2 (or a similar version) and ". + "apt-get remove libapache2-mod-php7.4 (or a similar version). ". + "You may also need to choose again the PHP module to load in apache via a2enmod php8.2"); + define('UPATH', dirname(__FILE__)); -require_once "config.php"; -if (!defined('BASE_URL')) die("You need to define BASE_URL in config.php (see config.php.sample for documentation)"); + +function get_config($setting) +{ + GLOBAL $config; + + $item = $config; + foreach(explode("::", $setting) as $x) + { + if (isset($item[$x])) + $item = $item[$x]; + else + return NULL; + } + return $item; +} + +/* Load config defaults */ +$config = Array(); +require_once UPATH . "/config/config.defaults.php"; + +if (!file_exists(UPATH."/config/config.php") && file_exists(UPATH."/config.php")) +{ + require_once UPATH . "/config.php"; + require_once UPATH . "/config/compat.php"; +} else { + require_once UPATH . "/config/config.php"; +} + +if (!get_config("base_url")) die("You need to define the base_url in config/config.php"); require_once "Classes/class-hook.php"; if (!is_dir(UPATH . "/vendor")) die("The vendor/ directory is missing. Most likely the admin forgot to run 'composer install'\n"); require_once UPATH . '/vendor/autoload.php'; -require_once "connection.php"; -require_once "misc/strings.php"; -require_once "misc/user-lookup-misc.php"; -require_once "Classes/class-log.php"; -require_once "Classes/class-message.php"; -require_once "Classes/class-rpc.php"; -require_once "plugins.php"; - -function show_nick_only($str) -{ - $x = strpos($str, "!"); - if ($x !== false) - $str = substr($str, 0, $x); - return $str; -} +require_once UPATH . "/Classes/class-cmodes.php"; +require_once UPATH . "/cfg/defines.php"; +require_once UPATH . "/misc/strings.php"; +require_once UPATH . "/misc/channel-lookup-misc.php"; +require_once UPATH . "/misc/user-lookup-misc.php"; +require_once UPATH . "/misc/server-lookup-misc.php"; +require_once UPATH . "/misc/ip-whois-misc.php"; +require_once UPATH . "/Classes/class-log.php"; +require_once UPATH . "/Classes/class-message.php"; +require_once UPATH . "/Classes/class-rpc.php"; +require_once UPATH . "/Classes/class-paneluser.php"; +require_once UPATH . "/plugins.php"; -$pages = Array( +$pages = [ "Overview" => "", "Users" => "users", "Channels" => "channels", "Servers" => "servers", - "Server Bans" => "server_bans.php", + "Server Bans" => [ + "Server Bans" => "server-bans", + "Name Bans" => "server-bans/name-bans.php", + "Ban Exceptions" => "server-bans/ban-exceptions.php" + ], "Spamfilter" => "spamfilter.php", - "News" => "news.php", -); + "Tools" => [ + "IP WHOIS" => "tools/ip-whois.php", + ], + "Settings" => [ + "Plugins" => "settings/plugins.php", + ], + + "News" => "news.php", +]; +if (is_auth_provided()) +{ + $pages["Settings"]["Panel Access"] = "settings"; + $user = unreal_get_current_user(); + if ($user) + { + /* Add logout page, if logged in */ + $pages["Logout"] = "login/?logout=true"; + } +} Hook::run(HOOKTYPE_NAVBAR, $pages); /* Example to add new menu item: