X-Git-Url: https://jfr.im/git/irc/unrealircd/unrealircd-webpanel.git/blobdiff_plain/062258ffca3e14131ac530492d36ea0b0430602f..3647054883c49ae06ddc04071ef8b2c7978e0453:/common.php
diff --git a/common.php b/common.php
index d134290..dced580 100644
--- a/common.php
+++ b/common.php
@@ -1,14 +1,66 @@
".
+ "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 UPATH . "/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;
+}
+
+function page_requires_no_config()
+{
+ if (str_ends_with($_SERVER['SCRIPT_FILENAME'],"install.php") ||
+ str_ends_with($_SERVER['SCRIPT_FILENAME'],"test_connection.php"))
+ {
+ return TRUE;
+ }
+ return FALSE;
+}
+
+
+/* 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
+if (page_requires_no_config())
+{
+ /* Allow empty conf */
+} 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 UPATH . "/Classes/class-cmodes.php";
require_once UPATH . "/cfg/defines.php";
-require_once UPATH . "/connection.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";
@@ -18,7 +70,7 @@ 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",
@@ -33,17 +85,23 @@ $pages = Array(
"IP WHOIS" => "tools/ip-whois.php",
],
"Settings" => [
- "Panel Users" => "settings",
"Plugins" => "settings/plugins.php",
],
- "News" => "news.php",
-);
-if (unreal_get_current_user())
+ "News" => "news.php",
+];
+
+if (is_auth_provided())
{
- $pages["Logout"] = "login/?logout=true";
-}
+ $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: