Joywork/ajax/vue_ajax/complex_axios.php
2026-05-22 21:21:54 +03:00

1929 lines
52 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
header("Access-Control-Allow-Origin: *");
require_once($_SERVER['DOCUMENT_ROOT']."/ajax/vue_php_function.php");
// error_reporting(E_ALL | E_STRICT);
// ini_set('display_errors', 1);
$data = json_decode(file_get_contents("php://input"));
$request = $data->request;
header('Access-Control-Allow-Credentials: true');
header('Access-Control-Max-Age: 0');
header('Access-Control-Allow-Methods: GET, POST, PUT, DELETE, PATCH, OPTIONS');
header('Access-Control-Allow-Headers: X-Debug, X-Requested-With, Content-Type, Accept, Origin, Authorization, Access-Token');
header('Access-Control-Expose-Headers: Authorization, Access-Token');
header('Content-Type: application/json');
if (isset($_POST['request']) && $_POST['request'] == 'create_requisition') {
// var_dump($_POST);die;
// $token = $_POST['token'];
// $full_name = $_POST['full_name'];
// $phone_number = $_POST['phone_number'];
// $request = $_POST['request'];
// $user_id = $_POST['user_id'];
$data = $_POST;
$complex = new Complex();
$complex->create_frame_requisition($data);
echo json_encode(['status' => true, 'message' => 'Заявка создана'], JSON_UNESCAPED_UNICODE);
exit;
}
if(isset($_POST['request']) && $_POST['request'] == 'create_import') {
$user_id = 0;
if(isset($_POST['user_id'])){
$user_id = (int)$_POST['user_id'];
}
$complex = new Complex();
if($user_id > 0){
$complex->set_user_id($user_id);
}
if (isset($_FILES['document'])) {
$document = $_FILES['document'];
} else {
if (isset($_POST['import_url'])) {
$content = file_get_contents($_POST['import_url']);
$filename = basename($_POST['import_url']);
$temp_name = tempnam(sys_get_temp_dir(), 'tmp-document');
file_put_contents($temp_name, $content);
$document = [
'name' => $filename,
'tmp_name' => $temp_name
];
}
}
if (!empty($document)) {
$urls = $complex->createImport($document);
echo json_encode($urls, JSON_UNESCAPED_UNICODE);
exit;
}
echo json_encode(['status' => false, 'message' => 'Document required'], JSON_UNESCAPED_UNICODE);
exit;
}
if ($request == 'update_house_import') {
$user_id = 0;
if(isset($data->user_id)){
$user_id = (int)$data->user_id;
}
$complex = new Complex();
if($user_id > 0){
$complex->set_user_id($user_id);
}
$import_id = (int)$data->import_id;
$fields = (array)$data->fields;
$result = $complex->updateImportHouse($fields, $import_id);
echo json_encode($result, JSON_UNESCAPED_UNICODE);
exit;
}
if ($request == 'start_house_import') {
$user_id = 0;
if(isset($data->user_id)){
$user_id = (int)$data->user_id;
}
$complex = new Complex();
if($user_id > 0){
$complex->set_user_id($user_id);
}
$import_id = (int)$data->import_id;
$result = $complex->startImportHouse($import_id);
echo json_encode($result, JSON_UNESCAPED_UNICODE);
exit;
}
if ($request == 'get_house_import') {
$user_id = 0;
if(isset($data->user_id)){
$user_id = (int)$data->user_id;
}
$complex = new Complex();
if($user_id > 0){
$complex->set_user_id($user_id);
}
$import_id = (int)$data->import_id;
$result = $complex->getImportHouse($import_id);
echo json_encode($result, JSON_UNESCAPED_UNICODE);
exit;
}
if ($request == 'download_house') {
$user_id = 0;
if(isset($data->user_id)){
$user_id = (int)$data->user_id;
}
$complex = new Complex();
if($user_id > 0){
$complex->set_user_id($user_id);
}
$house_id = (int)$data->house_id;
$complex_name = $data->complex_name;
// Генерируем Excel и сразу отдаем
$complex->downloadHouse($house_id, $complex_name);
}
if ($request == 'get_house_import_status') {
$user_id = 0;
if(isset($data->user_id)){
$user_id = (int)$data->user_id;
}
$complex = new Complex();
if($user_id > 0){
$complex->set_user_id($user_id);
}
$import_id = (int)$data->import_id;
$result = $complex->getImportHouseStatus($import_id);
echo json_encode($result, JSON_UNESCAPED_UNICODE);
exit;
}
if ($_POST['request'] == 'add_photos_to_complex') {
$complex = new Complex();
$complex_id = $_POST['complex_id'];
$input_photos = $_FILES['photos'];
$photos = [];
if (!empty($input_photos)) {
foreach ($input_photos['name'] as $index => $value) {
$photos[] = [
'name' => $value,
'tmp_name' => $input_photos['tmp_name'][$index],
'type' => $input_photos['type'][$index],
'error' => $input_photos['error'][$index],
'size' => $input_photos['size'][$index],
];
}
}
$urls = $complex->addPhotoToComplex($photos, $complex_id);
echo json_encode($urls, JSON_UNESCAPED_UNICODE);
exit;
}
if ($_POST['request'] == 'add_photos_to_house') {
$complex = new Complex();
$house_id = $_POST['house_id'];
$input_photos = $_FILES['photos'];
$photos = [];
if (!empty($input_photos)) {
foreach ($input_photos['name'] as $index => $value) {
$photos[] = [
'name' => $value,
'tmp_name' => $input_photos['tmp_name'][$index],
'type' => $input_photos['type'][$index],
'error' => $input_photos['error'][$index],
'size' => $input_photos['size'][$index],
];
}
}
$urls = $complex->addPhotosToHouse($photos, $house_id);
echo json_encode($urls, JSON_UNESCAPED_UNICODE);
exit;
}
if ($_POST['request'] == 'save_house_utp') {
$complex = new Complex();
$house_id = $_POST['house_id'];
$desc = $_POST['desc'];
$id = isset($_POST['id']) ? $_POST['id'] : null;
$title = $_POST['title'];
$input_photo = isset($_FILES['photo']) ? $_FILES['photo'] : null;
if (!empty($input_photo)) {
$photo = [
'name' => $input_photo['name'],
'tmp_name' => $input_photo['tmp_name'],
'type' => $input_photo['type'],
'error' => $input_photo['error'],
'size' => $input_photo['size']
];
} else {
$photo = null;
}
$urls = $complex->saveHouseUTP($house_id, $desc, $id, $title, $photo);
echo json_encode($urls, JSON_UNESCAPED_UNICODE);
exit;
}
if ($_POST['request'] == 'save_house_decoration') {
$complex = new Complex();
$house_id = $_POST['house_id'];
$desc = $_POST['desc'];
$id = isset($_POST['id']) ? $_POST['id'] : null;
$decorationId = $_POST['decoration_id'];
$input_photo = isset($_FILES['photo']) ? $_FILES['photo'] : null;
$input_photo2 = isset($_FILES['photo2']) ? $_FILES['photo2'] : null;
$input_photo3 = isset($_FILES['photo3']) ? $_FILES['photo3'] : null;
$input_photo4 = isset($_FILES['photo4']) ? $_FILES['photo4'] : null;
$input_photo5 = isset($_FILES['photo5']) ? $_FILES['photo5'] : null;
if (!empty($input_photo)) {
$photo = [
'name' => $input_photo['name'],
'tmp_name' => $input_photo['tmp_name'],
'type' => $input_photo['type'],
'error' => $input_photo['error'],
'size' => $input_photo['size']
];
} else {
$photo = $_POST['photo'];
}
if (!empty($input_photo2)) {
$photo2 = [
'name' => $input_photo2['name'],
'tmp_name' => $input_photo2['tmp_name'],
'type' => $input_photo2['type'],
'error' => $input_photo2['error'],
'size' => $input_photo2['size']
];
} else {
$photo2 = $_POST['photo2'];
}
if (!empty($input_photo3)) {
$photo3 = [
'name' => $input_photo3['name'],
'tmp_name' => $input_photo3['tmp_name'],
'type' => $input_photo3['type'],
'error' => $input_photo3['error'],
'size' => $input_photo3['size']
];
} else {
$photo3 = $_POST['photo3'];
}
if (!empty($input_photo4)) {
$photo4 = [
'name' => $input_photo4['name'],
'tmp_name' => $input_photo4['tmp_name'],
'type' => $input_photo4['type'],
'error' => $input_photo4['error'],
'size' => $input_photo4['size']
];
} else {
$photo4 = $_POST['photo4'];
}
if (!empty($input_photo5)) {
$photo5 = [
'name' => $input_photo5['name'],
'tmp_name' => $input_photo5['tmp_name'],
'type' => $input_photo5['type'],
'error' => $input_photo5['error'],
'size' => $input_photo5['size']
];
} else {
$photo5 = $_POST['photo5'];
}
$urls = $complex->saveHouseDecoration($house_id, $desc, $id, $decorationId, $photo, $photo2, $photo3, $photo4, $photo5);
echo json_encode($urls, JSON_UNESCAPED_UNICODE);
exit;
}
if ($_POST['request'] == 'add_plan_to_house') {
$complex = new Complex();
$house_id = $_POST['house_id'];
$position = $_POST['position'];
$input_photos = $_FILES['photos'];
$photos = [];
if (!empty($input_photos)) {
foreach ($input_photos['name'] as $index => $value) {
$photos[] = [
'name' => $value,
'tmp_name' => $input_photos['tmp_name'][$index],
'type' => $input_photos['type'][$index],
'error' => $input_photos['error'][$index],
'size' => $input_photos['size'][$index],
];
}
}
$urls = $complex->addPlanToHouse($house_id, $photos, $position);
echo json_encode($urls, JSON_UNESCAPED_UNICODE);
exit;
}
if ($request == 'get_media_entrances') {
$house_id = (int)$data->house_id;
$includes = (array)$data->includes;
$user_id = 0;
$has_token = false;
if (isset($data->token)) {
$token = trim($data->token);
$has_token = true;
$complex = new Complex();
$accessData = $complex->get_frame_access($token);
if (!empty($accessData['access']) && isset($accessData['agency_id'])) {
$user_id = (int)$accessData['agency_id'];
} else {
http_response_code(403);
echo json_encode([
'error' => 'Access denied or invalid token',
'token' => $token
], JSON_UNESCAPED_UNICODE);
exit;
}
}else if(isset($data->user_id)){
$user_id = (int)$data->user_id;
}
$complex = new Complex();
if($user_id > 0){
$complex->set_user_id($user_id);
}
$result = $complex->get_media_entrances($house_id);
echo json_encode($result, JSON_UNESCAPED_UNICODE);
exit;
}
if ($_POST['request'] == 'save_complex_action') {
$complex = new Complex();
$complex_id = $_POST['complex_id'];
$desc = $_POST['desc'];
$id = isset($_POST['id']) ? $_POST['id'] : null;
$name = $_POST['name'];
$input_photo = isset($_FILES['image']) ? $_FILES['image'] : null;
if (!empty($input_photo)) {
$photo = [
'name' => $input_photo['name'],
'tmp_name' => $input_photo['tmp_name'],
'type' => $input_photo['type'],
'error' => $input_photo['error'],
'size' => $input_photo['size']
];
} else {
$photo = null;
}
$response = $complex->saveComplexAction($name, $desc, $photo, '', $id, $complex_id);
echo json_encode($response, JSON_UNESCAPED_UNICODE);
exit;
}
if ($_POST['request'] == 'add_floor_plan_to_house') {
$complex = new Complex();
$house_id = $_POST['house_id'];
$input_photo = $_FILES['photo'];
if (!empty($input_photo)) {
$photo = [
'name' => $input_photo['name'],
'tmp_name' => $input_photo['tmp_name'],
'type' => $input_photo['type'],
'error' => $input_photo['error'],
'size' => $input_photo['size']
];
$urls = $complex->addFloorPlanToHouse($house_id, $photo);
echo json_encode($urls, JSON_UNESCAPED_UNICODE);
exit;
}
echo json_encode(['status' => true], JSON_UNESCAPED_UNICODE);
exit;
}
if ($request == 'delete_house_plans') {
$complex = new Complex();
$plan_ids = (array)$data->plan_ids;
$result = $complex->deleteHousePlans($plan_ids);
echo json_encode($result, JSON_UNESCAPED_UNICODE);
exit;
}
if ($request == 'delete_house_utp') {
$complex = new Complex();
$id = (int)$data->id;
$result = $complex->deleteHouseUTP($id);
echo json_encode($result, JSON_UNESCAPED_UNICODE);
exit;
}
if ($request == 'delete_house_decoration') {
$complex = new Complex();
$id = (int)$data->id;
$result = $complex->deleteHouseDecoration($id);
echo json_encode($result, JSON_UNESCAPED_UNICODE);
exit;
}
if ($request == 'delete_complex_action') {
$complex = new Complex();
$id = (int)$data->id;
$result = $complex->deletecComplesAction($id);
echo json_encode($result, JSON_UNESCAPED_UNICODE);
exit;
}
if ($request == 'delete_house_photo') {
$complex = new Complex();
$photo_id = (int)$data->photo_id;
$result = $complex->deleteHousePhoto($photo_id);
echo json_encode($result, JSON_UNESCAPED_UNICODE);
exit;
}
if ($request == 'delete_complex_photo') {
$complex = new Complex();
$photo_id = (int)$data->photo_id;
$result = $complex->deleteComplexPhoto($photo_id);
echo json_encode($result, JSON_UNESCAPED_UNICODE);
exit;
}
if ($_POST['request'] == 'update_complex_photo') {
$complex = new Complex();
$photo_id = $_POST['photo_id'];
$input_photo = $_FILES['photo'];
$photos = [];
$result = [];
if ($input_photo) {
$photo = [
'name' => $input_photo['name'],
'tmp_name' => $input_photo['tmp_name'],
'type' => $input_photo['type'],
'error' => $input_photo['error'],
'size' => $input_photo['size'],
];
$result = $complex->updateComplexPhoto($photo, $photo_id);
} else {
$result = ['status' => false, 'message' => 'Photo not found'];
}
echo json_encode($result, JSON_UNESCAPED_UNICODE);
exit;
}
if ($_POST['request'] == 'add_photos_to_room_plan') {
$complex = new Complex();
$plan_id = $_POST['plan_id'];
$position = $_POST['position'];
$input_photos = $_FILES['photos'];
$photos = [];
if (!empty($input_photos)) {
foreach ($input_photos['name'] as $index => $value) {
$photos[] = [
'name' => $value,
'tmp_name' => $input_photos['tmp_name'][$index],
'type' => $input_photos['type'][$index],
'error' => $input_photos['error'][$index],
'size' => $input_photos['size'][$index],
];
}
}
$urls = $complex->addPhotosToRoomPlan($photos, $plan_id, $position);
echo json_encode($urls, JSON_UNESCAPED_UNICODE);
exit;
}
if ($_POST['request'] == 'update_photo_floor_plan') {
$complex = new Complex();
$floor_plan_id = $_POST['floor_plan_id'];
$input_photo = $_FILES['photo'];
if (!empty($input_photo)) {
$photo = [
'name' => $input_photo['name'],
'tmp_name' => $input_photo['tmp_name'],
'type' => $input_photo['type'],
'error' => $input_photo['error'],
'size' => $input_photo['size'],
];
}
$complex->deletePhotoFloorPlan($floor_plan_id);
$photo = $complex->addPhotoToFloorPlan($photo, $floor_plan_id);
echo json_encode($photo, JSON_UNESCAPED_UNICODE);
exit;
}
if ($request == 'update_plan_photo_position') {
$complex = new Complex();
$image_id = $data->image_id;
$position = $data->position;
$result = $complex->updatePlanPhotoPosition($image_id, $position);
echo json_encode($result, JSON_UNESCAPED_UNICODE);
exit;
}
if ($request == 'delete_photo_from_room_plan') {
$complex = new Complex();
$photo_id = (int)$data->photo_id;
$result = $complex->deletePhotoFromRoomPlan($photo_id);
echo json_encode($result, JSON_UNESCAPED_UNICODE);
exit;
}
if ($request == 'update_house_plans') {
$complex = new Complex();
$plan_ids = (array)$data->plan_ids;
$fields = (array)$data->fields;
$result = $complex->updateHousePlans($plan_ids, $fields);
echo json_encode($result, JSON_UNESCAPED_UNICODE);
exit;
}
if ($request == 'update_house_floor_plans') {
$complex = new Complex();
$plan_ids = (array)$data->plan_ids;
$floor_ids = (array)$data->floor_ids;
$fields = (array)$data->fields;
$use_bulk = (bool)$data->use_bulk;
$result = $complex->updateHouseFloorPlans($plan_ids, $floor_ids, $fields, $use_bulk);
echo json_encode($result, JSON_UNESCAPED_UNICODE);
exit;
}
//Типы комплексов
if($request == 'get_types_complex') {
$complex = new Complex();
$types = $complex->get_types_complex();
echo json_encode($types, JSON_UNESCAPED_UNICODE);
exit;
}
//Страны
if($request == 'get_country'){
$complex = new Complex();
$country = $complex -> get_country();
echo json_encode($country, JSON_UNESCAPED_UNICODE);
exit;
}
//Регионы
if($request == 'get_rf_regions') {
$user_id = 0;
if(isset($data->user_id)){
$user_id = (int)$data->user_id;
}
$complex = new Complex();
if($user_id > 0){
$complex->set_user_id($user_id);
}
$rf_regions = $complex->get_rf_regions();
echo json_encode($rf_regions, JSON_UNESCAPED_UNICODE);
exit;
}
//Метро
if($request == 'get_metro') {
$region_id = $data->region_id;
$complex = new Complex();
$metro_list = $complex->get_metro($region_id);
echo json_encode($metro_list, JSON_UNESCAPED_UNICODE);
exit;
}
//ЖК новостройки
if($request == 'get_blocks'){
$complex = new Complex();
$result = $complex->get_blocks();
echo json_encode($result, JSON_UNESCAPED_UNICODE);
exit;
}
//Преобразование нового корпуса
if($request == 'convert_corpus') {
$complex = new Complex();
$corpus = $data->corpus;
$deadline = $data->deadline;
$corpus_id = $data->corpus_id;
$corpus_floors = (int)$data->corpus_floors;
$corpus_floors_ready = (int)$data->corpus_floors_ready;
$corpus_fz_214 = (int)$data->corpus_fz_214;
$corpus_status = $data->corpus_status;
$result = $complex->corpus_convert($corpus, $deadline, $corpus_id, $corpus_floors, $corpus_floors_ready, $corpus_fz_214, $corpus_status);
echo json_encode($result, JSON_UNESCAPED_UNICODE);
exit;
}
//Список застройщиков
if($request == 'get_builders'){
$agency_id = null;
if(isset($data->agency_id)){
$agency_id = (int)$data->agency_id;
}
$complex = new Complex();
$result = $complex->get_builder_list($agency_id);
echo json_encode($result, JSON_UNESCAPED_UNICODE);
exit;
}
//Добавить застройщика
if($request == 'add_builder'){
$name = $data->name;
$phone = $data->phone;
$link = $data->link;
$complex = new Complex();
$result = $complex->addBuilder($name, $phone, $link);
echo json_encode($result, JSON_UNESCAPED_UNICODE);
exit;
}
//Фото ЖК
if($request == 'get_photos'){
$block_id = (int)$data->block_id;
$complex = new Complex();
$result = $complex->getPhotos($block_id);
echo json_encode($result, JSON_UNESCAPED_UNICODE);
exit;
}
//Типы оплат
if($request == 'get_payment_types') {
$complex = new Complex();
$types = $complex->get_payment_types();
echo json_encode($types, JSON_UNESCAPED_UNICODE);
exit;
}
//Типы отделок
if($request == 'get_deсoration_types') {
$result = array();
$complex = new Complex();
$types = $complex->get_decarations();
if(isset($types['options'])){
$result = $types['options'];
}
echo json_encode($result, JSON_UNESCAPED_UNICODE);
exit;
}
//Классы жилья
if($request == 'get_housing_class') {
$complex = new Complex();
$types = $complex->get_housing_class();
echo json_encode($types, JSON_UNESCAPED_UNICODE);
exit;
}
//Отделка
if($request == 'get_decorations'){
$complex = new Complex();
$decorations = $complex->get_decorations();
echo json_encode($decorations, JSON_UNESCAPED_UNICODE);
exit;
}
if($request == 'get_payment_types_list'){
$complex = new Complex();
$paymentTypesList = $complex->get_payment_types_list();
echo json_encode($paymentTypesList, JSON_UNESCAPED_UNICODE);
exit;
}
if($request == 'get_windows_placements'){
$complex = new Complex();
$windows_placements = $complex->get_windows_placements();
echo json_encode($windows_placements, JSON_UNESCAPED_UNICODE);
exit;
}
//Типы домов
if($request == 'get_house_types'){
$complex = new Complex();
$house_types = $complex->get_house_types();
echo json_encode($house_types, JSON_UNESCAPED_UNICODE);
exit;
}
//Материалы домов
if($request == 'get_house_material'){
$complex = new Complex();
$house_material = $complex->get_house_material();
echo json_encode($house_material, JSON_UNESCAPED_UNICODE);
exit;
}
if($request == 'get_house_plans') {
$house_id = (int)$data->house_id;
$has_token = false;
if (isset($data->token)) {
$has_token = true;
}
$complex = new Complex();
$house_plans = $complex->get_house_plans($house_id, $has_token);
echo json_encode($house_plans, JSON_UNESCAPED_UNICODE);
exit;
}
if($request == 'get_entrances_floor_plans') {
$user_id = 0;
$has_token = false;
if (isset($data->token)) {
$token = trim($data->token);
$has_token = true;
$complex = new Complex();
$accessData = $complex->get_frame_access($token);
if (!empty($accessData['access']) && isset($accessData['agency_id'])) {
$user_id = (int)$accessData['agency_id'];
} else {
http_response_code(403);
echo json_encode([
'error' => 'Access denied or invalid token',
'token' => $token
], JSON_UNESCAPED_UNICODE);
exit;
}
}else if(isset($data->user_id)){
$user_id = (int)$data->user_id;
}
$complex = new Complex();
if($user_id > 0){
$complex->set_user_id($user_id);
}
$house_id = (int)$data->house_id;
$entrances = $complex->get_entrances_floor_plans($house_id, $has_token);
echo json_encode($entrances, JSON_UNESCAPED_UNICODE);
exit;
}
if($request == 'get_house_floors_plans') {
$house_id = (int)$data->house_id;
$complex = new Complex();
$house_floor_plans = $complex->get_house_floors_plans($house_id);
echo json_encode($house_floor_plans, JSON_UNESCAPED_UNICODE);
exit;
}
if($request == 'get_floor_plan') {
$floor_plan_id = (int)$data->floor_plan_id;
$complex = new Complex();
$floor_plan = $complex->get_floor_plan($floor_plan_id);
echo json_encode($floor_plan, JSON_UNESCAPED_UNICODE);
exit;
}
// FACADES
if ($_POST['request'] == 'add_facade_to_house') {
$complex = new Complex();
$house_id = $_POST['house_id'];
$position = $_POST['position'];
$hover_color = $_POST['hover_color'];
$opacity = $_POST['opacity'];
$input_photo = $_FILES['photo'];
if (!empty($input_photo)) {
$photo = [
'name' => $input_photo['name'],
'tmp_name' => $input_photo['tmp_name'],
'type' => $input_photo['type'],
'error' => $input_photo['error'],
'size' => $input_photo['size']
];
$urls = $complex->addFacadeToHouse($house_id, $photo, $position, $hover_color, $opacity);
echo json_encode($urls, JSON_UNESCAPED_UNICODE);
exit;
}
echo json_encode(['status' => false], JSON_UNESCAPED_UNICODE);
exit;
}
if ($request == 'add_facade_figure') {
$complex = new Complex();
$facade_id = (int)$data->facade_id;
$points = (array)$data->points;
$result = $complex->addFacadeFigure($facade_id, $points);
echo json_encode($result, JSON_UNESCAPED_UNICODE);
exit;
}
if ($request == 'update_facade_figure') {
$complex = new Complex();
$figure_id = (int)$data->figure_id;
$fields = (array)$data->fields;
$result = $complex->updateFacadeFigure($figure_id, $fields);
echo json_encode($result, JSON_UNESCAPED_UNICODE);
exit;
}
if ($request == 'delete_facade_figure') {
$figure_id = (int)$data->figure_id;
$complex = new Complex();
$result = $complex->deleteFacedeFigure($figure_id);
echo json_encode($result, JSON_UNESCAPED_UNICODE);
exit;
}
if ($request == 'update_house_facade') {
$complex = new Complex();
$facade_id = $data->facade_id;
$fields = (array)$data->fields;
$result = $complex->updateHouseFacade($facade_id, $fields);
echo json_encode($result, JSON_UNESCAPED_UNICODE);
exit;
}
if($request == 'get_house_facades') {
$house_id = (int)$data->house_id;
$includes = (array)$data->includes;
$complex = new Complex();
$facades = $complex->get_house_facades($house_id, $includes);
echo json_encode($facades, JSON_UNESCAPED_UNICODE);
exit;
}
if ($request == 'delete_house_facade') {
$facade_id = (int)$data->facade_id;
$complex = new Complex();
$result = $complex->deleteHouseFacede($facade_id);
echo json_encode($result, JSON_UNESCAPED_UNICODE);
exit;
}
// END FACADES
if ($request == 'update_rooms_plan_link') {
$plan_id = (int)$data->plan_id;
$room_ids = (array)$data->room_ids;
$complex = new Complex();
$rooms = $complex->updateRoomsPlanLink($plan_id, $room_ids);
echo json_encode($rooms, JSON_UNESCAPED_UNICODE);
exit;
}
//Сохранение комплекса
if($request == 'save_complex') {
$user_id = 0;
if(isset($data->user_id)){
$user_id = (int)$data->user_id;
}
$complex_data = $data->complex;
$linkBuilder = '';
$phoneBuilder = '';
if(isset($data->newBuilderPhone)) $phoneBuilder = $data->newBuilderPhone;
if(isset($data->newBuilderLink)) $linkBuilder = $data->newBuilderLink;
$complex = new Complex();
if($user_id > 0){
$complex->set_user_id($user_id);
}
$complex->set_complex($complex_data);
$photo = array();
if(isset($data->photo)){
$photo = json_decode($data->photo, true);
}
$result = $complex->save($linkBuilder, $phoneBuilder, $photo);
echo json_encode($result, JSON_UNESCAPED_UNICODE);
exit;
}
//Сохранение дома
if($request == 'add_edit_house'){
$user_id = 0;
if(isset($data->user_id)){
$user_id = (int)$data->user_id;
}
$house = $data->house;
$complex = new Complex();
if($user_id > 0){
$complex->set_user_id($user_id);
}
$result = $complex->add_edit_house($house);
echo json_encode($result, JSON_UNESCAPED_UNICODE);
exit;
}
//Все дома комплекса
if($request == 'get_houses'){
$complex_id = (int)$data->complex_id;
$user_id = 0;
$has_token = false;
$filter = [];
if(isset($data->filter)){
$filter = $data->filter;
}
if (isset($data->token)) {
$token = trim($data->token);
$has_token = true;
$complex = new Complex();
$accessData = $complex->get_frame_access($token);
if (!empty($accessData['access']) && isset($accessData['agency_id'])) {
$user_id = (int)$accessData['agency_id'];
} else {
http_response_code(403);
echo json_encode([
'error' => 'Access denied or invalid token',
'token' => $token
], JSON_UNESCAPED_UNICODE);
exit;
}
}else if(isset($data->user_id)){
$user_id = (int)$data->user_id;
}
$complex = new Complex();
if($user_id > 0){
$complex->set_user_id($user_id);
}
$result = $complex->get_houses($complex_id, $has_token, $filter);
echo json_encode($result, JSON_UNESCAPED_UNICODE);
exit;
}
if ($request == 'get_all_houses') {
$user_id = 0;
if(isset($data->user_id)){
$user_id = (int)$data->user_id;
}
$complex = new Complex();
if($user_id > 0){
$complex->set_user_id($user_id);
}
$result = $complex->get_all_houses();
echo json_encode($result, JSON_UNESCAPED_UNICODE);
exit;
}
if ($request == 'get_complex_entrances') {
$complex_id = (int)$data->complex_id;
$includes = (array)$data->includes;
$user_id = 0;
if(isset($data->user_id)){
$user_id = (int)$data->user_id;
}
$partner_id = 0;
if(isset($data->partner_id)){
$partner_id = (int)$data->partner_id;
}
$complex = new Complex();
if($user_id > 0){
$complex->set_user_id($user_id);
}
$result = $complex->get_complex_entrances($complex_id, $includes, $partner_id);
echo json_encode($result, JSON_UNESCAPED_UNICODE);
exit;
}
if ($request == 'send_rooms_to_advert') {
$house_id = (int)$data->house_id;
$room_ids = (array)$data->room_ids;
$type = (string)$data->type;
$complex = new Complex();
$rooms = $complex->send_rooms_to_advert($house_id, $room_ids, $type);
$result = $complex->get_house_entrances($house_id, ['rooms']);
echo json_encode($result, JSON_UNESCAPED_UNICODE);
exit;
}
if ($request == 'change_rooms_price') {
$room_ids = (array)$data->room_ids;
$type = (string)$data->actions_type;
$by_square = (boolean)$data->by_square;
$by_installment_price = (boolean)$data->by_installment_price;
$value = (double)$data->actions_value;
if ($by_installment_price) {
$operation_type = 'installment_price';
} else {
$operation_type = 'total_amount';
}
$complex = new Complex();
if ($by_square) {
$result = $complex->change_rooms_price_by_square($value, $room_ids, $type, $operation_type);
} else {
$result = $complex->change_rooms_price($value, $room_ids, $type, $operation_type);
}
echo json_encode($result, JSON_UNESCAPED_UNICODE);
exit;
}
if ($request == 'get_house_entrances') {
$house_id = (int)$data->house_id;
$includes = (array)$data->includes;
$user_id = 0;
$has_token = false;
if (isset($data->token)) {
$token = trim($data->token);
$has_token = true;
$complex = new Complex();
$accessData = $complex->get_frame_access($token);
if (!empty($accessData['access']) && isset($accessData['agency_id'])) {
$user_id = (int)$accessData['agency_id'];
} else {
http_response_code(403);
echo json_encode([
'error' => 'Access denied or invalid token',
'token' => $token
], JSON_UNESCAPED_UNICODE);
exit;
}
}else if(isset($data->user_id)){
$user_id = (int)$data->user_id;
}
$partner_id = 0;
if(isset($data->partner_id)){
$partner_id = (int)$data->partner_id;
}
$complex = new Complex();
if($user_id > 0){
$complex->set_user_id($user_id);
}
$result = $complex->get_house_entrances($house_id, $includes, $partner_id, $has_token);
echo json_encode($result, JSON_UNESCAPED_UNICODE);
exit;
}
if ($request == 'add_house_entrance') {
$house_id = (int)$data->house_id;
$fields = $data->fields;
$user_id = 0;
if(isset($data->user_id)){
$user_id = (int)$data->user_id;
}
$complex = new Complex();
if($user_id > 0){
$complex->set_user_id($user_id);
}
$result = $complex->add_house_entrance($house_id, $fields);
echo json_encode($result, JSON_UNESCAPED_UNICODE);
exit;
}
if ($request == 'add_floor_plan_figure') {
$floor_plan_id = (int)$data->floor_plan_id;
$fields = $data->fields;
$user_id = 0;
if(isset($data->user_id)){
$user_id = (int)$data->user_id;
}
$complex = new Complex();
if($user_id > 0){
$complex->set_user_id($user_id);
}
$result = $complex->add_floor_plan_figure($floor_plan_id, $fields);
echo json_encode($result, JSON_UNESCAPED_UNICODE);
exit;
}
if ($request == 'delete_floor_plan_figure') {
$figure_id = (int)$data->figure_id;
$user_id = 0;
if(isset($data->user_id)){
$user_id = (int)$data->user_id;
}
$complex = new Complex();
if($user_id > 0){
$complex->set_user_id($user_id);
}
$result = $complex->delete_floor_plan_figure($figure_id);
echo json_encode($result, JSON_UNESCAPED_UNICODE);
exit;
}
if ($request == 'delete_floor_plan') {
$floor_plan_id = (int)$data->floor_plan_id;
$user_id = 0;
if(isset($data->user_id)){
$user_id = (int)$data->user_id;
}
$complex = new Complex();
if($user_id > 0){
$complex->set_user_id($user_id);
}
$result = $complex->delete_floor_plan($floor_plan_id);
echo json_encode($result, JSON_UNESCAPED_UNICODE);
exit;
}
if ($request == 'update_floor_plan_figure') {
$figure_id = (int)$data->figure_id;
$fields = $data->fields;
$user_id = 0;
if(isset($data->user_id)){
$user_id = (int)$data->user_id;
}
$complex = new Complex();
if($user_id > 0){
$complex->set_user_id($user_id);
}
$result = $complex->update_floor_plan_figure($figure_id, $fields);
echo json_encode($result, JSON_UNESCAPED_UNICODE);
exit;
}
if ($request == 'delete_house') {
$house_id = (int)$data->house_id;
$user_id = 0;
if(isset($data->user_id)){
$user_id = (int)$data->user_id;
}
$complex = new Complex();
if($user_id > 0){
$complex->set_user_id($user_id);
}
$result = $complex->delete_house($house_id);
echo json_encode($result, JSON_UNESCAPED_UNICODE);
exit;
}
if ($request == 'delete_house_entrance') {
$entrance_id = (int)$data->entrance_id;
$user_id = 0;
if(isset($data->user_id)){
$user_id = (int)$data->user_id;
}
$complex = new Complex();
if($user_id > 0){
$complex->set_user_id($user_id);
}
$result = $complex->delete_house_entrance($entrance_id);
echo json_encode($result, JSON_UNESCAPED_UNICODE);
exit;
}
if ($request == 'update_house_entrance') {
$entrance_id = (int)$data->entrance_id;
$fields = $data->fields;
$user_id = 0;
if(isset($data->user_id)){
$user_id = (int)$data->user_id;
}
$complex = new Complex();
if($user_id > 0){
$complex->set_user_id($user_id);
}
$result = $complex->update_house_entrance($entrance_id, $fields);
echo json_encode($result, JSON_UNESCAPED_UNICODE);
exit;
}
if ($request == 'create_floor') {
$entrance_id = (int)$data->entrance_id;
$fields = $data->fields;
$user_id = 0;
if(isset($data->user_id)){
$user_id = (int)$data->user_id;
}
$complex = new Complex();
if($user_id > 0){
$complex->set_user_id($user_id);
}
$result = $complex->create_floor($entrance_id, $fields);
echo json_encode($result, JSON_UNESCAPED_UNICODE);
exit;
}
if ($request == 'update_floor') {
$floor_id = (int)$data->floor_id;
$fields = $data->fields;
$user_id = 0;
if(isset($data->user_id)){
$user_id = (int)$data->user_id;
}
$complex = new Complex();
if($user_id > 0){
$complex->set_user_id($user_id);
}
$result = $complex->update_floor($floor_id, $fields);
echo json_encode($result, JSON_UNESCAPED_UNICODE);
exit;
}
if ($request == 'delete_floor') {
$floor_id = (int)$data->floor_id;
$user_id = 0;
if(isset($data->user_id)){
$user_id = (int)$data->user_id;
}
$complex = new Complex();
if($user_id > 0){
$complex->set_user_id($user_id);
}
$result = $complex->delete_floor($floor_id);
echo json_encode($result, JSON_UNESCAPED_UNICODE);
exit;
}
if ($request == 'delete_room') {
$room_id = (int)$data->room_id;
$user_id = 0;
if(isset($data->user_id)){
$user_id = (int)$data->user_id;
}
$complex = new Complex();
if($user_id > 0){
$complex->set_user_id($user_id);
}
$result = $complex->delete_room($room_id);
echo json_encode($result, JSON_UNESCAPED_UNICODE);
exit;
}
if ($request == 'copy_room') {
$room_id = (int)$data->room_id;
$floor_id = (int)$data->floor_id;
$position = (int)$data->position;
$copies_count = (int)$data->copies_count;
$floors_with_position = (array)$data->floors_with_position;
// echo(json_encode($floors_with_position));die;
$user_id = 0;
if(isset($data->user_id)){
$user_id = (int)$data->user_id;
}
$complex = new Complex();
if($user_id > 0){
$complex->set_user_id($user_id);
}
$result = [];
if ($floors_with_position) {
foreach ($floors_with_position as $floor) {
// $floor['id']
// $floor['position']
$copied_room = null;
$result[$floor->id] = [];
for ($i=0; $i < $copies_count; $i++) {
$copied_room = $complex->copy_room($room_id, $floor->id, $copied_room ? $copied_room['position'] + 1 : $floor->position);
$result[$floor->id][] = $copied_room;
}
}
} else if($floor_id && $position) {
$result = $complex->copy_room($room_id, $floor_id, $position);
}
echo json_encode($result, JSON_UNESCAPED_UNICODE);
exit;
}
if ($request == 'copy_floor') {
$floor_id = (int)$data->floor_id;
$position = (int)$data->position;
$user_id = 0;
if(isset($data->user_id)){
$user_id = (int)$data->user_id;
}
$complex = new Complex();
if($user_id > 0){
$complex->set_user_id($user_id);
}
$result = $complex->copy_floor($floor_id, $position);
echo json_encode($result, JSON_UNESCAPED_UNICODE);
exit;
}
if ($request == 'copy_house') {
$house_id = (int)$data->house_id;
$complex_id = (int)$data->complex_id;
$user_id = 0;
if(isset($data->user_id)){
$user_id = (int)$data->user_id;
}
$complex = new Complex();
if($user_id > 0){
$complex->set_user_id($user_id);
}
$result = $complex->copy_house($house_id,$complex_id);
echo json_encode($result, JSON_UNESCAPED_UNICODE);
exit;
}
//дом по id
if($request == 'get_house_one'){
$house_id = (int)$data->house_id;
$user_id = 0;
if (isset($data->token)) {
$token = trim($data->token);
$complex = new Complex();
$accessData = $complex->get_frame_access($token);
if (!empty($accessData['access']) && isset($accessData['agency_id'])) {
$user_id = (int)$accessData['agency_id'];
} else {
http_response_code(403);
echo json_encode([
'error' => 'Access denied or invalid token',
'token' => $token
], JSON_UNESCAPED_UNICODE);
exit;
}
}else if(isset($data->user_id)){
$user_id = (int)$data->user_id;
}
$complex = new Complex();
if($user_id > 0){
$complex->set_user_id($user_id);
}
$result = $complex->get_house_one($house_id);
echo json_encode($result, JSON_UNESCAPED_UNICODE);
exit;
}
if ($request == "get_filter_fields")
{
$house_id = $data->house_id;
$complex_id = $data->complex_id;
$user_id = 0;
if(isset($data->user_id)){
$user_id = (int)$data->user_id;
}
$complex = new Complex();
if($user_id > 0){
$complex->set_user_id($user_id);
}
$result = $complex->get_filter_fields($house_id, $complex_id);
echo json_encode($result, JSON_UNESCAPED_UNICODE);
exit;
}
//Периоды для фильтров
if($request == 'get_periods') {
$complex = new Complex();
$result = $complex->getUniquePeriods();
echo json_encode($result, JSON_UNESCAPED_UNICODE);
exit;
}
//Комплексы для фильтров
if($request == 'get_complex'){
$user_id = 0;
if(isset($data->user_id)){
$user_id = (int)$data->user_id;
// echo $user_id;
}
$complex = new Complex();
if($user_id > 0){
$complex->set_user_id($user_id);
}
$result = $complex->get_complexes();
echo json_encode($result, JSON_UNESCAPED_UNICODE);
exit;
}
if($request == 'get_complex_status')
{
$complex_status = new ComplexStatus;
$complex_status = $complex_status::getComplexStatus();
echo json_encode($complex_status, JSON_UNESCAPED_UNICODE);
exit();
}
// if ($request == 'get_room_types') {
// echo json_encode(array(
// [
// 'code' => 'apartment',
// 'name' => 'Квартира',
// ],
// [
// 'code' => 'apartments',
// 'name' => 'Апартаменты',
// ],
// [
// 'code' => 'parking_space',
// 'name' => 'Машинаместо',
// ],
// [
// 'code' => 'office',
// 'name' => 'Офис',
// ],
// [
// 'code' => 'storage_room',
// 'name' => 'Кладовка',
// ],
// [
// 'code' => 'warehouse',
// 'name' => 'Склад',
// ],
// [
// 'code' => 'retail_space',
// 'name' => 'Торговое Помещение',
// ],
// [
// 'code' => 'commercial_space',
// 'name' => 'Помещение свободного назначения',
// ],
// [
// 'code' => 'townhouse',
// 'name' => 'Таунхаус',
// ],
// [
// 'code' => 'villa',
// 'name' => 'Вилла',
// ],
// [
// 'code' => 'penthouse',
// 'name' => 'Пентхаус',
// ],
// [
// 'code' => 'duplex',
// 'name' => 'Дуплекс',
// ],
// [
// 'code' => 'cottage',
// 'name' => 'Коттедж',
// ],
// ), JSON_UNESCAPED_UNICODE);
// }
if ($request == 'get_decoration_types') {
$complex = new Complex();
$result = $complex->get_decoration_types();
echo json_encode($result, JSON_UNESCAPED_UNICODE);
exit;
}
if ($request == 'save_room') {
$user_id = 0;
$user_id = (int)$data->user_id;
$complex = new Complex();
if($user_id > 0){
$complex->set_user_id($user_id);
}
$result = $complex->save_room($data->room);
echo json_encode($result, JSON_UNESCAPED_UNICODE);
exit;
}
if ($request == 'update_room') {
$user_id = 0;
$user_id = (int)$data->user_id;
$complex = new Complex();
if($user_id > 0){
$complex->set_user_id($user_id);
}
$result = $complex->update_room($data->room);
echo json_encode($result, JSON_UNESCAPED_UNICODE);
exit;
}
if ($request == 'save_document') {
$user_id = 0;
$user_id = (int)$data->user_id;
$blank_id = (int)$data->blank_id;
$req_id = (int)$data->req_id;
$room = isset($data->apartment) ? json_decode($data->apartment) : null;
$complex = new Complex();
if($user_id > 0){
$complex->set_user_id($user_id);
}
$result = $complex->save_document($blank_id, $req_id,$room,$user_id);
echo json_encode($result, JSON_UNESCAPED_UNICODE);
exit;
}
if ($request == 'get_room_entrance') {
$user_id = 0;
$user_id = (int)$data->user_id;
$partner_id = 0;
if(isset($data->partner_id)){
$partner_id = (int)$data->partner_id;
}
$id = (int)$data->id;
$complex = new Complex();
if($user_id > 0){
$complex->set_user_id($user_id);
$complex->set_user();
}
$result = $complex->get_room_entrance($id, $partner_id);
echo json_encode($result, JSON_UNESCAPED_UNICODE);
exit;
}
if ($request == 'get_room_requisition') {
$id = (int)$data->id;
$complex = new Complex();
$result = $complex->get_room_requisition($id);
echo json_encode($result, JSON_UNESCAPED_UNICODE);
exit;
}
if ($request == 'get_room_requisitions') {
$id = (int)$data->complex_room_id;
$complex = new Complex();
$result = $complex->get_room_requisitions($id);
echo json_encode($result, JSON_UNESCAPED_UNICODE);
exit;
}
//Вид комнат
if($request == 'get_types_room'){
$complex = new Complex();
$result = $complex->get_types_room();
echo json_encode($result, JSON_UNESCAPED_UNICODE);
exit;
}
if($request == 'get_complex_names') {
$user_id = 0;
$user_id = (int)$data->user_id;
$use_empty_rooms = (bool)$data->use_empty_rooms;
$complex = new Complex();
if($user_id > 0){
$complex->set_user_id($user_id);
}
$result = $complex->getComplexNames($use_empty_rooms);
echo json_encode($result, JSON_UNESCAPED_UNICODE);
exit;
}
//Поиск
if($request == 'search') {
$user_id = 0;
if(isset($data->user_id)){
$user_id = (int)$data->user_id;
// echo $user_id;
}
$use_empty_rooms = (bool)$data->use_empty_rooms;
$page=1;
if(isset($data->page)){
$page = $data->page;
}
if($page < 1) {
$page = 1;
}
$filter = $data->filter;
$complex = new Complex();
$complex->set_page($page);
if($user_id > 0){
$complex->set_user_id($user_id);
}
$result = $complex->search($filter, $use_empty_rooms);
echo json_encode($result, JSON_UNESCAPED_UNICODE);
exit;
}
//Объекты комплекса
if($request == 'get_complex_one') {
$user_id = 0;
if (isset($data->token)) {
$token = trim($data->token);
$complex = new Complex();
$accessData = $complex->get_frame_access($token);
if (!empty($accessData['access']) && isset($accessData['agency_id'])) {
$user_id = (int)$accessData['agency_id'];
} else {
http_response_code(403);
echo json_encode([
'error' => 'Access denied or invalid token',
'token' => $token
], JSON_UNESCAPED_UNICODE);
exit;
}
} else if (isset($data->user_id)) {
$user_id = (int)$data->user_id;
}
$filter = array();
if(isset($data->filter)){
$filter = $data->filter;
}
$pageObj = 1;
if(isset($data->page)){
$pageObj = (int)$data->page;
}
$object_list = true;
if(isset($data->object_list)){
$object_list = $data->object_list;
}
$complex_id = (int)$data->complex_id;
$complex = new Complex();
if($user_id > 0){
$complex->set_user_id($user_id);
}
$complex->set_page_obj($pageObj);
$complex->set_filter($filter);
$result = $complex->get_complex_one($complex_id, true, $object_list);
echo json_encode($result, JSON_UNESCAPED_UNICODE);
exit;
}
//Привязать объект
if($request == 'add_object') {
$complex_id = (int)$data->complex_id;
$object_id = (int)$data->object_id;
$complex = new Complex();
$result = $complex->complex_add_object($complex_id, $object_id);
echo json_encode($result, JSON_UNESCAPED_UNICODE);
exit;
}
//Архивировать комплекс
if($request == 'complex_archive') {
$complex_id = (int)$data->complex_id;
$archive = $data->archive;
$complex = new Complex();
$result = $complex->complex_archive($complex_id, $archive);
echo json_encode($result, JSON_UNESCAPED_UNICODE);
exit;
}
//Удалить комплекс
if($request == 'complex_delete') {
$complex_id = (int)$data->complex_id;
$complex = new Complex();
$result = $complex->complex_delete($complex_id);
echo json_encode($result, JSON_UNESCAPED_UNICODE);
exit;
}
//В рекламу
if($request == 'complex_advert') {
$complex_id = (int)$data->complex_id;
$yes_no = (int)$data->yes_no;
$complex = new Complex();
$result = $complex->complex_advert($complex_id, $yes_no);
echo json_encode($result, JSON_UNESCAPED_UNICODE);
exit;
}
//В рекламу по площадкам
if($request == 'complex_advert_plases') {
$days = 5000;
if (isset($data->numDays) && $data->numDays > 0) {
$days = $data->numDays;
}
if ($days > 5000) {
$days = 5000;
}
$complex_id = (int)$data->complex_id;
$yes_no = (int)$data->yes_no;
$type = $data->type;
$complex = new Complex();
$result = $complex->complex_advert_plases($complex_id, $yes_no, $type, $days);
echo json_encode($result, JSON_UNESCAPED_UNICODE);
exit;
}
//создание заявки
if($request == 'create_room_requisition') {
$room_id = (int)$data->room_id;
$user_id = 0;
$requisition = $data->requisition;
$partner_id = $data->partner_id;
$employee_id = $data->employee_id;
if(isset($data->user_id)){
$user_id = (int)$data->user_id;
}
$complex = new Complex();
if($user_id > 0){
$complex->set_user_id($user_id);
}
$result = $complex->createRequisition($room_id, $requisition, $partner_id, $employee_id);
//$result = $complex->delete_room($room_id);
//echo json_encode($data, JSON_UNESCAPED_UNICODE);
exit;
}
if ($request == 'get_room_figures') {
$room_id = (int)$data->room_id;
$complex = new Complex();
echo json_encode($complex->get_room_figures($room_id), JSON_UNESCAPED_UNICODE);
exit;
}
if ($request == 'get_frame_colors') {
$token = $data->token;
$complex = new Complex();
echo json_encode($complex->get_frame_colors($token));
}
if ($request == 'get_frame_access') {
$token = $data->token;
$complex = new Complex();
echo json_encode($complex->get_frame_access($token));
}
if($request == 'get_installments')
{
$installments = new Installments();
echo json_encode($installments->getInstallments(), JSON_UNESCAPED_UNICODE);
exit();
}
if ($request == 'getInstallmentProgramsByHouseId') {
$house_id = (int)$data->house_id;
$installments = new Installments();
echo json_encode($installments->getByHouseId($house_id), JSON_UNESCAPED_UNICODE);
exit;
}
if ($request == 'getInstallmentProgramsByComplexId') {
$complex_id = (int)$data->complex_id;
$installments = new Installments();
echo json_encode($installments->getByComplexId($complex_id), JSON_UNESCAPED_UNICODE);
exit;
}
//Для iframe
if ($request == 'get_complex_names_for_iframe') {
$complex = new Complex(); // создаём один раз
$user_id = 0;
if (isset($data->token)) {
$token = trim($data->token);
$complex = new Complex();
$accessData = $complex->get_frame_access($token);
if (!empty($accessData['access']) && isset($accessData['agency_id'])) {
$user_id = (int)$accessData['agency_id'];
} else {
http_response_code(403);
echo json_encode([
'error' => 'Access denied or invalid token',
'token' => $token
], JSON_UNESCAPED_UNICODE);
exit;
}
}
$use_empty_rooms = !empty($data->use_empty_rooms);
$page = max(!empty($data->page) ? (int)$data->page : 1, 1);
if ($user_id > 0) {
$complex->set_user_id($user_id);
}
$complex->set_page($page);
$result = $complex->getComplexNamesForIframe($use_empty_rooms);
echo json_encode($result, JSON_UNESCAPED_UNICODE);
exit;
}
if ($request == 'search_for_iframe') {
$user_id = 0;
if (isset($data->token)) {
$token = trim($data->token);
$complex = new Complex();
$accessData = $complex->get_frame_access($token);
if (!empty($accessData['access']) && isset($accessData['agency_id'])) {
$user_id = (int)$accessData['agency_id'];
} else {
http_response_code(403);
echo json_encode([
'error' => 'Access denied or invalid token',
'token' => $token
], JSON_UNESCAPED_UNICODE);
exit;
}
} else {
$complex = new Complex(); // создаём без токена
}
$use_empty_rooms = !empty($data->use_empty_rooms);
$page = max(!empty($data->page) ? (int)$data->page : 1, 1);
$filter = is_array($data->filter) ? $data->filter : [];
$complex->set_page($page);
if ($user_id > 0) {
$complex->set_user_id($user_id);
}
$result = $complex->searchForIframe($filter, $use_empty_rooms);
echo json_encode($result, JSON_UNESCAPED_UNICODE);
exit;
}