EngineGP

Форк
0
87 строк · 2.9 Кб
1
<?php
2
/*
3
 * EngineGP   (https://enginegp.ru or https://enginegp.com)
4
 *
5
 * @copyright Copyright (c) 2018-present Solovev Sergei <inbox@seansolovev.ru>
6
 *
7
 * @link      https://github.com/EngineGPDev/EngineGP for the canonical source repository
8
 *
9
 * @license   https://github.com/EngineGPDev/EngineGP/blob/main/LICENSE MIT License
10
 */
11

12
if (!defined('EGP')) {
13
    header('Refresh: 0; URL=http://' . $_SERVER['HTTP_HOST'] . '/404');
14
    exit();
15
}
16

17
// Получаем ID сервера
18
$id = intval($url['id']);
19

20
// Если ID пустой
21
if (empty($id)) {
22
    header('Refresh: 0; URL=' . $cfg['http'] . 'monitoring');
23
    exit();
24
}
25

26
// Meta Title страницы
27
$title = 'Мониторинг  | Сервер #' . $id;
28

29
// Навигация
30
$html->nav('Мониторинг', $cfg['http'] . 'monitoring');
31
$html->nav('Сервер #' . $id);
32

33
// Получаем информацию о сервере
34
$sql->query('SELECT `id`, `unit`, `tarif`, `address`, `port`, `name`, `map`, `slots_start`, `online`, `players`, `status`, `game`, `pack`, `date` FROM servers WHERE id ="' . $id . '" LIMIT 1');
35
$server = $sql->get();
36

37
// Если результат пустой
38
if (empty($server)) {
39
    header('Refresh: 0; URL=' . $cfg['http'] . 'monitoring');
40
    exit();
41
}
42

43
// Получаем название локации
44
$sql->query('SELECT name FROM units WHERE id = "' . $server['unit'] . '" LIMIT 1');
45
$unit = $sql->get();
46

47
// Получаем название тарифа и доступные сборки
48
$sql->query('SELECT name, packs FROM tarifs WHERE id = "' . $server['tarif'] . '" LIMIT 1');
49
$tarif = $sql->get();
50

51
// Получаем массив сборок
52
$aPacks = json_decode(base64_decode($tarif['packs']), true);
53

54
// Получаем ключ для графиков
55
$sql->query('SELECT `key` FROM graph WHERE server = "' . $id . '" LIMIT 1');
56

57
// Если ключ отсуствует, создаем
58
if (!$sql->num()) {
59

60
    // Генерируем ключ
61
    $key = md5($id . sys::key('graph'));
62

63
    // Добавляем в DB
64
    $sql->query('INSERT INTO graph SET `server` = "' . $id . '", `key` = "' . $key . '", `time` = 0');
65
} else {
66

67
    // Получаем ключ из бд
68
    $graph = $sql->get();
69
    $key = $graph['key'];
70
}
71

72
// Подготовка страницы
73
$html->get('server', 'sections/monitoring');
74
$html->set('id', $server['id']);
75
$html->set('key', $key);
76
$html->set('address', $server['address'] . ':' . $server['port']);
77
$html->set('name', $server['name']);
78
$html->set('map', $server['map']);
79
$html->set('slots', $server['slots_start']);
80
$html->set('online', $server['online']);
81
$html->set('players', base64_decode($server['players']));
82
$html->set('unit', $unit['name']);
83
$html->set('tarif', $tarif['name']);
84
$html->set('img', sys::status($server['status'], $server['game'], $server['map'], 'img'));
85
$html->set('pack', $aPacks[$server['pack']]);
86
$html->set('create', date("d.m.Y H:m", $server['date']));
87
$html->pack('main');
88

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.