-
Notifications
You must be signed in to change notification settings - Fork 0
/
admin.php
129 lines (99 loc) · 4.54 KB
/
admin.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
<?php
error_reporting(E_ERROR);
require_once('functions/database.php');
require_once('functions/functions.php');
require_once('functions/access.php');
//подключение к БД
$link = startup();
//Определение текущего пользователя
$user = getCurrentUser($link);
//Определяем, может ли пользователь находиться в панели администратор
$canDoViewAdminPanel = canDo($link, $user, 'ADMIN_PANEL');
if (!$canDoViewAdminPanel) {
header('Location: index.php');
die('не положено!');
}
//Определяем, может ли пользователь добавлять записи
$canDoAdd = canDo($link, $user, 'ADD_ENTRY');
//Определяем, может ли пользователь делать импорт в БД файлов .cvs
$canDoImportInDb = canDo($link, $user, 'IMPORT_IN_DB');
//Определяем, может ли пользователь управлять пользователями (расширенный вариант)
$canDoSuperusersControl = canDo($link, $user, 'SUPERUSERS_CONTROL');
//Обработка правки сообщения дня
if ($_GET['action'] == 'edit') {
//проверка, есть ли права на правку сообщение дня
$canDoEditMotd = canDo($link, $user, 'EDIT_MOTD');
if (!$canDoEditMotd) {
header('Location: admin.php');
die();
} else {
//Вытаскивание сообщения дня
$motd = get_motd($link);
//Разбираем массив в переменные
$text = $motd['text'];
$autor = $motd['autor'];
$dt_modt = $motd['dt_motd'];
//Выводим в шаблоны
include_once('views/v-header.php');
include_once('views/v-menu.php');
include_once('views/v-motd.php');
include_once('views/v-footer.php');
die();
}
}
//обработка формы генерации сети
if ($_POST['markAddress'] && $_POST['network'] && $_POST['broadcast'] && $_POST['vlan'] && $_POST['termination']) {
if (networkGeneration($link, $user, $_POST['markAddress'], $_POST['network'], $_POST['broadcast'], $_POST['vlan'], $_POST['termination'], $_POST['gateway'])) {
header('Location: admin.php');
die();
}
}
//обработка формы смены терминации влана
if ($_POST['vlanNumber'] && $_POST['terminationPoint']) {
if (changeTerminationPoint($link, $user, $_POST['vlanNumber'], $_POST['terminationPoint'])) {
$_POST['vlanNumber'] = null;
$_POST['terminationPoint'] = null;
header('Location: admin.php');
die();
}
}
//вытаскиваем полное число записей из БД
$numEntriesAll = getEntriesAll($link);
//Запрашиваем залогиненных пользователей
$whoUsersOnline_arr = getWhoIsOnline($link);
$whoUsersOnline = $whoUsersOnline_arr[0];
$numOnlineUsers = $whoUsersOnline_arr[1];
//Вытаскиваем логи из БД
$logs = getLogs($link, logs);
//Форматирование вытащенных записей логов в удобный вид
$format_old_log = format_log($logs, 'entry_old_log', 10);
$format_new_log = format_new_log($logs, 'entry_new_log', 10);
//Создаем массив названий
$log_name = createLogName();
//Вытаскивание сообщения дня
$motd = get_motd($link);
//Получаем список пользователей
$users_arr = getUsers($link);
//Разбираем полученный массив
$users = $users_arr[0];
$numUsers = $users_arr[1];
//Достаем общее количество логов
$numLogs = getNumLogs($link);
//Вытаскиваем логи действий из БД
$logsAction = getLogs($link, logs_action);
//Узнаем количество логов действий:
$numLogsAction = count($logsAction);
//вычисляем количество отображаемых логов действий в админке
if($numLogsAction > 10) {
$numLogsActionInAdminPanel = 10;
} else {
$numLogsActionInAdminPanel = $numLogsAction;
}
//Устанавливаем значение радиоточки по умолчанию
$checkedAccessUser = 'checked';
//Выводим в шаблоны
include_once('views/v-header.php');
include_once('views/v-menu.php');
include_once('views/v-admin.php');
include_once('views/v-footer.php');
?>