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'] = '
Категория помещения – '.$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[] = '' . $r_adv['name'] . ''; } } 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 '
'; while($r = mysql_fetch_assoc($q)){ /*if($i>0) echo ","; if($i % 2 == 0) echo "
"; 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(); } } }