EngineGP

Форк
0
/
graph.php 
73 строки · 2.0 Кб
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
    exit(header('Refresh: 0; URL=http://' . $_SERVER['HTTP_HOST'] . '/404'));
14
}
15

16
$key = $url['key'] ?? exit;
17

18
if (sys::valid($key, 'md5')) {
19
    exit;
20
}
21

22
$sql->query('SELECT `id`, `server`, `time` FROM `graph` WHERE `key`="' . $key . '" LIMIT 1');
23

24
if (!$sql->num()) {
25
    exit;
26
}
27

28
$graph = $sql->get();
29

30
if (isset($url['type'])) {
31
    include(DATA . 'graph.php');
32

33
    include(LIB . 'games/graph.php');
34

35
    $style = $url['style'] ?? 'default';
36

37
    if (!array_key_exists($style, $aStyle)) {
38
        $style = 'default';
39
    }
40

41
    $type = $url['type'] ?? 'first';
42

43
    if (!in_array($type, ['first', 'second'])) {
44
        $type = 'first';
45
    }
46

47
    // Выхлоп кеш баннера
48
    if (file_exists(TEMP . (md5($key . $style . $type)) . '.png') and $graph['time'] + 300 > $start_point) {
49
        header('Content-type: image/png');
50
        exit(file_get_contents(TEMP . (md5($key . $style . $type)) . '.png'));
51
    }
52

53
    $sql->query('SELECT `address`, `port`, `game`, `slots_start`, `online`, `status`, `name`, `map` FROM `servers` WHERE `id`="' . $graph['server'] . '" LIMIT 1');
54
    if (!$sql->num()) {
55
        exit;
56
    }
57

58
    $server = $sql->get();
59

60
    $aPoints = graph::online_day($graph['server'], $server['slots_start']);
61

62
    // Обновление баннеров
63
    foreach ($aStyle as $name => $styles) {
64
        graph::first($server, $aPoints, $aStyle, $name, $key);
65
        graph::second($server, $aPoints, $aStyle, $name, $key);
66
    }
67

68
    // Обновление данных
69
    $sql->query('UPDATE `graph` set `time`="' . $start_point . '" WHERE `id`="' . $graph['id'] . '" LIMIT 1');
70

71
    header('Content-type: image/png');
72
    exit(file_get_contents(TEMP . (md5($key . $style . $type)) . '.png'));
73
}
74

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

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

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

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