-
Notifications
You must be signed in to change notification settings - Fork 0
/
AJAXGetPropertyData.php
84 lines (64 loc) · 4.97 KB
/
AJAXGetPropertyData.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
<?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';
// Удалось ли подключиться к БД?
if (DBconnect::get() == FALSE) die('Ошибка подключения к базе данных (. Попробуйте зайти к нам немного позже.');
// TODO: Вернуть ошибку
// Инициализируем модель для запросившего страницу пользователя
$userIncoming = new UserIncoming();
// Уточняем - имеет ли пользователь права админа.
$isAdmin = $userIncoming->isAdmin();
// Проверяем, залогинен ли пользователь, если нет - то отказываем в доступе
if (!$userIncoming->login()) {
echo json_encode(array('access' => 'denied'));
}
/*************************************************************************************
* ПОЛУЧИМ POST ПАРАМЕТРЫ
************************************************************************************/
// Получаем идентификатор объекта недвижимости, контакты собственника которого интересуют пользователя
$propertyId = "";
if (isset($_POST['propertyId'])) $propertyId = intval(htmlspecialchars($_POST['propertyId'], ENT_QUOTES));
// Если в запросе не указан идентификатор объекта недвижимости, то отказываем в доступе
if ($propertyId == "" || $propertyId == 0) echo json_encode(array('access' => 'denied'));
/*************************************************************************************
* ИНИЦИАЛИЗАЦИЯ МОДЕЛИ ОБЪЕКТА НЕДВИЖИМОСТИ
*************************************************************************************/
$property = new Property($propertyId);
if (!$property->readCharacteristicFromDB()) echo json_encode(array('access' => 'denied'));
/*************************************************************************************
* ПРАВА ДОСТУПА
*************************************************************************************/
// Если объявление не опубликовано, то получить по нему контакты собственника нельзя
if ($property->getStatus() != "опубликовано") echo json_encode(array('access' => 'denied'));
$propertyData = $property->getCharacteristicData();
// Если у пользователя оплачен премиум-доступ, то вернем ему еще и источник объявления
if ($userIncoming->getReviewFull() >= time()) {
$sourceOfAdvert = $propertyData['sourceOfAdvert'];
} else {
$sourceOfAdvert = "";
}
//TODO: проверить чтобы время сравнивалось в одинаковом часовом поясе
/*************************************************************************************
* СОХРАНЯЕМ ИНФУ О ЗАПРОСЕ КОНТАКТОВ СОБСТВЕННИКА, ЕСЛИ РАНЕЕ НЕ СОХРАНЯЛИ
*************************************************************************************/
$existRequest = DBconnect::selectRequestForOwnerContactsForTenantAndProperty($userIncoming->getId(), $property->getId());
if (count($existRequest) == 0) DBconnect::insertRequestForOwnerContacts(array("tenantId" => $userIncoming->getId(), "propertyId" => $property->getId()));
/*************************************************************************************
* TODO: УЗНАЕМ ИМЯ И ОТЧЕСТВО СОБСТВЕННИКА
*************************************************************************************/
/*************************************************************************************
* ВОЗВРАЩАЕМ КОНТАКТЫ СОБСТВЕННИКА
*************************************************************************************/
echo json_encode(array('access' => 'successful', 'name' => '', 'secondName' => '', 'contactTelephonNumber' => "+7" . $propertyData['contactTelephonNumber'], 'sourceOfAdvert' => $sourceOfAdvert));
/********************************************************************************
* Закрываем соединение с БД
*******************************************************************************/
DBconnect::closeConnectToDB();