606 lines
23 KiB
PHP
606 lines
23 KiB
PHP
<?php
|
||
|
||
require_once($_SERVER['DOCUMENT_ROOT']."/ajax/vue_php_function.php");
|
||
|
||
/*ini_set('error_reporting', E_ALL);
|
||
ini_set('display_errors', 1);
|
||
ini_set('display_startup_errors', 1);*/
|
||
|
||
$pdo = new MysqlPdo(hst, ndb, user, pass);
|
||
|
||
$sql = "SET NAMES 'utf8mb4'";
|
||
|
||
$pdo->query($sql);
|
||
|
||
|
||
$data = json_decode(file_get_contents("php://input"));
|
||
|
||
$request = $data->request;
|
||
|
||
if($request == 'get_object'){
|
||
|
||
$id = (int)$data->id;
|
||
|
||
if($id > 0){
|
||
|
||
$sql3="SELECT objects_additional_information.*,
|
||
bath_type.name as bath_type,
|
||
window_view.name as window_view,
|
||
objects.*,
|
||
renovation.name as renovation,
|
||
hot_water.name as hot_water,
|
||
parking_type.name as parking_type,
|
||
rayon.rayon,
|
||
sale_objects.house_material,
|
||
house_material.name as house_material_name,
|
||
sale_objects.house_type, house_type.name as house_type_name,
|
||
sale_objects.deal_type, sale_objects.sale_type, deal_type.name as deal_type_name,
|
||
sale_objects.build_year, DATE_FORMAT(objects.date_add,'%d.%m.%Y %H:%i') as date_add,
|
||
lu.name as land_usage_name,
|
||
lp.name as land_purpose,
|
||
el.name as electricity_type,
|
||
gt.name as gas_type,
|
||
pt.name as plumbing_type,
|
||
st.name as sewerage_type,
|
||
rt.name as relief_type,
|
||
sht.name as shape_type,
|
||
ads_objects.ads_source as ads_source,
|
||
ads_objects.ads_url as ads_url
|
||
FROM objects objects
|
||
LEFT JOIN sale_objects sale_objects on objects.id = sale_objects.object_id
|
||
LEFT JOIN ads_objects ads_objects ON objects.id = ads_objects.obj_id
|
||
LEFT JOIN house_material house_material on sale_objects.house_material = house_material.id
|
||
LEFT JOIN house_type house_type on house_type.id = sale_objects.house_type
|
||
LEFT JOIN deal_type deal_type on deal_type.id = sale_objects.deal_type
|
||
LEFT JOIN rayon rayon on objects.rayon = rayon.id
|
||
LEFT JOIN land_usage_type lu on objects.land_usage_type_id = lu.id
|
||
LEFT JOIN land_purpose lp on objects.land_purpose_id = lp.id
|
||
LEFT JOIN electricity_type el on objects.electricity_type_id = el.id
|
||
LEFT JOIN gas_type gt on objects.gas_type_id = gt.id
|
||
LEFT JOIN plumbing_type pt on objects.plumbing_type_id = pt.id
|
||
LEFT JOIN sewerage_type st on objects.sewerage_type_id = st.id
|
||
LEFT JOIN relief_type rt on objects.relief_type_id = rt.id
|
||
LEFT JOIN shape_type sht on objects.shape_type_id = sht.id
|
||
LEFT JOIN objects_additional_information on objects_additional_information.object_id = objects.id
|
||
LEFT JOIN bath_type on bath_type.id = objects.bath_type_id
|
||
LEFT JOIN window_view on window_view.id = objects_additional_information.window_view
|
||
LEFT JOIN renovation on renovation.id = objects_additional_information.renovation
|
||
LEFT JOIN hot_water on hot_water.id = objects.hot_water_id
|
||
LEFT JOIN parking_type on parking_type.id = objects.parking_type_id
|
||
WHERE objects.id = {$id}";
|
||
|
||
$rez_obj = $pdo->query($sql3);
|
||
$obj = $pdo->fetch_assoc($rez_obj);
|
||
|
||
$content['title'] = "Аренда без комиссии - ".$obj['nazv']." по адресу: г. Санкт-Петербург, ".$obj['rayon']." район, ".$obj['adres'];
|
||
|
||
|
||
|
||
$user = new User;
|
||
$user->get($_SESSION['id']);
|
||
|
||
$obj['currency'] = 'p';
|
||
$sql_price = "SELECT * FROM `object_prices` WHERE `object_id` = '{$obj['id']}' AND `agency_id` = '{$user->agencyId}' LIMIT 1";
|
||
$query_price = $pdo->query($sql_price);
|
||
if ($pdo->num_rows($query_price)) {
|
||
$res_price = $pdo->fetch_assoc($query_price);
|
||
if((int)$res_price['currency'] == 1) {
|
||
$obj['currency'] = '$';
|
||
}
|
||
else if((int)$res_price['currency'] == 2) {
|
||
$obj['currency'] = '€';
|
||
}
|
||
}
|
||
|
||
|
||
$favor = array();
|
||
$sql = "SELECT id FROM objects WHERE id in (SELECT id_obj FROM favor WHERE id_user = $_SESSION[id])";
|
||
$rez = $pdo->query($sql);
|
||
while ($f = $pdo->fetch_assoc($rez)) {
|
||
$favor[] = $f['id'];
|
||
}
|
||
|
||
|
||
if (isset($_SESSION['notes_bd_usl'])) {
|
||
$notes_bd_usl = $_SESSION['notes_bd_usl'];
|
||
} else {
|
||
$agencyId = User::getAgencyIdForUser($_SESSION['id']);
|
||
|
||
$usersIds = User::getAllAgencyUsers($agencyId);
|
||
$usersIds[] = $_SESSION['id'];
|
||
$usersIds = array_unique($usersIds);
|
||
$notes_bd_usl = "created_by IN (" . implode(",", $usersIds) . ")";
|
||
$_SESSION['notes_bd_usl'] = $notes_bd_usl;
|
||
}
|
||
|
||
$sqlAddInfo = "SELECT activity_id FROM objects_activities WHERE object_id={$id}";
|
||
$rezAddInfo = $pdo->query($sqlAddInfo);
|
||
if ($pdo->num_rows($rezAddInfo) > 0) {
|
||
$obj['activities'] = array();
|
||
while($row = $pdo->fetch_assoc($rezAddInfo)) {
|
||
$obj['activities'][] = $row['activity_id'];
|
||
}
|
||
} else {
|
||
$obj['activities'] = null;
|
||
}
|
||
|
||
/** GET PLAN */
|
||
$plan = '';
|
||
$sqlP = "SELECT * FROM objects_plan WHERE object_id = {$id}";
|
||
$rez_plan = $pdo->query($sqlP);
|
||
if($pdo->num_rows($rez_plan) > 0){
|
||
$obj_plan = $pdo->fetch_assoc($rez_plan);
|
||
if($obj_plan['img_plan'] != ''){
|
||
if (stripos($obj_plan['img_plan'], "http://") === false && stripos($obj_plan['img_plan'], "https://") === false) {
|
||
$obj_plan['img_plan'] = "https://joywork.ru/photos/" . $obj_plan['img_plan'];
|
||
}
|
||
$plan = $obj_plan['img_plan'];
|
||
}
|
||
}
|
||
$obj['plan'] = $plan;
|
||
|
||
$sqlPhotoInfo = "SELECT oop.sort_order, p.photo FROM objects_object_photo oop, object_photo p WHERE p.id = oop.object_photo_id AND oop.object_id = {$id} ORDER BY oop.sort_order";
|
||
$rezPhotoInfo = $pdo->query($sqlPhotoInfo);
|
||
$obj['photos'] = array();
|
||
if ($pdo->num_rows($rezPhotoInfo) > 0) {
|
||
while ($photoInfo = $pdo->fetch_assoc($rezPhotoInfo)) {
|
||
if(stripos($photoInfo['photo'],"http://") === false && stripos($photoInfo['photo'],"https://") === false) {
|
||
$photoInfo['photo'] = "/photos/".$photoInfo['photo'];
|
||
}
|
||
$obj['photos'][] = $photoInfo['photo'];
|
||
//$obj['photo' . $photoInfo['sort_order']] = $photoInfo['photo'];
|
||
}
|
||
}
|
||
|
||
//Доп обработка
|
||
|
||
if(!$obj['etazh']) $obj['etazh']=Filter::getFloorFromName($obj['nazv'],true);
|
||
else Filter::getFloorFromName($obj['nazv'],true);
|
||
|
||
if(!$obj['etazh_iz']) $obj['etazh_iz']=Filter::getMaxFloorFromName($obj['nazv'],true);
|
||
else Filter::getMaxFloorFromName($obj['nazv'],true);
|
||
|
||
Filter::getSpaceFromName($obj['nazv'],true);
|
||
$obj['nazv']=Filter::name($obj['nazv']);
|
||
Filter::getSpaceFromName($obj['nazv'],true);
|
||
|
||
|
||
if ((int)$obj['etazh'] == 1 && !empty($obj['etaz_first_type'])) {
|
||
$obj['etazh'] = $etaz_first_types[$obj['etaz_first_type']];
|
||
}
|
||
|
||
$obj['sobstv'] = Filter::replaceSobstv($obj['sobstv']);
|
||
|
||
$showForManagerOrBoss = false;
|
||
// проверяем, нуждно ли показывать объект начальству
|
||
if ($obj['id_add_user'] > 0 && ($_SESSION['agency'] == 1 || $_SESSION['manager'] == 1)) {
|
||
$agentsOfAgency = User::getAllAgents($_SESSION['id']);
|
||
|
||
$found = false;
|
||
|
||
foreach ($agentsOfAgency as $agent) {
|
||
if ($agent['id'] == $obj['id_add_user']) {
|
||
$found = true;
|
||
}
|
||
}
|
||
|
||
if (!$found) {
|
||
$agentsOfManager = User::getAllManagers($_SESSION['id']);
|
||
foreach ($agentsOfManager as $agent) {
|
||
if ($agent['id'] == $obj['id_add_user']) {
|
||
$found = true;
|
||
}
|
||
}
|
||
}
|
||
|
||
if ($found) {
|
||
$showForManagerOrBoss = true;
|
||
}
|
||
}
|
||
$obj['show_dop'] = false;
|
||
if ($obj['archive'] || ($obj['id_add_user'] > 0 && $obj['id_add_user'] == $_SESSION['id']) || $showForManagerOrBoss) {
|
||
$obj['show_dop'] = true;
|
||
}
|
||
|
||
$sqlCommetc = "SELECT * FROM commercial_object";
|
||
$qCommerc = $pdo->query($sqlCommetc);
|
||
$arrTypeCommerc = array();
|
||
while($rCommerc = $pdo->fetch_assoc($qCommerc)){
|
||
$arrTypeCommerc[$rCommerc['id']] = $rCommerc['name'];
|
||
}
|
||
$obj['nazv'] = Filter::name($obj['nazv']);
|
||
$obj['nazv_category'] = '';
|
||
if($obj['type']==4 && isset($arrTypeCommerc[$obj['type_category']])){
|
||
$obj['nazv_category'] = '<br>Категория помещения – '.$arrTypeCommerc[$obj['type_category']];
|
||
}
|
||
$obj['favor'] = 0;
|
||
if(!empty($favor)){
|
||
if(in_array($obj['id'],$favor))
|
||
$obj['favor'] = 1;
|
||
}
|
||
$obj['to_send'] = 0;
|
||
if(@in_array($obj['id'], $_SESSION['to_send'])) $obj['to_send'] = 1;
|
||
|
||
$obj['kol_arch'] = 0;
|
||
|
||
$obj['idstr'] = '';
|
||
|
||
$obj['vk_token'] = '';
|
||
if(!empty($user->vk_token)) {
|
||
$obj['vk_token'] = $user->vk_token;
|
||
}
|
||
|
||
if (empty($notes_bd_usl))
|
||
$notes_bd_usl = ' true';
|
||
|
||
$sql_count_notes = "SELECT COUNT(*) FROM object_notes WHERE object_id = $obj[id] AND $notes_bd_usl";
|
||
$obj['notes'] = $pdo->result($pdo->query($sql_count_notes),0);
|
||
|
||
$obj['total_req'] = 0;
|
||
$obj['can_autosearch'] = false;
|
||
|
||
if (isset($user)) {
|
||
if ($user->can('autosearch') && $obj['id_rf_region'] > 0) {
|
||
$obj['can_autosearch'] = true;
|
||
$autosearch = new AutoSearch();
|
||
$requisitions = $autosearch->reverseSearch($obj['id'], 0, 100, false, true, true, true);
|
||
if ($requisitions['total'] > 0){
|
||
$obj['total_req'] = $requisitions['total'];
|
||
}
|
||
}
|
||
}
|
||
$obj['obj_my_count'] = 0;
|
||
$sql_count_objects = "SELECT COUNT(*) FROM favor WHERE id_obj = $obj[id] AND id_user = $_SESSION[id]";
|
||
$obj_my_count = mysql_result(mysql_query($sql_count_objects),0);
|
||
$obj['obj_my_count'] = $obj_my_count;
|
||
$sourceLink = '';
|
||
$sourceName = '';
|
||
|
||
if ($obj['ads_url'] && $obj['ads_source'] && !$obj['archive']) {
|
||
$sourceLink = $obj['ads_url'];
|
||
$sourceName = "";
|
||
if ($obj['ads_source'] == 3)
|
||
$sourceName = "Яндекс";
|
||
|
||
if ($obj['ads_source'] == 1)
|
||
$sourceName = "Авито";
|
||
|
||
if ($obj['ads_source'] == 4)
|
||
$sourceName = "Циан";
|
||
|
||
if ($obj['ads_source'] == 6)
|
||
$sourceName = "Юла";
|
||
|
||
if ($obj['ads_source'] == 2)
|
||
$sourceName = "Из рук в руки";
|
||
|
||
if ($obj['ads_source'] == 5)
|
||
$sourceName = "SOB.RU";
|
||
|
||
if ($obj['ads_source'] == 7)
|
||
$sourceName = "N1.RU";
|
||
|
||
if ($obj['ads_source'] == 10)
|
||
$sourceName = "Моя реклама";
|
||
}
|
||
|
||
$obj['source_link'] = $sourceLink;
|
||
$obj['source_name'] = $sourceName;
|
||
$tagsThis = [];
|
||
$tagsTitle = '';
|
||
if ($obj['activities']) {
|
||
$tags = [];
|
||
$sql_adv = "SELECT * FROM `activities` WHERE `user_id` = '".$user->id."' OR `manager_id` = '".$user->id."'";
|
||
if ($user->id_manager)
|
||
$sql_adv .= " OR `manager_id` = '".$user->id_manager."' or `user_id` = '".$user->id_manager."'";
|
||
|
||
if ($user->agencyId)
|
||
$sql_adv .= " OR `manager_id` = '".$user->agencyId."' or `user_id` = '".$user->agencyId."'";
|
||
|
||
$sql_adv .= ' ORDER BY `name`';
|
||
$q_adv = mysql_query($sql_adv);
|
||
$rows_adv = mysql_num_rows($q_adv);
|
||
if ($rows_adv > 0) {
|
||
while ($r_adv = mysql_fetch_assoc($q_adv)) {
|
||
if (in_array($r_adv['id'], $obj['activities'])){
|
||
$tagsThis[] = $r_adv;
|
||
$tags[] = '<span data-id="' . $r_adv['id'] . '">' . $r_adv['name'] . '</span>';
|
||
}
|
||
}
|
||
|
||
if (!empty($tags)) {
|
||
$tagsTitle = strip_tags(implode(', ', $tags));
|
||
|
||
}
|
||
}
|
||
}
|
||
$obj['tags'] = $tagsThis;
|
||
$obj['tags_title'] = $tagsTitle;
|
||
|
||
list($dateAdd, $timeAdd) = explode(" ", $obj['date_add']);
|
||
list($d, $m, $y) = explode(".", $dateAdd);
|
||
|
||
$date_add = $d." ".getRusMonth($m)." ".$y;
|
||
$date = $date_add." ".$timeAdd;
|
||
$obj['date'] = $date;
|
||
|
||
$sqlLocationInfo = "SELECT * FROM object_location WHERE object_id=".$obj['id'];
|
||
$rezLocationInfo = mysql_query($sqlLocationInfo);
|
||
$obj['objLocationInfo'] = '';
|
||
if (mysql_num_rows($rezLocationInfo) > 0) {
|
||
$objLocationInfo = mysql_fetch_assoc($rezLocationInfo);
|
||
$obj['objLocationInfo'] = $objLocationInfo['address'];
|
||
$obj['latitude'] = $objLocationInfo['latitude'];
|
||
$obj['longitude'] = $objLocationInfo['longitude'];
|
||
} else {
|
||
$sql = "SELECT * FROM rayon WHERE id in (select rayon from objects where id = $obj[id])";
|
||
$result = mysql_query($sql);
|
||
if ($result) {
|
||
$rayon = mysql_fetch_assoc($result);
|
||
}
|
||
|
||
|
||
if ($obj['id_rf_region'] == 50) {
|
||
if(is_bool(strpos($obj['adres'], "Ленинградская область"))){
|
||
$obj['objLocationInfo'] .= "Ленинградская область,";
|
||
}
|
||
}else if($obj['id_rf_region'] == 81){
|
||
$obj['objLocationInfo'] .= "Санкт Петербург,";
|
||
} else if($obj['id_rf_region'] == 77) {
|
||
$sqlRegion = "SELECT parent.name as parent,rf_regions.name FROM rf_regions as parent
|
||
LEFT JOIN rf_regions on rf_regions.parent = parent.id
|
||
LEFT JOIN rf_region_rayons ON rf_region_rayons.rf_region_id = rf_regions.id
|
||
WHERE rayon_id in (select rayon from objects where id = $obj[id])";
|
||
$rezRegion = mysql_query($sqlRegion);
|
||
if($rezRegion){
|
||
$region = mysql_fetch_assoc($rezRegion);
|
||
$obj['objLocationInfo'] .= $region['parent'].','.$region['name'].' округ,';
|
||
}
|
||
}
|
||
if($obj['rayon'] && $obj['id_rf_region'] == 81){
|
||
if (strpos($obj['rayon'], "район") or strpos($obj['adres'], "район") or strpos($obj['adres'], "р-н")) {
|
||
$obj['objLocationInfo'] .= $obj['rayon'].',';
|
||
} else {
|
||
$obj['objLocationInfo'] .= $obj['rayon'] . " район,";
|
||
}
|
||
}
|
||
|
||
$obj['objLocationInfo'] .= str_replace('г. Санкт-Петербург, ', '', $obj['adres']);
|
||
if ($obj['dom']) {
|
||
$obj['objLocationInfo'] .= ", " . $obj['dom'];
|
||
}
|
||
if ($obj['korpus']) {
|
||
$obj['objLocationInfo'] .= ", корпус " . $obj['korpus'];
|
||
}
|
||
if ($obj['litera']) {
|
||
$obj['objLocationInfo'] .= ", литера " . $obj['litera'];
|
||
}
|
||
}
|
||
|
||
$obj['address'] = $obj['adres'];
|
||
if ($obj['dom'])
|
||
{
|
||
$obj['address'] .= ", " . $obj['dom'];
|
||
}
|
||
if ($obj['korpus']) {
|
||
$obj['address'] .= ", корпус " . $obj['korpus'];
|
||
}
|
||
if ($obj['litera']) {
|
||
$obj['address'] .= ", литера " . $obj['litera'];
|
||
}
|
||
|
||
$obj['metro'] = '';
|
||
$mtr = array();
|
||
$sql = "SELECT metro.metro FROM metro, sp_metro
|
||
WHERE sp_metro.id_metro = metro.id AND sp_metro.id_obj = $obj[id]";
|
||
$result = mysql_query($sql);
|
||
while($m = mysql_fetch_row($result)) $mtr[] = $m[0];
|
||
$obj['metro'] = implode(", ",$mtr);
|
||
$stoim_raw = intval($obj['stoim']);
|
||
$obj['stoim'] = number_format($obj['stoim'], 0, ',', ' ');
|
||
$obj['sobstv'] = htmlspecialchars_decode($obj['sobstv']);
|
||
|
||
$sale_type = "Не указан";
|
||
switch ($obj['sale_type']) {
|
||
case "dupt" :
|
||
$sale_type = "Договор уступки права требования";
|
||
break;
|
||
|
||
case "dzhsk" :
|
||
$sale_type = "Договор ЖСК";
|
||
break;
|
||
|
||
case "free" :
|
||
$sale_type = "Свободная продажа";
|
||
break;
|
||
|
||
case "fz214" :
|
||
$sale_type = "214-ФЗ";
|
||
break;
|
||
|
||
case "investment" :
|
||
$sale_type = "Договор инвестирования";
|
||
break;
|
||
|
||
case "pdkp" :
|
||
$sale_type = "Предварительный договор купли-продажи";
|
||
break;
|
||
|
||
}
|
||
$obj['sale_type'] = $sale_type;
|
||
$obj['com'] = round(floatval($obj['commission']) * $stoim_raw / 100);
|
||
if ($obj['commission_counter_agent_type'] == 'fixed') {
|
||
$obj['com_counter'] = floatval($obj['commission_counter_agent']);
|
||
} else {
|
||
$obj['com_counter'] = round(floatval($obj['commission_counter_agent']) * $stoim_raw / 100);
|
||
}
|
||
if ($obj['commission_agency_type'] == 'price') {
|
||
$obj['com_agency'] = floatval($obj['commission_agency']);
|
||
} else {
|
||
$obj['com_agency'] = round(floatval($obj['commission_agency']) * $stoim_raw / 100);
|
||
}
|
||
$obj['com2'] = ($stoim_raw > 0) ? round((intval($obj['lease'])*100/$stoim_raw), 2) : 0;
|
||
$obj['layout_object'] = mysql_fetch_assoc(mysql_query("SELECT * FROM `layout_object` WHERE id = ".$obj['layout_id']))['name'];
|
||
$obj['name_commer_condition'] = mysql_fetch_assoc(mysql_query("SELECT * FROM `commer_condition` WHERE id = ".$obj['commer_condition']))['name'];
|
||
$obj['name_parking_type'] = mysql_fetch_assoc(mysql_query("SELECT * FROM `parking_type` WHERE id = ".$obj['parking_type_id']))['name'];
|
||
$obj['name_vat_type'] = mysql_fetch_assoc(mysql_query("SELECT * FROM `vat_type` WHERE id = ".$obj['vat_type_id']))['name'];
|
||
$obj['name_floor_material'] = mysql_fetch_assoc(mysql_query("SELECT * FROM `floor_material` WHERE id = ".$obj['floor_material_id']))['name'];
|
||
$obj['name_commerc_portal'] = mysql_fetch_assoc(mysql_query("SELECT * FROM `commerc_portal` WHERE id = ".$obj['commerc_portal_id']))['name'];
|
||
$commerc_purpose1 = json_decode($obj['commerc_purpose']);
|
||
$commerc_purpose = array();
|
||
if(!empty($commerc_purpose1)){
|
||
$sql = "SELECT * FROM commerc_purpose WHERE id in (".implode(',',$commerc_purpose1).")";
|
||
$q = mysql_query($sql);
|
||
$i=0;
|
||
//echo '<div class="info-value">';
|
||
while($r = mysql_fetch_assoc($q)){
|
||
|
||
/*if($i>0) echo ",";
|
||
if($i % 2 == 0) echo "<br>";
|
||
echo ' '.$r['name'];*/
|
||
if(!empty(trim($r['name']))){
|
||
$commerc_purpose[] = $r;
|
||
}
|
||
//$i++;
|
||
}
|
||
}
|
||
$obj['commerc_purpose'] = $commerc_purpose;
|
||
if($obj['type'] == 4){
|
||
$obj['name_commerc_building'] = mysql_fetch_assoc(mysql_query("SELECT * FROM `commerc_building_type` WHERE id = ".$obj['commerc_building_type_id']))['name'];
|
||
$obj['name_commerc_building_class'] = mysql_fetch_assoc(mysql_query("SELECT * FROM `commerc_building_class` WHERE id = ".$obj['commerc_building_class_id']))['name'];
|
||
$obj['name_commerc_houselinetype'] = mysql_fetch_assoc(mysql_query("SELECT * FROM `commerc_houselinetype` WHERE id = ".$obj['commerc_houseLineType_id']))['name'];
|
||
$obj['name_commerc_building_category'] = mysql_fetch_assoc(mysql_query("SELECT * FROM `commerc_building_category` WHERE id = ".$obj['commerc_building_category_id']))['name'];
|
||
$obj['name_commerc_opened'] = mysql_fetch_assoc(mysql_query("SELECT * FROM `commerc_opened` WHERE id = ".$obj['commerc_opened_id']))['name'];
|
||
|
||
}
|
||
$obj['is_fields'] = 0;
|
||
$obj['fields'] = array();
|
||
$user = new User;
|
||
if ($agency_id = User::getUserAgencyID()) {
|
||
$sql = "SELECT `fields`.`id` AS `id`,
|
||
`fields`.`name` AS `name`,
|
||
`fields`.`type` AS `type`,
|
||
`fields`.`title` AS `title`,
|
||
`fields`.`params` AS `params`,
|
||
`data`.`value` AS `value`
|
||
FROM `object_data` AS `data`
|
||
LEFT JOIN `object_fields` AS `fields` ON `data`.`field_id` = `fields`.`id`
|
||
WHERE `data`.`object_id`='$obj[id]' AND
|
||
`fields`.`agency_id`='$agency_id' AND
|
||
`fields`.`is_active`='1'
|
||
ORDER BY `fields`.`order`";
|
||
|
||
$query = mysql_query($sql);
|
||
if (mysql_num_rows($query)) {
|
||
$obj['is_fields'] = 1;
|
||
while ($row = mysql_fetch_assoc($query)) {
|
||
if (isset($row['value'])) {
|
||
$field_name = $row['name'];
|
||
$field_title = $row['title'];
|
||
if ($row['type'] == 2 || $row['type'] == 3) {
|
||
$values = json_decode($row['value']);
|
||
$params = json_decode($row['params'], true);
|
||
|
||
if (count($values) > 0) {
|
||
$values_str = '';
|
||
foreach ($values as $value) {
|
||
foreach ($params['items'] as $item) {
|
||
if ($item['value'] == $value) {
|
||
if (!empty($values_str))
|
||
$values_str .= ", " . $item['name'];
|
||
else
|
||
$values_str .= $item['name'];
|
||
}
|
||
}
|
||
}
|
||
|
||
if (!empty($values_str)) {
|
||
$obj['fields'][] = array('label'=>$row['title'], 'value'=>$values_str);
|
||
|
||
}
|
||
}
|
||
} else if ($row['type'] == 4) {
|
||
$obj['fields'][] = array('label'=>$row['title'], 'value'=>((boolval($row['value'])) ? 'Да' : 'Нет'));
|
||
|
||
} else {
|
||
$obj['fields'][] = array('label'=>$row['title'], 'value'=>$row['value']);
|
||
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
echo json_encode($obj);
|
||
exit;
|
||
}
|
||
}
|
||
|
||
if($request == 'check_cadastral_number_unique'){
|
||
$agency_id = (int)$data->agency_id;
|
||
|
||
$cadastral_number = trim($data->cadastral_number);
|
||
|
||
$object_id = (int)$data->object_id;
|
||
if($agency_id > 0 && !empty($cadastral_number)){
|
||
$sc = new SourcesConnection($agency_id);
|
||
$agentIds = $sc->getAllUserAgency();
|
||
|
||
$cad_sql = "SELECT id FROM objects
|
||
WHERE (cadastral_number = '" . mysql_real_escape_string($cadastral_number) . "' OR cadastral_number_land = '" . mysql_real_escape_string($cadastral_number) . "')
|
||
AND id_add_user IN (" . implode(",", $agentIds) . ")";
|
||
if($object_id != 0){
|
||
$cad_sql .= " AND id != {$object_id}";// Исключаем текущий ID сразу в SQL
|
||
}
|
||
|
||
$cad_res = mysql_query($cad_sql);
|
||
|
||
$object_ids = [];
|
||
while ($cad_obj = mysql_fetch_assoc($cad_res)) {
|
||
$object_ids[] = $cad_obj['id'];
|
||
}
|
||
|
||
if (!empty($object_ids)) {
|
||
echo json_encode(["object_in_ads" => true, "object_ids" => $object_ids]);
|
||
exit();
|
||
}
|
||
}
|
||
}
|
||
|
||
|
||
if($request == 'check_address_unique'){
|
||
$agency_id = (int)$data->agency_id;
|
||
|
||
$address = trim($data->address);
|
||
|
||
$flat_number = trim($data->flat_number);
|
||
|
||
$object_id = (int)$data->object_id;
|
||
if($agency_id > 0 && !empty($address) && !empty($flat_number)){
|
||
$sc = new SourcesConnection($agency_id);
|
||
$agentIds = $sc->getAllUserAgency();
|
||
|
||
$sim_sql = "SELECT o.id, o.id_add_user
|
||
FROM objects o
|
||
LEFT JOIN objects_additional_information oai ON o.id = oai.object_id
|
||
WHERE o.id_add_user IN (" . implode(",", $agentIds) . ") AND (o.adres = '" . mysql_real_escape_string($address) . "'
|
||
AND oai.flat_number = '" . mysql_real_escape_string($flat_number) . "')";
|
||
if($object_id != 0){
|
||
$sim_sql .= " AND id != {$object_id}";// Исключаем текущий ID сразу в SQL
|
||
}
|
||
|
||
|
||
$cad_res = mysql_query($sim_sql);
|
||
|
||
$object_ids = [];
|
||
while ($cad_obj = mysql_fetch_assoc($cad_res)) {
|
||
$object_ids[] = $cad_obj['id'];
|
||
}
|
||
|
||
if (!empty($object_ids)) {
|
||
echo json_encode(["object_in_ads" => true, "object_ids" => $object_ids]);
|
||
exit();
|
||
}
|
||
}
|
||
}
|