-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathforowner.php
85 lines (63 loc) · 4.7 KB
/
forowner.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/RequestFromOwner.php';
require_once $websiteRoot . '/views/View.php';
// Удалось ли подключиться к БД?
if (DBconnect::get() == FALSE) die('Ошибка подключения к базе данных (. Попробуйте зайти к нам немного позже.');
// Инициализируем модель для запросившего страницу пользователя
$userIncoming = new UserIncoming();
// Инициализируем модель для работ с запросом на новое объявление от собственника
$requestFromOwner = new RequestFromOwner($userIncoming);
// Инициализируем переменную для сохранения ошибок, связанных с обработкой заявки собственника (которые не позволили ее принять)
$errors = NULL;
/*************************************************************************************
* ПОЛУЧИМ GET ПАРАМЕТРЫ
* Для защиты от XSS атаки и для использования в коде более простого имени для переменной
************************************************************************************/
// Команда пользователя
$action = "";
if (isset($_GET['action'])) $action = htmlspecialchars($_GET['action'], ENT_QUOTES);
/********************************************************************************
* ЗАПРОС НА ПОДАЧУ ОБЪЯВЛЕНИЯ. Если пользователь отправил заполненную форму заявки на подачу объявления
*******************************************************************************/
if ($action == "takeRequest") {
$requestFromOwner->writeParamsFromPOST();
$errors = $requestFromOwner->requestFromOwnerDataValidate();
if (is_array($errors) && count($errors) == 0) {
// Сохраняем запрос собственника в БД
if ($requestFromOwner->saveParamsToDB()) {
$subject = 'Заявка от собственника: ' . $requestFromOwner->getName();
$msgHTML = "Поступила новая заявка от собственника:<br>
Дата: " . date('d.m.Y H:i') . "<br>
Кто: " . $requestFromOwner->getName() . "<br>
Адрес: " . $requestFromOwner->getAddress() . "<br>
<a href='http://svobodno.org/adminAllRequestsFromOwners.php'>Все заявки от собственников</a>";
GlobFunc::sendEmailToOperator($subject, $msgHTML);
} else {
// Сохранении данных в БД не прошло - заявка не принята
$errors[] = 'К сожалению, при сохранении данных произошла ошибка: попробуйте еще раз или сообщите нам о Вашей недвижимости по телефону: 8-922-179-59-07';
}
}
}
/********************************************************************************
* ФОРМИРОВАНИЕ ПРЕДСТАВЛЕНИЯ (View)
*******************************************************************************/
// Инициализируем используемые в шаблоне(ах) переменные
$isLoggedIn = $userIncoming->login(); // Используется в templ_header.php
$amountUnreadMessages = $userIncoming->getAmountUnreadMessages(); // Количество непрочитанных уведомлений пользователя
$requestFromOwnerData = $requestFromOwner->getRequestFromOwnerData();
//$errors
// Подсоединяем нужный основной шаблон
require $websiteRoot . "/templates/templ_forowner.php";
/********************************************************************************
* Закрываем соединение с БД
*******************************************************************************/
DBconnect::closeConnectToDB();