Joywork/catalog-view.php

767 lines
47 KiB
PHP
Raw Normal View History

2026-05-22 20:21:54 +02:00
<style>
.favorite {
height: 40px;
width: 40px;
border: 0;
background-color: #fff;
background-image: url(images/icon-heart-gray.svg);
background-repeat: no-repeat;
background-position: center;
margin-left: 20px;
}
.favorite.active {
background-image: url(images/icon-heart-red-filled.svg);
}
.favorites {
margin-right: 50px;
}
.favorites.active {
background-image: url(images/icon-heart-red-filled.svg);
}
.favorites-button {
padding: 8px 10px 6px;
display: flex;
border: 1px solid #dedede;
background: linear-gradient(180deg, #fefefe, #f6f6f6);
font-size: 14px;
gap: 8px;
}
.favorites-heart-icon {
background-image: url(images/icon-heart.svg);
background-repeat: no-repeat;
width: 24px;
height: 21px;
margin-top: -4px;
}
.favorites-heart-icon.active {
background-image: url(images/icon-heart-red-filled.svg);
}
.favorites-span-text {
color: #7d7d7d;
}
.favorites-span-count {
text-decoration: underline;
color: #4caf50;
}
.favorites-close {
display: none;
}
.favorites-close.active {
display: block;
}
.header__user {
margin-left: auto;
}
.header__container {
display: flex;
align-items: center;
gap: 20px;
}
.favorites__adaptive {
display: none;
margin: 0;
}
.favorites-button__adaptive {
margin: 10px auto 0 auto;
}
@media (max-width: 960px) {
.favorites__adaptive {
display: block;
}
}
</style>
<?php
require_once($_SERVER['DOCUMENT_ROOT']."/config.php");
$get = clearInputData($_GET);
if (!isset($get['catalog'])) {
die(404);
}
// Здесь мы поняли, что $get['catalog'] у нас есть
$objectIds = [];
$closeHeader = 0;
$new_prices = [];
$hideAddress = [];
$tokens = [];
$objects = [];
// нужно ли здесь снова думать, что $get['catalog'] исчез?
if($get['catalog']){
// так сказать "начитка"
$catalogPr = mysql_query("SELECT * FROM sent_catalog WHERE id = " . (int)$get['catalog']);
$catalogArr = mysql_fetch_assoc($catalogPr);
$agentId = (int)$catalogArr['agent_id']; // откуда мы знаем, что там есть agent_id и другие поля?
$catalogId = (int)$catalogArr['id'];
$closeHeader = (int)$catalogArr['close_contact'];
$countFavorites = 0;
$isFavoriteFiltered = $_REQUEST['isFavoriteFiltered'] === 'true';
$pdfSql = "SELECT * FROM sended_pdf WHERE sent_catalog_id = $catalogId";
$pdfPr = mysql_query($pdfSql);
while ($pdfArr = mysql_fetch_assoc($pdfPr)) {
$objectIds[] = $pdfArr['id_object'];
$tokens[$pdfArr['id_object']] = md5($pdfArr['id']);
$new_prices[$pdfArr['id_object']] = (float)$pdfArr['new_price'];
$hideAddress[$pdfArr['id_object']] = (int)$pdfArr['hide_address'];
if ($pdfArr['is_favorite'] == 1) {
$countFavorites++;
}
}
} else {
die(404);
}
$user = null;
if ($agentId) {
$userSql = "SELECT id, fio, phone, photo, id_manager, user_logo, agency, id_manager, agent, agency_name, sitename, site, email, phoneAgency, last_name, first_name, middle_name FROM users WHERE id=$agentId";
$rez_user = mysql_query($userSql);
$user = mysql_fetch_assoc($rez_user);
// решаем найти менеджера? хм...
if ($user['id_manager']) {
$sql="SELECT id, id_manager, photo, fio, agency_name, phoneAgency 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, id_manager, photo, fio, agency_name, phoneAgency FROM users WHERE id=$manager[id_manager]"));
} else {
$agency = $manager;
}
$user['photo'] = $agency['photo'];
$user['agencyName'] = trim($agency['agency_name']);
$user['phoneAgency'] = $agency['phoneAgency'] ? trim($agency['phoneAgency']) : $user['phone'];
$user['agencyId'] = $agency['id'];
} else {
$user['agencyName'] = trim($user['agency_name']);
$user['agencyId'] = $user['id'];
}
}
// Дальше без фонарика нельзя...
foreach ($objectIds as $objectId) {
$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,
object_prices.currency as currency
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 object_prices on object_prices.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 = $objectId";
$rez_obj = mysql_query($sql3);
$objects[$objectId] = mysql_fetch_assoc($rez_obj);
$sql = "SELECT * FROM sended_pdf WHERE id_object = $objectId AND sent_catalog_id = $catalogId";
$resSql = mysql_query($sql);
$rezArr = mysql_fetch_assoc($resSql);
$objects[$objectId]['is_favorite'] = $rezArr['is_favorite'];
$objects[$objectId]['token'] = $rezArr['token'];
/** GET PLAN */
$objects[$objectId]['plan'] = '';
$sqlP = "SELECT * FROM objects_plan WHERE object_id = $objectId";
$rez_plan = mysql_query($sqlP);
if(mysql_num_rows($rez_plan) > 0){
$obj_plan = mysql_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'];
}
$objects[$objectId]['plan'] = $obj_plan['img_plan'];
}
}
/** GET PHOTO */
$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 = $objectId ORDER BY oop.sort_order";
$rezPhotoInfo = mysql_query($sqlPhotoInfo);
if (mysql_num_rows($rezPhotoInfo) > 0) {
while ($photoInfo = mysql_fetch_assoc($rezPhotoInfo)) {
$objects[$objectId]['photo' . $photoInfo['sort_order']] = $photoInfo['photo'];
}
}
//Доп обработка
if(!$objects[$objectId]['etazh']) $objects[$objectId]['etazh']=Filter::getFloorFromName($objects[$objectId]['nazv'],true);
else Filter::getFloorFromName($objects[$objectId]['nazv'],true);
if(!$objects[$objectId]['etazh_iz']) $objects[$objectId]['etazh_iz']=Filter::getMaxFloorFromName($objects[$objectId]['nazv'],true);
else Filter::getMaxFloorFromName($objects[$objectId]['nazv'],true);
Filter::getSpaceFromName($objects[$objectId]['nazv'],true);
$objects[$objectId]['nazv']=Filter::name($objects[$objectId]['nazv']);
Filter::getSpaceFromName($objects[$objectId]['nazv'],true);
if (isset($user)) {
if($new_prices[$objectId] > 0) {
$objects[$objectId]['stoim'] = $new_prices[$objectId];
}
// else {
// $sqlCloseContact = "SELECT * FROM user_object_contact_close WHERE user_id = '$user[id]' AND object_id=$objectId AND MD5(client_id) = '$get[client]' order by id desc limit 1";
// //echo $sqlCloseContact;
// $rezCloseContact = mysql_query($sqlCloseContact);
// if (mysql_num_rows($rezCloseContact) > 0) {
// $CloseContactRow = mysql_fetch_assoc($rezCloseContact);
// $closeHeader = (int)$CloseContactRow['close'];
// }
// }
}
}
$individual = false;
if ($user['id_manager'] == 0 && $user['agency'] == 0) {
$individual = true;
}
$favor = [];
$sql = "SELECT id FROM objects WHERE id in (SELECT id_obj FROM favor WHERE id_user = $_SESSION[id])";
$rez = mysql_query($sql);
while ($f = mysql_fetch_assoc($rez)) {
$favor[] = $f['id'];
}
$photo1_first_array = null;
foreach ($objects as $object) {
if (isset($object['photo1'])) {
$photo1_first_array = $object['photo1'];
break;
}
}
?>
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<meta name="description" content="Каталог объектов">
<meta name="keywords" content="">
<meta property="og:title" content="<?php echo $user['agencyName'];?>"/>
<meta property="og:description" content="Каталог объектов"/>
<meta property="og:image" content="<?php echo $photo1_first_array;?>"/>
<meta property="og:type" content="article" />
<link rel="shortcut icon" type="image/x-icon" href="/images/favicon.ico" />
<title>JoyWork</title>
<script src="https://code.jquery.com/jquery-3.6.1.min.js" integrity="sha256-o88AwQnZB+VDvE9tvIXrMQaPlFFSUTR+nldQm1LuPXQ=" crossorigin="anonymous"></script>
<script type="text/javascript" src="presentation/catalog/js/favorite.js"></script>
<link rel="preload" href="presentation/catalog/fonts/latoregular.woff" as="font" type="font/woff" crossorigin="crossorigin">
<link rel="stylesheet" href="presentation/catalog/css/style.css">
</head>
<body class="cmn">
<div style="display:none">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><symbol id="icon-calendar" viewBox="0 0 18 18">
<path d="M14.5248 1.38619H13.8534V0.706821C13.8534 0.318658 13.5387 0.00400925 13.1506 0.00400925C12.7624 0.00400925 12.4477 0.318658 12.4477 0.706821V1.38619H5.55221V0.706821C5.55221 0.318658 5.23757 0.00400925 4.8494 0.00400925C4.46124 0.00400925 4.14659 0.318658 4.14659 0.706821V1.38619H3.47523C1.55898 1.38619 0 2.94517 0 4.86139V14.5208C0 16.437 1.55898 17.996 3.47523 17.996H14.5248C16.441 17.996 18 16.437 18 14.5208V4.86139C18 2.94517 16.441 1.38619 14.5248 1.38619ZM3.47523 2.79182H4.14659V4.1623C4.14659 4.55046 4.46124 4.86511 4.8494 4.86511C5.23757 4.86511 5.55221 4.55046 5.55221 4.1623V2.79182H12.4478V4.1623C12.4478 4.55046 12.7624 4.86511 13.1506 4.86511C13.5388 4.86511 13.8534 4.55046 13.8534 4.1623V2.79182H14.5248C15.666 2.79182 16.5944 3.72023 16.5944 4.86139V5.53278H1.40562V4.86139C1.40562 3.72023 2.33404 2.79182 3.47523 2.79182ZM14.5248 16.5904H3.47523C2.33404 16.5904 1.40562 15.6619 1.40562 14.5208V6.93841H16.5944V14.5208C16.5944 15.6619 15.666 16.5904 14.5248 16.5904ZM6.24333 9.70281C6.24333 10.091 5.92868 10.4056 5.54051 10.4056H4.15833C3.77016 10.4056 3.45552 10.091 3.45552 9.70281C3.45552 9.31465 3.77016 9 4.15833 9H5.54051C5.92864 9 6.24333 9.31465 6.24333 9.70281ZM14.5445 9.70281C14.5445 10.091 14.2299 10.4056 13.8417 10.4056H12.4595C12.0714 10.4056 11.7567 10.091 11.7567 9.70281C11.7567 9.31465 12.0714 9 12.4595 9H13.8417C14.2298 9 14.5445 9.31465 14.5445 9.70281ZM10.3899 9.70281C10.3899 10.091 10.0753 10.4056 9.6871 10.4056H8.30492C7.91676 10.4056 7.60211 10.091 7.60211 9.70281C7.60211 9.31465 7.91676 9 8.30492 9H9.6871C10.0752 9 10.3899 9.31465 10.3899 9.70281ZM6.24333 13.8494C6.24333 14.2376 5.92868 14.5522 5.54051 14.5522H4.15833C3.77016 14.5522 3.45552 14.2376 3.45552 13.8494C3.45552 13.4612 3.77016 13.1466 4.15833 13.1466H5.54051C5.92864 13.1466 6.24333 13.4612 6.24333 13.8494ZM14.5445 13.8494C14.5445 14.2376 14.2299 14.5522 13.8417 14.5522H12.4595C12.0714 14.5522 11.7567 14.2376 11.7567 13.8494C11.7567 13.4612 12.0714 13.1466 12.4595 13.1466H13.8417C14.2298 13.1466 14.5445 13.4612 14.5445 13.8494ZM10.3899 13.8494C10.3899 14.2376 10.0753 14.5522 9.6871 14.5522H8.30492C7.91676 14.5522 7.60211 14.2376 7.60211 13.8494C7.60211 13.4612 7.91676 13.1466 8.30492 13.1466H9.6871C10.0752 13.1466 10.3899 13.4612 10.3899 13.8494Z" fill="#757575"></path>
</symbol><symbol id="icon-close" viewBox="0 0 19 18">
<path d="M1.43499 18C1.19788 18 0.960779 17.9099 0.780634 17.7284C0.418988 17.3667 0.418988 16.7804 0.780634 16.4187L16.9281 0.271235C17.2898 -0.0904116 17.8761 -0.0904116 18.2378 0.271235C18.5994 0.632881 18.5994 1.2192 18.2378 1.58107L2.09047 17.7284C1.90897 17.9087 1.67187 18 1.43499 18Z" fill="#757579"></path>
<path d="M17.5836 18C17.3465 18 17.1096 17.9099 16.9293 17.7284L0.780634 1.58107C0.418988 1.2192 0.418988 0.632881 0.780634 0.271235C1.14228 -0.0904116 1.7286 -0.0904116 2.09047 0.271235L18.2378 16.4187C18.5994 16.7804 18.5994 17.3667 18.2378 17.7284C18.0563 17.9087 17.8194 18 17.5836 18Z" fill="#757579"></path>
</symbol><symbol id="icon-coins" viewBox="0 0 14 14">
<path d="M4.95866 13.4167C5.65876 13.4209 6.35272 13.286 7.00033 13.02C7.64725 13.2883 8.34168 13.4232 9.042 13.4167C11.1682 13.4167 12.8337 12.2821 12.8337 10.8331V8.41694C12.8337 6.96793 11.1682 5.83335 9.042 5.83335C8.94341 5.83335 8.84658 5.83802 8.75033 5.84327V3.11093C8.75033 1.69168 7.08491 0.583344 4.95866 0.583344C2.83241 0.583344 1.16699 1.69168 1.16699 3.11093V10.8891C1.16699 12.3084 2.83241 13.4167 4.95866 13.4167ZM11.667 10.8331C11.667 11.5034 10.589 12.25 9.042 12.25C7.495 12.25 6.41699 11.5034 6.41699 10.8331V10.2935C7.20696 10.774 8.1176 11.019 9.042 10.9999C9.96639 11.019 10.877 10.774 11.667 10.2935V10.8331ZM9.042 7.00002C10.589 7.00002 11.667 7.74668 11.667 8.41694C11.667 9.08719 10.589 9.83327 9.042 9.83327C7.495 9.83327 6.41699 9.0866 6.41699 8.41694C6.41699 7.74727 7.495 7.00002 9.042 7.00002ZM4.95866 1.75001C6.50566 1.75001 7.58366 2.46751 7.58366 3.11093C7.58366 3.75435 6.50566 4.47243 4.95866 4.47243C3.41166 4.47243 2.33366 3.75493 2.33366 3.11093C2.33366 2.46693 3.41166 1.75001 4.95866 1.75001ZM2.33366 4.94785C3.12691 5.41894 4.03627 5.6584 4.95866 5.6391C5.88105 5.6584 6.79041 5.41894 7.58366 4.94785V6.02585C6.94792 6.18609 6.36489 6.50917 5.89199 6.96327C5.58529 7.02964 5.27246 7.06366 4.95866 7.06477C3.41166 7.06477 2.33366 6.34727 2.33366 5.70385V4.94785ZM2.33366 7.54077C3.12708 8.01139 4.03636 8.25063 4.95866 8.23144C5.06249 8.23144 5.16283 8.2186 5.26491 8.21335C5.25622 8.28088 5.25135 8.34885 5.25033 8.41694V9.63319C5.15233 9.63902 5.05783 9.65769 4.95866 9.65769C3.41166 9.65769 2.33366 8.94019 2.33366 8.29619V7.54077ZM2.33366 10.1331C3.12691 10.6042 4.03627 10.8437 4.95866 10.8244C5.05666 10.8244 5.15291 10.8168 5.25033 10.8121V10.8331C5.25868 11.3297 5.4495 11.8058 5.78641 12.1707C5.51348 12.2222 5.23641 12.2488 4.95866 12.25C3.41166 12.25 2.33366 11.5325 2.33366 10.8891V10.1331Z" fill="white"></path>
</symbol><symbol id="icon-fav" viewBox="0 0 24 24">
<path d="M12 22.6648C11.6583 22.6648 11.3289 22.541 11.0722 22.3162C10.1027 21.4684 9.16791 20.6717 8.3432 19.9689L8.33899 19.9653C5.92108 17.9048 3.83313 16.1254 2.38037 14.3725C0.756409 12.4129 0 10.5549 0 8.52521C0 6.55316 0.676208 4.73383 1.90393 3.4021C3.1463 2.05463 4.85101 1.3125 6.70459 1.3125C8.08997 1.3125 9.3587 1.75049 10.4755 2.6142C11.0391 3.05017 11.5499 3.58374 12 4.20612C12.4503 3.58374 12.9609 3.05017 13.5247 2.6142C14.6415 1.75049 15.9102 1.3125 17.2956 1.3125C19.149 1.3125 20.8539 2.05463 22.0963 3.4021C23.324 4.73383 24 6.55316 24 8.52521C24 10.5549 23.2438 12.4129 21.6198 14.3723C20.1671 16.1254 18.0793 17.9046 15.6617 19.9649C14.8356 20.6688 13.8994 21.4667 12.9276 22.3165C12.6711 22.541 12.3415 22.6648 12 22.6648ZM6.70459 2.71838C5.24835 2.71838 3.91058 3.29956 2.93738 4.35498C1.94971 5.42633 1.4057 6.90729 1.4057 8.52521C1.4057 10.2323 2.04016 11.759 3.46271 13.4755C4.83765 15.1346 6.88275 16.8774 9.25067 18.8954L9.25507 18.899C10.0829 19.6046 11.0213 20.4044 11.998 21.2584C12.9805 20.4027 13.9204 19.6016 14.7499 18.895C17.1176 16.877 19.1625 15.1346 20.5375 13.4755C21.9598 11.759 22.5943 10.2323 22.5943 8.52521C22.5943 6.90729 22.0503 5.42633 21.0626 4.35498C20.0896 3.29956 18.7516 2.71838 17.2956 2.71838C16.2288 2.71838 15.2494 3.0575 14.3846 3.7262C13.6139 4.32239 13.077 5.07605 12.7623 5.60339C12.6004 5.87457 12.3155 6.03644 12 6.03644C11.6845 6.03644 11.3996 5.87457 11.2377 5.60339C10.9232 5.07605 10.3863 4.32239 9.61542 3.7262C8.75061 3.0575 7.77118 2.71838 6.70459 2.71838Z"></path>
</symbol><symbol id="icon-metro" viewBox="0 0 20 20">
<path d="M13.242 2.24766L9.99989 12.4689L6.75798 2.24766C2.90144 3.57323 0 7.16914 0 11.2916C0 13.7746 1.01298 16.0644 2.65178 17.752H7.35212L7.84488 15.6151C2.22957 13.4149 3.29134 6.59717 5.32701 5.48429C5.56864 5.55695 9.10942 17.7017 9.10942 17.7017C9.15779 17.7017 9.31493 17.7017 9.50692 17.7017C9.54747 17.7017 9.70018 17.7017 9.89048 17.7017C9.95934 17.7017 10.0337 17.7017 10.1091 17.7017C10.2384 17.7017 10.3725 17.7017 10.4924 17.7017C10.6846 17.7017 10.8416 17.7017 10.8902 17.7017C10.8902 17.7017 14.4311 5.55695 14.6726 5.48429C16.7085 6.59717 17.7698 13.4149 12.1545 15.6151L12.6475 17.752H17.3478C18.9868 16.0644 19.9998 13.7746 19.9998 11.2916C19.9998 7.16914 17.0983 3.57323 13.242 2.24766Z" fill="#8EB3F5"></path>
</symbol>
</svg>
</div>
<header class="header">
<?php if($closeHeader === 0) { ?>
<div class="cmn__container header__container">
<div class="header__info">
<?php if ($individual == false) { ?>
<?php if ($user['photo']) { ?>
<img class="header__logo" src="<?php if ($user['photo']) { echo "/photos/agency/" . $user['photo']; } else { echo "";}?>" alt="логотип" width="117" height="100">
<?php } ?>
<div class="contacts">
<span class="cmn__text cmn__text--small cmn__main"><?php echo $user['agencyName'];?></span>
<?php
if($closeHeader === 0){
?>
<?php if ($user['sitename']) { ?>
<a class="cmn__text cmn__text--small cmn__gray cmn__underline" href="<?php echo $user['site']; ?>"><?php echo $user['sitename']; ?></a>
<? } ?>
<?php if ($user['email']) { ?>
<a class="cmn__text cmn__text--small cmn__gray cmn__underline" href="mailto:<?php echo $user['email']; ?>"><?php echo $user['email']; ?></a>
<?php } ?>
<a class="cmn__text cmn__text--info cmn__main" href="tel:<?php echo $user['phoneAgency']; ?>"><?php echo $user['phoneAgency']; ?></a></div>
<?php }
} ?>
</div>
<div class="favorites" onclick="switchFavoriteFiltered()">
<button title="Избранные" class="favorites-button" id="favorites">
<div class="favorites-heart-icon<?= ($isFavoriteFiltered ? ' active' : '') ?>"></div>
<span class="favorites-span-text">Избранное</span>
<span class="favorites-span-count"><?= $countFavorites ?></span>
<div class="favorites-close<?= ($isFavoriteFiltered ? ' active' : '') ?>"></div>
</button>
</div>
<div class="header__user">
<div class="user">
<?php if ($individual) { ?>
<?php if ($user['photo']) { ?>
<img src="<?php if ($user['photo']) { echo "/photos/agency/" . $user['photo']; } else { echo "";}?>" alt="логотип" width="100" height="100">
<?php } ?>
<?php } else { ?>
<?php if ($user['user_logo']) {?>
<img src="<?php if ($user['user_logo']) { echo "/photos/agency/" . $user['user_logo']; } else { echo "";}?>" alt="аватар" width="100" height="100">
<?php
}
}
?>
<div class="user__info">
<span class="cmn__text cmn__text--small cmn__gray">Ваш менеджер</span>
<span class="cmn__text cmn__text--small cmn__main"><?php echo htmlspecialchars_decode(trim($user['last_name'] . ' ' . $user['first_name'] . ' ' . $user['middle_name'])); ?></span>
<?php if ($user['email']) { ?>
<a class="cmn__text cmn__text--small cmn__gray cmn__underline" href="mailto:<?php echo $user['email']; ?>"><?php echo $user['email']; ?></a>
<?php } ?>
<a class="cmn__text cmn__text--info cmn__main" href="tel:<?php echo $user['phone']; ?>"><?php echo $user['phone']; ?></a>
</div>
</div>
</div>
</div>
<?php } ?>
</header>
<main>
<div class="favorites favorites__adaptive" onclick="switchFavoriteFiltered()">
<button title="Избранные" class="favorites-button favorites-button__adaptive" id="favorites">
<div class="favorites-heart-icon<?= ($isFavoriteFiltered ? ' active' : '') ?>"></div>
<span class="favorites-span-text">Избранное</span>
<span class="favorites-span-count"><?= $countFavorites ?></span>
<div class="favorites-close<?= ($isFavoriteFiltered ? ' active' : '') ?>"></div>
</button>
</div>
<section class="object">
<div class="cmn__container">
<div class="presentation__container">
<h1 class="visually-hidden">Агентство недвижимости <?php echo $user['agencyName'];?>. Презентация объекта</h1>
<ul class="object__list">
<?php foreach ($objectIds as $objectId):
$isObjectFavorite = $objects[$objectId]['is_favorite']; ?>
<li class="object__list-item" style="display:<?= ($isFavoriteFiltered && !$isObjectFavorite ? ' none' : '') ?>">
<div class="object__list-item-slider">
<div class="slider">
<div class="swiper-container apartment-slider">
<div class="swiper-wrapper">
<?php
for ($num = 1; $num <= 40; $num++) {
if ($num == 2) {
if($objects[$objectId]['plan'] != '') {
echo '<div class="swiper-slide"><a href="' . $objects[$objectId]['plan'] . '" target="_blank"><img src="'.$objects[$objectId]['plan'].'" alt="планировка объекта"></a></div>';
}
}
if ($objects[$objectId]['photo' . $num]) {
if (stripos($objects[$objectId]['photo' . $num], "http") === false && stripos($objects[$objectId]['photo' . $num], "https://") === false) {
$objects[$objectId]['photo' . $num] = "/photos/" . $objects[$objectId]['photo' . $num];
}
echo '<div class="swiper-slide"><a href="' . $objects[$objectId]['photo' . $num] . '" target="_blank"><img src="' . $objects[$objectId]['photo' . $num] . '" alt="фото объекта"></a></div>';
}
}
?>
</div>
<div class="swiper-button-prev apartment-slider-button-prev"> </div>
<div class="swiper-button-next apartment-slider-button-next"> </div>
</div>
</div>
</div>
<div class="object__list-item-content object-info">
<div class="object-info__header">
<h2><?php echo $objects[$objectId]['nazv']; ?></h2>
<button title="Добавить в избранное" token="<?=$objects[$objectId]['token']?>" onclick="switchActivity(this)" class="favorite<?= $isObjectFavorite ? ' active' : '' ?>"></button>
</div>
<div class="object-info__content">
<div class="object-info__content-section content-start">
<div class="flex-align-center">
<svg width="18" height="18">
<use xlink:href="#icon-calendar"></use>
</svg>
<span class="cmn__text cmn__text--small cmn__light">
<?php
list($dateAdd, $timeAdd) = explode(" ", $objects[$objectId]['date_add']);
list($d, $m, $y) = explode(".", $dateAdd);
$date_add = $d." ".getRusMonth($m)." ".$y;
$date = $date_add."&nbsp;&nbsp;".$timeAdd;
echo $date;
if ($objects[$objectId]['operation_type'] == 0) {
echo "&nbsp;&nbsp;Сдается " . $SROK_ARENDY[$objects[$objectId]['srok']];
if ($objects[$objectId]['prim_srok']) echo "&nbsp;(".$objects[$objectId]['prim_srok'].")";
} else {
if ($objects[$objectId]['operation_type'] == 1) {
echo "&nbsp;&nbsp;Продается";
}
}
?>
</span>
</div>
<address class="cmn__text cmn__text--med cmn__main">
<?php if (!$hideAddress[$objectId]): ?>
<?php
$sqlLocationInfo = "SELECT * FROM object_location WHERE object_id=".$objects[$objectId]['id'];
$rezLocationInfo = mysql_query($sqlLocationInfo);
if (mysql_num_rows($rezLocationInfo) > 0) {
$objLocationInfo = mysql_fetch_assoc($rezLocationInfo);
$objects[$objectId]['latitude'] = $objLocationInfo[''];
$objects[$objectId]['longitude '] = $objLocationInfo[''];
echo $objLocationInfo['address'];
} else {
$sql = "SELECT * FROM rayon WHERE id in (select rayon from objects where id =" . $objects[$objectId]['id'] . ")";
$result = mysql_query($sql);
if ($result) {
$rayon = mysql_fetch_assoc($result);
}
if ($objects[$objectId]['id_rf_region'] == 50) {
if(is_bool(strpos($objects[$objectId]['adres'], "Ленинградская область"))){
echo "Ленинградская область,";
}
}else if($objects[$objectId]['id_rf_region'] == 81){
echo "Санкт Петербург,";
} else if($objects[$objectId]['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 =" . $objects[$objectId]['id'] . ")";
$rezRegion = mysql_query($sqlRegion);
if($rezRegion){
$region = mysql_fetch_assoc($rezRegion);
echo $region['parent'].','.$region['name'].' округ,';
}
}
?>
<?php
echo str_replace('г. Санкт-Петербург, ', '', $objects[$objectId]['adres']);
if ($objects[$objectId]['dom']) {
echo ", " . $objects[$objectId]['dom'];
}
if ($objects[$objectId]['korpus']) {
echo ", корпус " . $objects[$objectId]['korpus'];
}
if ($objects[$objectId]['litera']) {
echo ", литера " . $objects[$objectId]['litera'];
}
}
?>
<?php endif; ?>
</address>
<span class="cmn__text cmn__text--small cmn__light">
<?php
if($objects[$objectId]['rayon']){
if (strpos($objects[$objectId]['rayon'], "район") or strpos($objects[$objectId]['adres'], "район") or strpos($objects[$objectId]['adres'], "р")) {
echo $objects[$objectId]['rayon'];
} else {
echo $objects[$objectId]['rayon'] . " район";
}
}
?>
</span>
<?php
$mtr = [];
$sql = "SELECT metro.metro FROM metro, sp_metro
WHERE sp_metro.id_metro = metro.id AND sp_metro.id_obj =" . $objects[$objectId]['id'];
$result = mysql_query($sql);
while($m = mysql_fetch_row($result)) $mtr[] = $m[0];
?>
<?php if (count($mtr) > 0) { ?>
<div class="flex-align-center">
<svg width="20" height="20">
<use xlink:href="#icon-metro"></use>
</svg>
<span class="cmn__text cmn__text--small cmn__extra">
<?php echo implode(", ",$mtr); ?>
</span>
</div>
<span class="cmn__text cmn__text--small cmn__light">
<?php
if($objects[$objectId]['peshkom']) echo $objects[$objectId]['peshkom']." минут пешком";
if($objects[$objectId]['peshkom'] and $objects[$objectId]['transport']) echo " или ";
if($objects[$objectId]['transport']) echo $objects[$objectId]['transport']." минут на транспорте";
?>
</span>
<?php } ?>
</div>
<div class="object-info__content-section">
<?php if (in_array($objects[$objectId]['type'], [7, 3, 5])) { ?>
<p class="cmn__text cmn__text--small"><span><?php echo $objects[$objectId]['land_area'] * 1 . ' соток'; ?></span></p>
<?php } else { ?>
<p class="cmn__text cmn__text--small"><span><?php echo $objects[$objectId]['ploshad'] * 1;?></span> кв. м</p>
<?php if (abs($objects[$objectId]['ploshad_komn']) > 0) { ?>
<p class="cmn__text cmn__text--small cmn__light">Жилая:
<span><?php echo abs($objects[$objectId]['ploshad_komn']) ; ?></span> кв. м
</p>
<?php } ?>
<?php if (abs($objects[$objectId]['ploshad_k']) > 0) { ?>
<p class="cmn__text cmn__text--small cmn__light">Кухни:
<span><?php echo abs($objects[$objectId]['ploshad_k']); ?></span> кв. м
</p>
<?php } ?>
<?php if ($objects[$objectId]['etazh'] * 1 != 0) { ?>
<p class="cmn__text cmn__text--small">Этаж: <span>
<?php
if ((int)$objects[$objectId]['etazh'] == 1 && $objects[$objectId]['etaz_first_type'] > 0) {
echo $etaz_first_types[$objects[$objectId]['etaz_first_type']] . '</span>';
} else {
echo $objects[$objectId]['etazh'] . '</span>';
}
if ($objects[$objectId]['etazh_iz'] * 1 != 0) echo " этаж из <span>" . $objects[$objectId]['etazh_iz'] . '</span>';
?>
</p>
<?php } ?>
<?php } ?>
</div>
<?php
$currency = 'p';
//var_dump((int)$obj['currency'] == 2);
if(isset($objects[$objectId]['currency'])){
if((int)$objects[$objectId]['currency'] == 1) {
$currency = '$';
}
else if((int)$objects[$objectId]['currency'] == 2){
$currency = '€';
}
}
?>
<div class="object-info__content-section"><span class="cmn__text cmn__text--small cmn__light">Цена</span><strong><?php echo number_format($objects[$objectId]['stoim'], 0, ',', ' '); ?> <?=$currency?></strong>
<span class="cmn__text cmn__text--small cmn__light">
<?php
if ($objects[$objectId]['type'] == 7) {
if ($objects[$objectId]['land_area'] && $objects[$objectId]['stoim']) {
echo number_format($objects[$objectId]['stoim'] / $objects[$objectId]['land_area'], 0, ',', ' ');
echo '<span class="rub" style="font-size: 15px;">p</span>(сотку)';
}
} else {
if ($objects[$objectId]['ploshad'] && $objects[$objectId]['stoim']) {
echo number_format($objects[$objectId]['stoim'] / $objects[$objectId]['ploshad'], 0, ',', ' ');
echo '<span class="rub" style="font-size: 15px;"> p </span>(м<sup>2</sup>)';
}
}
?>
</span>
<?php if ((int)$objects[$objectId]['operation_type'] === 1 && $objects[$objectId]['stoim_prim'] == "Возможна ипотека") { ?>
<div class="mortgage-badge">
<svg width="14" height="14">
<use xlink:href="#icon-coins"></use>
</svg>
<span class="cmn__text cmn__text--small">Возможна ипотека</span>
</div>
<?php } ?>
</div>
</div>
<?php $link = "/object-view.php?token=" . $tokens[$objectId];?>
<div class="object-info__footer"><a class="more-link" href="<?= $link ?>">Подробнее</a>
</div>
</div>
</li>
<?php endforeach; ?>
</ul>
</div>
</div>
</section>
</main>
<footer class="footer">
<?php
if($closeHeader == 0){ ?>
<div class="cmn__container footer__container">
<?php if ($individual == false) { ?>
<div class="footer__info">
<?php if ($user['photo']) { ?>
<img src="<?php if ($user['photo']) { echo "/photos/agency/" . $user['photo']; } else { echo "";}?>" alt="логотип" width="90" height="77">
<?php } ?>
<div class="contacts">
<span class="cmn__text cmn__text--small cmn__main"><?php echo $user['agencyName'];?></span>
<?php if ($user['sitename']) { ?>
<a class="cmn__text cmn__text--small cmn__gray cmn__underline" href="<?php echo $user['site']; ?>"><?php echo $user['sitename']; ?></a>
<? } ?>
<?php if ($user['email']) { ?>
<a class="cmn__text cmn__text--small cmn__gray cmn__underline" href="mailto:<?php echo $user['email']; ?>"><?php echo $user['email']; ?></a>
<?php } ?>
<a class="cmn__text cmn__text--info cmn__main" href="tel:<?php echo $user['phoneAgency']; ?>"><?php echo $user['phoneAgency']; ?></a></div>
</div>
<?php } ?>
<div class="footer__user">
<div class="user">
<?php if ($individual) { ?>
<?php if ($user['photo']) { ?>
<img src="<?php if ($user['photo']) { echo "/photos/agency/" . $user['photo']; } else { echo "";}?>" alt="логотип" width="100" height="100">
<?php } ?>
<?php } else { ?>
<?php if ($user['user_logo']) {?>
<img src="<?php if ($user['user_logo']) { echo "/photos/agency/" . $user['user_logo']; } else { echo "";}?>" alt="аватар" width="100" height="100">
<?php
}
}
?>
<div class="user__info">
<span class="cmn__text cmn__text--small cmn__gray">Ваш менеджер</span>
<span class="cmn__text cmn__text--small cmn__main"><?php echo htmlspecialchars_decode(trim($user['last_name'] . ' ' . $user['first_name'] . ' ' . $user['middle_name'])); ?></span>
<?php if ($user['email']) { ?>
<a class="cmn__text cmn__text--small cmn__gray cmn__underline" href="mailto:<?php echo $user['email']; ?>"><?php echo $user['email']; ?></a>
<?php } ?>
<a class="cmn__text cmn__text--info cmn__main" href="tel:<?php echo $user['phone']; ?>"><?php echo $user['phone']; ?></a></div>
</div>
</div>
</div>
<?php } ?>
</footer>
<!-- include ./modals/info-modal-->
<script src="presentation/catalog/js/bundle.js"></script>
<script type="text/javascript">
function addFavorite(token) {
$.ajax({
url: '/ajax/addFavorite.php',
method: 'POST',
data: { token: token },
success: function(response) {
},
error: function(xhr, status, error) {
console.log('AJAX Error:', error);
console.log('Status:', status);
console.log('Response:', xhr.responseText);
}
});
}
function removeFavorite(token) {
$.ajax({
url: '/ajax/removeFavorite.php',
method: 'POST',
data: { token: token },
success: function(response) {
},
error: function(xhr, status, error) {
console.log('AJAX Error:', error);
console.log('Status:', status);
console.log('Response:', xhr.responseText);
}
});
}
function switchActivity(elem) {
var token = elem.getAttribute('token');
var favoritesSpanCount = $('.favorites-span-count');
var countFavorites = favoritesSpanCount.html();
if ($(elem).hasClass('active')) {
removeFavorite(token);
$(elem).removeClass('active');
countFavorites--;
var url = new URL(document.location);
var urlSearchParams = url.searchParams;
var isFavoriteFiltered = urlSearchParams.get("isFavoriteFiltered");
if (isFavoriteFiltered === 'true') {
$(elem).closest('.object__list-item').hide();
}
} else {
addFavorite(token);
$(elem).addClass('active');
countFavorites++;
}
favoritesSpanCount.html(countFavorites);
}
function switchFavoriteFiltered() {
var url = new URL(document.location);
var urlSearchParams = url.searchParams;
var objectList = $('.object__list-item');
var favoritesClose = $('.favorites-close');
var favoritesHeartIcon = $('.favorites-heart-icon');
var isFavoriteFiltered = urlSearchParams.get("isFavoriteFiltered");
if (isFavoriteFiltered === 'true') {
urlSearchParams.set("isFavoriteFiltered", 'false');
if (favoritesClose.hasClass('active')) {
favoritesClose.removeClass('active');
}
if (favoritesHeartIcon.hasClass('active')) {
favoritesHeartIcon.removeClass('active');
}
for (var i = 0; i < objectList.length; i++) {
var object = objectList.eq(i);
var favoriteButton = object.find('.favorite');
if (!favoriteButton.hasClass('active')) {
object.show();
}
}
} else {
if (isFavoriteFiltered === 'false') {
urlSearchParams.set("isFavoriteFiltered", 'true');
} else {
urlSearchParams.append("isFavoriteFiltered", 'true');
}
favoritesClose.addClass('active');
favoritesHeartIcon.addClass('active');
for (var i = 0; i < objectList.length; i++) {
var object = objectList.eq(i);
var favoriteButton = object.find('.favorite');
if (!favoriteButton.hasClass('active')) {
object.hide();
}
}
}
history.pushState('', '', url);
}
</script>
</body>
</html>