-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathadminpanel.php
85 lines (67 loc) · 4.26 KB
/
adminpanel.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
<?php
// Стартуем сессию с пользователем - сделать доступными переменные сессии
session_start();
// Подключаем нужные модели и представления
$websiteRoot = $_SERVER['DOCUMENT_ROOT'];
require_once $websiteRoot . '/models/DBconnect.php';
require_once $websiteRoot . '/models/GlobFunc.php';
require_once $websiteRoot . '/models/Logger.php';
require_once $websiteRoot . '/models/User.php';
require_once $websiteRoot . '/models/UserIncoming.php';
require_once $websiteRoot . '/models/Property.php';
require_once $websiteRoot . '/views/View.php';
// Удалось ли подключиться к БД?
if (DBconnect::get() == FALSE) die('Ошибка подключения к базе данных (. Попробуйте зайти к нам немного позже.');
// Инициализируем модель для запросившего страницу пользователя
$userIncoming = new UserIncoming();
// Уточняем - имеет ли пользователь права админа.
$isAdmin = $userIncoming->isAdmin();
/*************************************************************************************
* ПОЛУЧИМ GET ПАРАМЕТРЫ
* Для защиты от XSS атаки и для использования в коде более простого имени для переменной
************************************************************************************/
// Команда пользователя
$action = "";
if (isset($_GET['action'])) $action = htmlspecialchars($_GET['action'], ENT_QUOTES);
/*************************************************************************************
* ПРОВЕРКА ПРАВ ДОСТУПА К СТРАНИЦЕ
************************************************************************************/
// Если пользователь не авторизирован, то пересылаем юзера на страницу авторизации
if (!$userIncoming->login()) {
header('Location: login.php');
exit();
}
// Если пользователь не является администратором, то доступ к странице ему запрещен - разавторизуем его и перекинем на главную (в идеале нужно перекидывать на login.php)
if (!$isAdmin['newOwner'] && !$isAdmin['newAdvertAlien'] && !$isAdmin['searchUser']) {
header('Location: out.php');
exit();
}
/*************************************************************************************
* НОВЫЙ СОБСТВЕННИК: регистрация пользователя
************************************************************************************/
if ($action == "registrationNewOwner") {
// Сначала "разавторизовываем" пользователя
if (!isset($_SESSION)) {
session_start();
}
unset($_SESSION['id']); //удаляем переменную сессии
$_SESSION = array();
session_unset();
session_destroy();
SetCookie("login", "", time() - 3600, '/'); //удаляем cookie с логином
SetCookie("password", "", time() - 3600, '/'); //удаляем cookie с паролем
// Затем перекидываем его на страницу регистрации собственника
header("Location: registration.php?typeOwner=true");
exit();
}
/********************************************************************************
* ФОРМИРОВАНИЕ ПРЕДСТАВЛЕНИЯ (View)
*******************************************************************************/
// Инициализируем используемые в шаблоне(ах) переменные
//$isAdmin
// Подсоединяем нужный основной шаблон
require $websiteRoot . "/templates/adminTemplates/templ_adminpanel.php";
/********************************************************************************
* Закрываем соединение с БД
*******************************************************************************/
DBconnect::closeConnectToDB();