EngineGP

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

16
// Закрытие / Удаление вопроса
17
if (isset($url['action']) and in_array($url['action'], ['close', 'delete'])) {
18
    include(SEC . 'help/action/' . $url['action'] . '.php');
19
}
20

21
// Массив статусов вопроса
22
$status = [
23
    0 => 'Есть ответ',
24
    1 => 'Ожидается ответ',
25
    2 => 'Прочитан',
26
];
27

28
if (in_array($user['group'], ['admin', 'support'])) {
29
    $sql->query('SELECT `id` FROM `help` WHERE `close`="0"');
30
} else {
31
    $sql->query('SELECT `id` FROM `help` WHERE `user`="' . $user['id'] . '" AND `close`="0"');
32
}
33

34
$aPage = sys::page($page, $sql->num(), 20);
35

36
sys::page_gen($aPage['ceil'], $page, $aPage['page'], 'help/section/open');
37

38
if (in_array($user['group'], ['admin', 'support'])) {
39
    $helps = $sql->query('SELECT `id`, `user`, `type`, `service`, `status`, `date`, `time`, `title` FROM `help` WHERE `close`="0" ORDER BY `id` DESC LIMIT ' . $aPage['num'] . ', 20');
40
} else {
41
    $helps = $sql->query('SELECT `id`, `type`, `service`, `status`, `date`, `time`, `title` FROM `help` WHERE `user`="' . $user['id'] . '" AND `close`="0" ORDER BY `id` DESC LIMIT ' . $aPage['num'] . ', 20');
42
}
43

44
// Массив пользователей
45
$uArr = [];
46

47
while ($help = $sql->get($helps)) {
48
    // Создатель вопроса
49
    if (in_array($user['group'], ['admin', 'support']) and !isset($uArr[$help['user']])) {
50
        $sql->query('SELECT `login` FROM `users` WHERE `id`="' . $help['user'] . '" LIMIT 1');
51

52
        if (!$sql->num()) {
53
            $uArr[$help['user']] = 'Пользователь удален';
54
        } else {
55
            $us = $sql->get();
56
            $uArr[$help['user']] = $us['login'];
57
        }
58
    }
59

60
    // Краткая информация вопроса
61
    switch ($help['type']) {
62
        case 'server':
63
            $sql->query('SELECT `address` FROM `servers` WHERE `id`="' . $help['service'] . '" LIMIT 1');
64
            if (!$sql->num()) {
65
                $name = 'Игровой сервер: #' . $help['service'] . ' (не найден)';
66
            } else {
67
                $ser = $sql->get();
68
                $name = 'Игровой сервер: #' . $help['service'] . ' ' . $ser['address'];
69
            }
70

71
            break;
72

73
        case 'hosting':
74
            $name = 'Виртуальных хостинг: #' . $help['service'];
75

76
            break;
77

78
        default:
79
            $name = 'Вопрос без определенной услуги';
80
    }
81

82
    if (!empty($help['title'])) {
83
        $name = $help['title'];
84
    }
85

86
    $html->get('question', 'sections/help/open');
87

88
    $html->set('id', $help['id']);
89

90
    if (array_key_exists('user', $help)) {
91
        $html->set('uid', $help['user']);
92
        $html->set('login', $uArr[$help['user']]);
93
    }
94

95
    $html->set('name', $name);
96
    $html->set('status', $status[$help['status']]);
97
    $html->set('date', sys::today($help['date']));
98
    $html->set('time', sys::today($help['time']));
99

100
    $html->pack('question');
101
}
102

103
$html->get('open', 'sections/help');
104

105
$html->set('question', $html->arr['question'] ?? '');
106

107
$html->set('pages', $html->arr['pages'] ?? '');
108

109
$html->pack('main');
110

111
if (!in_array($user['group'], ['admin', 'support'])) {
112
    $html->unitall('user', 'main', 1);
113
    $html->unitall('support', 'main');
114
} else {
115
    $html->unitall('user', 'main');
116
    $html->unitall('support', 'main', 1);
117
}
118

119
if ($user['group'] == 'admin') {
120
    $html->unitall('admin', 'main', 1);
121
} else {
122
    $html->unitall('admin', 'main');
123
}
124

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

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

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

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