Joywork/sended-object-view.php

492 lines
28 KiB
PHP
Raw Normal View History

2026-05-22 20:21:54 +02:00
<?php
require_once($_SERVER['DOCUMENT_ROOT'] . "/config.php");
$get = clearInputData($_GET);
$sql3 = "SELECT objects.*, sended_pdf.id_agent, 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, deal_type.name as deal_type_name,
sale_objects.build_year, DATE_FORMAT(objects.date_add,'%d.%m.%Y %H:%i') as date_add
FROM objects objects
LEFT JOIN sale_objects sale_objects on objects.id = sale_objects.object_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
INNER JOIN sended_pdf on sended_pdf.token='$get[token]' and sended_pdf.id_object = objects.id";
$sql4 = "SELECT objects.*, sended_pdf.id_agent, 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, deal_type.name as deal_type_name,
sale_objects.build_year, DATE_FORMAT(objects.date_add,'%d.%m.%Y %H:%i') as date_add
FROM objects objects
LEFT JOIN sale_objects sale_objects on objects.id = sale_objects.object_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
INNER JOIN sended_pdf on sended_pdf.token='$get[token]' and sended_pdf.id_object = objects.id";
$rez_obj = mysql_query($sql3);
$rez_obj2 = mysql_query($sql4);
require($_SERVER['DOCUMENT_ROOT'] . "/templates/view-header.php");
$apPhoto = "";
$useLocalApPhoto = true;
$objArr = [];
while ($objVal = mysql_fetch_assoc($rez_obj)) {
$objArr[$objVal['id']] = $objVal;
}
while ($objVal2 = mysql_fetch_assoc($rez_obj2)) {
$objArr[$objVal2['id']] = $objVal2;
}
?>
<script type="text/javascript" src="/js/fotorama.js"></script>
<script type="text/javascript" src="https://api-maps.yandex.ru/2.1/?load=package.standard&apikey=898fc684-cdf6-4af8-af57-15e2781d68d1&lang=ru_RU&onload=getYaMap"></script>
<script type="text/javascript">
$(document).ready(function (){
$('.accordion').each(function(){
this.addEventListener("click", function() {
this.classList.toggle("active");
var panel = this.nextElementSibling;
if (panel.style.maxHeight){
panel.style.maxHeight = null;
} else {
panel.style.maxHeight = panel.scrollHeight + "px";
}
});
});
});
function getYaMap() {
<?php
$z = 0;
foreach($objArr as $v){
$z++;
?>
// Создание карты.
var myMap<?= $z ?> = new ymaps.Map("map_canvas<?= $z ?>", {
center: [59.9174455, 30.3250575],
zoom: 19,
controls: ['fullscreenControl', 'zoomControl']
});
var address<?= $z ?> = $('.adress_map<?= $z ?>').text();
if (!address<?= $z ?>.indexOf('Санкт-Петербург')) {
address<?= $z ?> = 'Санкт-Петербург, ' + address<?= $z ?>;
}
ymaps.geocode(address<?= $z ?>, {results: 1})
.then(function (res) {
var firstGeoObject = res.geoObjects.get(0),
// Координаты геообъекта.
coords = firstGeoObject.geometry.getCoordinates(),
// Область видимости геообъекта.
bounds = firstGeoObject.properties.get('boundedBy');
firstGeoObject.options.set('preset', 'islands#darkBlueDotIconWithCaption');
// Получаем строку с адресом и выводим в иконке геообъекта.
firstGeoObject.properties.set('iconCaption', firstGeoObject.getAddressLine());
// Добавляем первый найденный геообъект на карту.
myMap<?= $z ?>.geoObjects.add(firstGeoObject);
// Масштабируем карту на область видимости геообъекта.
myMap<?= $z ?>.setBounds(bounds, {
// Проверяем наличие тайлов на данном масштабе.
checkZoomRange: true
});
});
<?php
}
?>
}
</script>
<div class="sended-object">
<?php
$i = 0;
foreach($objArr as $obj) {
$i++;
?>
<button class="accordion">
<?php
$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 = $obj[id] ORDER BY oop.sort_order";
$rezPhotoInfo = mysql_query($sqlPhotoInfo);
if (mysql_num_rows($rezPhotoInfo) > 0) {
while ($photoInfo = mysql_fetch_assoc($rezPhotoInfo)) {
$obj['photo' . $photoInfo['sort_order']] = $photoInfo['photo'];
}
}
$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'], "Ленинградская область"))) {
echo "Ленинградская область,";
}
} else if ($obj['id_rf_region'] == 81) {
echo "Санкт Петербург,";
} 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);
echo $region['parent'] . ',' . $region['name'] . ' округ,';
}
}
?>
<?php
if ($obj['rayon'] && $obj['id_rf_region'] == 81) {
if (strpos($obj['rayon'], "район") or strpos($obj['adres'], "район") or strpos($obj['adres'], "р")) {
echo $obj['rayon'] . ',';
} else {
echo $obj['rayon'] . " район,";
}
}
?>
<?php
echo str_replace('г. Санкт-Петербург, ', '', $obj['adres']);
if ($obj['dom']) {
echo ", " . $obj['dom'];
}
if ($obj['korpus']) {
echo ", корпус " . $obj['korpus'];
}
if ($obj['litera']) {
echo ", литера " . $obj['litera'];
} ?>
</button>
<div class="panel">
<div class="inner">
<?php
//Доп обработка
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);
$obj['sobstv'] = Filter::replaceSobstv($obj['sobstv']);
?>
<div class="main-title">
<h1>Объект <?php echo $obj['id']; ?></h1>
</div>
<div class="f-object">
<div class="f-object_row fr_fotorama">
<div class="photos">
<?php
$useLocalApPhoto = true;
?>
<div class="f-fotorama backgrounded">
<div class="fotorama" data-width="100%" data-height="450px" data-allowfullscreen="true" data-nav="thumbs" data-thumb-height="32">
<?php
if ($useLocalApPhoto) {
for ($num = 1; $num <= 20; $num++) {
if ($obj['photo' . $num]) {
if (stripos($obj['photo' . $num], "http") === false) {
$obj['photo' . $num] = "/photos/" . $obj['photo' . $num];
}
echo '<img src="' . $obj['photo' . $num] . '" height="450px">';
}
}
} else {
echo $apPhoto;
}
?>
</div>
</div>
</div>
</div>
<div class="f-object_row fr__room" style="overflow: visible;">
<div class="object-info top">
<h2><?php echo Filter::name($obj['nazv']); ?></h2>
<div class="top-info">
<?php if ($obj['operation_type'] == 0) { ?>
<div class="period">
<i class="ti-time"></i>Сдается <?php echo $SROK_ARENDY["$obj[srok]"]; ?><?php if ($obj['prim_srok']) echo "&nbsp;(" . $obj['prim_srok'] . ")"; ?>
</div>
<?php
} else {
if ($obj['operation_type'] == 1) { ?>
<div class="period">
<i class="ti-time"></i>Продается
</div>
<?php
}
}
if (!$obj['archive']) {
?>
<div class="date" style="padding-top: 0;">
<i class="ti-calendar"></i><span>
<?php
list($dateAdd, $timeAdd) = explode(" ", $obj['date_add']);
list($d, $m, $y) = explode(".", $dateAdd);
$date_add = $d . " " . getRusMonth($m) . " " . $y;
$date = $date_add . "&nbsp;&nbsp;" . $timeAdd;
echo $date;
?></span>
</div>
<?php } ?>
</div>
<div class="middle-info">
<div class="f-map">
<div class="bg-map"></div>
<div class="address">
<i class="ti-location-pin"></i><span class="adress_map<?= $i ?>"><?php
$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 ((isset($rayon) && $rayon['is_lo'] == 1) ||
(isset($obj['lo_city_id']) && $obj['lo_city_id'] > 0)) {
echo "Ленинградская область";
} else {
echo "Санкт-Петербург";
}*/
if ($obj['id_rf_region'] == 50) {
if (is_bool(strpos($obj['adres'], "Ленинградская область"))) {
echo "Ленинградская область,";
}
} else if ($obj['id_rf_region'] == 81) {
echo "Санкт Петербург,";
} 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);
echo $region['parent'] . ',' . $region['name'] . ' округ,';
}
}
?>
<?php
if ($obj['rayon'] && $obj['id_rf_region'] == 81) {
if (strpos($obj['rayon'], "район") or strpos($obj['adres'], "район") or strpos($obj['adres'], "р")) {
echo $obj['rayon'] . ',';
} else {
echo $obj['rayon'] . " район,";
}
}
?>
<?php
echo str_replace('г. Санкт-Петербург, ', '', $obj['adres']);
if ($obj['dom']) {
echo ", " . $obj['dom'];
}
if ($obj['korpus']) {
echo ", корпус " . $obj['korpus'];
}
if ($obj['litera']) {
echo ", литера " . $obj['litera'];
} ?>
</span>
<span id="scrollMap" style="display: none"><i
class="ti-map-alt"></i><span>на карте</span></span>
</div>
<div class="object-subway object-subway<?= $i ?>">
<span><?php
$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];
echo implode(", ", $mtr);
?></span>
<span><?php
if ($obj['peshkom']) echo $obj['peshkom'] . " минут пешком";
if ($obj['peshkom'] and $obj['transport']) echo " или ";
if ($obj['transport']) echo $obj['transport'] . " минут на транспорте";
?>
</span>
</div>
</div>
<div class="price">
<p class="biglin">Цена:</p>
<h1><?php echo number_format($obj['stoim'], 0, ',', ' ') . '<span class="rub">p</span>' . ($obj['operation_type'] == 1 ? "<br/>" : "") . '<span' . ($obj['operation_type'] == 0 && $obj['type'] == 7 ? " style='display:none;'" : "") . ($obj['operation_type'] == 1 ? " style='font-size:24px;'" : "") . '>' . $obj['stoim_prim']; ?></span></h1>
</div>
<?php
$userSql = "SELECT id, fio, phone, photo, id_manager, user_logo FROM users WHERE id='$obj[id_agent]'";
$rez_user = mysql_query($userSql);
$user = mysql_fetch_assoc($rez_user);
if ($user['id_manager']) {
$sql="SELECT id_manager, photo, fio FROM users WHERE id=$user[id_manager]";
$rez=mysql_query($sql);
$manager = mysql_fetch_assoc($rez);
if($manager['id_manager']) {
$agency = mysql_fetch_assoc(mysql_query("SELECT id_manager, photo, fio FROM users WHERE id=$manager[id_manager]"));
} else {
$agency = $manager;
}
$user['photo'] = $agency['photo'];
$user['agencyName'] = trim($agency['last_name'] . ' ' . $agency['first_name'] . ' ' . $agency['middle_name']);
} else {
$user['agencyName'] = trim($user['last_name'] . ' ' . $user['first_name'] . ' ' . $user['middle_name']);
}
?>
<div class="number">
<div class="inner">
<p class="biglin">Телефон:</p>
<h1><?php if ($user != null) { echo $user['phone'];} else { echo "$obj[phone]";} ?></h1>
<div class='name'><?php if ($user != null) { echo trim($user['last_name'] . ' ' . $user['first_name'] . ' ' . $user['middle_name']); } else { echo $obj['sobstv']; } ?></div>
</div>
</div>
<div class="clear"></div>
<div class="square">
<p class="biglin">Общая информация:</p>
<div class="columns">
<?php
if ($obj['type'] == 7) {
if ($obj['ploshad'] * 1 != 0) {
echo '<div class="info-label">Площадь:</div>';
echo '<div class="info-value">' . $obj['land_area'] * 1;
echo ' соток</div><div class="clear"></div>';
}
} else {
if ($obj['ploshad'] * 1 != 0) {
echo '<div class="info-label">Общая площадь:</div>';
echo '<div class="info-value">' . $obj['ploshad'] * 1;
echo 'м<sup>2</sup></div><div class="clear"></div>';
}
if ($obj['ploshad_komn'] * 1 != 0) {
echo '<div class="info-label">Площадь комнат:</div>';
echo '<div class="info-value">' . $obj['ploshad_komn'];
echo 'м<sup>2</sup></div><div class="clear"></div>';
}
if ($obj['ploshad_k'] * 1 != 0) {
echo '<div class="info-label">Площадь кухни:</div>';
echo '<div class="info-value">' . $obj['ploshad_k'] * 1;
echo 'м<sup>2</sup></div><div class="clear"></div>';
}
if ($obj['etazh'] * 1 != 0) {
echo '<div class="info-label">Этаж:</div>';
if ((int)$obj['etazh'] == 1 && $obj['etaz_first_type'] > 0) {
echo '<div class="info-value">' . $etaz_first_types[$obj['etaz_first_type']];
} else {
echo '<div class="info-value">' . $obj['etazh'];
}
if ($obj['etazh_iz'] * 1 != 0) echo " из " . $obj['etazh_iz'];
echo '</div>';
}
}
if ($obj['operation_type'] == 1 && $obj['deal_type']) {
echo '<div class="info-label">Тип сделки:</div>';
echo '<div class="info-value">' . $obj['deal_type_name'];
echo '</div><div class="clear"></div>';
}
if ($obj['operation_type'] == 1 && $obj['commission']) {
echo '<div class="info-label">Комиссия встречному агенту:</div>';
echo '<div class="info-value">' . $obj['commission'];
echo '&nbsp;%</div><div class="clear"></div>';
}
?>
</div>
</div>
<?php if ($obj['operation_type'] == 1 && $obj['type'] != 7) { ?>
<div class="square">
<p class="biglin">Информация о доме:</p>
<div class="columns">
<?php
if ($obj['house_material']) {
echo '<div class="info-label">Материал:</div>';
echo '<div class="info-value">' . $obj['house_material_name'];
echo '</div><div class="clear"></div>';
}
if ($obj['house_type']) {
echo '<div class="info-label">Тип:</div>';
echo '<div class="info-value">' . $obj['house_type_name'];
echo '</div><div class="clear"></div>';
}
if ($obj['build_year']) {
echo '<div class="info-label">Год постройки:</div>';
echo '<div class="info-value">' . $obj['build_year'];
echo '</div><div class="clear"></div>';
}
?>
</div>
</div>
<?php } ?>
<?php if ($obj['operation_type'] == 0 && $obj['type'] != 7) { ?>
<div class="have">
<div class="inner">
<p class="biglin">Удобства:</p>
<ul>
<?php
if ($obj['stirka']) echo '<li><span class="tooltip tooltip-effect"><div class="icon"><img src="/images/washing-click.png" class="icon" height="36px"></div>стиральная машина<span class="tooltip-content" style="width:auto;"><b class="tooltip-text">стиральная машина</b></span></span></li>';
if ($obj['holod']) echo '<li><span class="tooltip tooltip-effect"><div class="icon"><img src="/images/refregerator-click.png" class="icon" height="36px"></div><b>холодильник</b><span class="tooltip-content" style="width:auto;"><b class="tooltip-text">холодильник</b></span></span></li>';
if ($obj['tv']) echo '<li class="tv"><span class="tooltip tooltip-effect"><div class="icon"><img src="/images/television-click.png" class="icon" height="36px"></div>телевизор<span class="tooltip-content" style="width:auto;"><b class="tooltip-text">телевизор</b></span></span></li>';
if ($obj['mebel']) echo '<li><span class="tooltip tooltip-effect"><div class="icon"><img src="/images/furniture-click.png" class="icon" height="36px"></div>мебель<span class="tooltip-content" style="width:auto;"><b class="tooltip-text">мебель</b></span></span></li>';
?>
</ul>
</div>
</div>
<?php } ?>
<div class="clear"></div>
<div class="description">
<p class="biglin">Описание:</p>
<p style="overflow-x: auto;"><?php echo cleanHtml($obj['opis']); ?></p>
</div>
</div>
</div>
</div>
<div class="f_object-row">
<div class="f-object_left">
<div class="on-map" style="">
<?php echo '<div id="map_canvas' . $i . '" style="width:100%; height:440px"></div>'; ?>
</div>
</div>
<div class="f-object_right">
</div>
<div class="clear"></div>
</div>
</div>
</div>
</div>
<?php
}
function curl_request($url)
{
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CERTINFO, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); // запретить проверку сертификата удаленного сервера
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:44.0) Gecko/20100101 Firefox/44.0");
curl_setopt($ch, CURLOPT_REFERER, "https://joywork.ru/");
curl_setopt($ch, CURLOPT_HEADER, 0); // При установке этого параметра в 1 результат будет включать полученные заголовки.
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // При установке этого параметра в ненулевое значение CURL будет возвращать результат, а не выводить его.
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); //при получении HTTP заголовка "Location: " будет происходить перенаправление на указанный этим заголовком URL
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($ch, CURLOPT_TIMEOUT, 60);
$content = curl_exec($ch);
curl_close($ch);
return $content;
}
?>
</div>