3
* EngineGP (https://enginegp.ru or https://enginegp.com)
5
* @copyright Copyright (c) 2018-present Solovev Sergei <inbox@seansolovev.ru>
7
* @link https://github.com/EngineGPDev/EngineGP for the canonical source repository
9
* @license https://github.com/EngineGPDev/EngineGP/blob/main/LICENSE MIT License
13
exit(header('Refresh: 0; URL=http://' . $_SERVER['HTTP_HOST'] . '/404'));
16
// Проверка на авторизацию
19
if (!$id and $user['group'] == 'user') {
20
$servers = $sql->query('SELECT `id` FROM `servers` WHERE `user`="' . $user['id'] . '" LIMIT 1');
21
$owners = $sql->query('SELECT `id` FROM `owners` WHERE `user`="' . $user['id'] . '" LIMIT 1');
23
if (!$sql->num($servers) and !$sql->num($owners)) {
24
sys::back($cfg['http'] . 'services');
25
} // Если нет игровых серверов отправить на страницу аренды
28
if ($id and !$section) {
32
$title = 'Управление игровыми серверами';
35
if (in_array($section, ['action', 'scan', 'index', 'console', 'settings', 'plugins', 'maps', 'owners', 'filetp', 'tarif', 'copy', 'graph', 'web', 'boost', 'rcon'])) {
37
sys::back($cfg['http'] . 'servers');
40
if ($user['group'] == 'admin' || ($user['group'] == 'support' and $user['level'])) {
41
if ($user['group'] == 'support' and $user['level'] < 2) {
42
$sql->query('SELECT `id` FROM `servers` WHERE `id`="' . $id . '" AND `user`="' . $user['id'] . '" LIMIT 1');
44
$sql->query('SELECT `id` FROM `help` WHERE `type`="server" AND `service`="' . $id . '" LIMIT 1');
46
$sql->query('SELECT `rights` FROM `owners` WHERE `server`="' . $id . '" AND `user`="' . $user['id'] . '" LIMIT 1');
48
sys::back($cfg['http'] . 'servers');
53
$rights = sys::b64djs($owner['rights']);
55
if ($section == 'action') {
56
if (!isset($rights[$url['action']]) || !$rights[$url['action']]) {
57
sys::outjs(['e' => 'У вас нет доступа к данному серверу']);
60
if (!in_array($section, ['index', 'scan']) and (!isset($rights[$section]) || !$rights[$section])) {
61
sys::back($cfg['http'] . 'servers');
68
$sql->query('SELECT `id` FROM `servers` WHERE `id`="' . $id . '" LIMIT 1');
70
$sql->query('SELECT `id` FROM `servers` WHERE `id`="' . $id . '" AND `user`="' . $user['id'] . '" LIMIT 1');
72
$sql->query('SELECT `rights` FROM `owners` WHERE `server`="' . $id . '" AND `user`="' . $user['id'] . '" LIMIT 1');
74
sys::back($cfg['http'] . 'servers');
79
$rights = sys::b64djs($owner['rights']);
81
if ($section == 'action') {
82
if (!isset($rights[$url['action']]) || !$rights[$url['action']]) {
83
sys::outjs(['e' => sys::text('error', 'ser_owner')]);
86
if (!in_array($section, ['index', 'scan']) and (!isset($rights[$section]) || !$rights[$section])) {
87
sys::back($cfg['http'] . 'servers/id/' . $owner['server']);
91
$sql->query('SELECT `id` FROM `servers` WHERE `id`="' . $id . '" LIMIT 1');
96
sys::back($cfg['http'] . 'servers');
97
} // Если нет игрового сервера отправить на страницу списка
99
$html->nav($title, $cfg['http'] . 'servers');
101
$file_section = file_exists(SEC . 'servers/' . $section . '.php');
103
include(SEC . 'servers/' . $section . '.php');
105
sys::back($cfg['http'] . 'servers/id/' . $id);
111
if ($user['group'] == 'user' and $mcache->get('servers_' . $user['id']) != '') {
112
$html->arr['main'] = $mcache->get('servers_' . $user['id']);
114
include(SEC . 'servers/list.php');
115
include(SEC . 'servers/owners_list.php');
117
$html->get('servers', 'sections/servers');
118
$html->set('list', $html->arr['list'] ?? 'У вас нет игровых серверов', true);
119
$html->set('wait_servers', $wait_servers);
120
$html->set('updates_servers', $updates_servers);
123
$mcache->set('servers_' . $user['id'], $html->arr['main'], false, 4);