]> jfr.im git - irc/unrealircd/unrealircd-webpanel.git/blame - common.php
Task 2 complete @syzop ! :D
[irc/unrealircd/unrealircd-webpanel.git] / common.php
CommitLineData
e98b5a51 1<?php
81fe28b9 2if (version_compare(PHP_VERSION, '8.0.0', '<'))
fcd08f14 3 die("This webserver is using PHP version ".PHP_VERSION." but we require at least PHP 8.0.0.<br>".
81fe28b9
BM
4 "If you already installed PHP8 but are still seeing this error, then it means ".
5 "apache/nginx/.. is loading an older PHP version. Eg. on Debian/Ubuntu you need ".
6 "<code>apt-get install libapache2-mod-php8.2</code> (or a similar version) and ".
7 "<code>apt-get remove libapache2-mod-php7.4</code> (or a similar version). ".
8 "You may also need to choose again the PHP module to load in apache via <code>a2enmod php8.2</code>");
9
e98b5a51 10define('UPATH', dirname(__FILE__));
ea90b321
BM
11
12function get_config($setting)
13{
14 GLOBAL $config;
15
16 $item = $config;
17 foreach(explode("::", $setting) as $x)
18 {
19 if (isset($item[$x]))
20 $item = $item[$x];
21 else
22 return NULL;
23 }
24 return $item;
25}
26
36470548
BM
27function page_requires_no_config()
28{
29 if (str_ends_with($_SERVER['SCRIPT_FILENAME'],"install.php") ||
2dbe2544 30 str_ends_with($_SERVER['SCRIPT_FILENAME'],"installation.php"))
36470548
BM
31 {
32 return TRUE;
33 }
34 return FALSE;
35}
36
37
ea90b321
BM
38/* Load config defaults */
39$config = Array();
40require_once UPATH . "/config/config.defaults.php";
41
42if (!file_exists(UPATH."/config/config.php") && file_exists(UPATH."/config.php"))
43{
44 require_once UPATH . "/config.php";
45 require_once UPATH . "/config/compat.php";
fc51fb47 46} else
36470548 47if (page_requires_no_config())
fc51fb47
BM
48{
49 /* Allow empty conf */
50} else
2dbe2544
VP
51if (!file_exists(UPATH."/config/config.php") && !file_exists(UPATH."/config.php"))
52{
53 header("Location: settings/install.php");
54 die();
55} else
fc51fb47 56{
ea90b321
BM
57 require_once UPATH . "/config/config.php";
58}
59
60if (!get_config("base_url")) die("You need to define the base_url in config/config.php");
55fd88eb 61require_once "Classes/class-hook.php";
c4f272ad
BM
62if (!is_dir(UPATH . "/vendor"))
63 die("The vendor/ directory is missing. Most likely the admin forgot to run 'composer install'\n");
e98b5a51 64require_once UPATH . '/vendor/autoload.php';
e92763ac 65require_once UPATH . "/Classes/class-cmodes.php";
d72d1923 66require_once UPATH . "/cfg/defines.php";
d72d1923 67require_once UPATH . "/misc/strings.php";
e92763ac 68require_once UPATH . "/misc/channel-lookup-misc.php";
d72d1923
VP
69require_once UPATH . "/misc/user-lookup-misc.php";
70require_once UPATH . "/misc/server-lookup-misc.php";
71require_once UPATH . "/misc/ip-whois-misc.php";
72require_once UPATH . "/Classes/class-log.php";
73require_once UPATH . "/Classes/class-message.php";
74require_once UPATH . "/Classes/class-rpc.php";
6930484c 75require_once UPATH . "/Classes/class-paneluser.php";
d72d1923 76require_once UPATH . "/plugins.php";
1e6ffd06 77
5a7f0cde 78$pages = [
69f605af
BM
79 "Overview" => "",
80 "Users" => "users",
81 "Channels" => "channels",
82 "Servers" => "servers",
d6f10d25
BM
83 "Server Bans" => [
84 "Server Bans" => "server-bans",
85 "Name Bans" => "server-bans/name-bans.php",
86 "Ban Exceptions" => "server-bans/ban-exceptions.php"
87 ],
69f605af 88 "Spamfilter" => "spamfilter.php",
d6f10d25
BM
89 "Tools" => [
90 "IP WHOIS" => "tools/ip-whois.php",
91 ],
92 "Settings" => [
93 "Plugins" => "settings/plugins.php",
94 ],
180b8ec1 95
c00c34d2 96 "News" => "news.php",
5a7f0cde 97];
c00c34d2
VP
98
99if (is_auth_provided())
180b8ec1 100{
6210ec48 101 $pages["Settings"]["Accounts"] = "settings";
90dc8f2b 102
c00c34d2
VP
103 $user = unreal_get_current_user();
104 if ($user)
105 {
106 /* Add logout page, if logged in */
107 $pages["Logout"] = "login/?logout=true";
108 }
109}
90dc8f2b
VP
110Hook::run(HOOKTYPE_NAVBAR, $pages);
111
112/* Example to add new menu item:
90dc8f2b
VP
113 *
114 * class MyPlugin
115 * {
116 *
55fd88eb
VP
117 * function __construct()
118 * {
119 * Hook::func(HOOKTYPE_NAVBAR, [$this, 'add_menu'])
120 * }
90dc8f2b 121 *
55fd88eb
VP
122 * function add_menu(&$pages) // this should pass by reference (using the & prefix)
123 * {
124 * $page_name = "My New Page";
125 * $page_link = "link/to/page.php";
126 * $pages[$page_name] = $page_link;
127 * }
90dc8f2b
VP
128 * }
129*/