'; if ($_SESSION['id'] && isset($_POST['objId'])) { $numOnPage = 10; $view = array(); $favour = array(); $sql = "SELECT * FROM views WHERE id_user = $_SESSION[id]"; $rez = mysql_query($sql); while($f=mysql_fetch_assoc($rez)) $view[] = $f['id_obj']; $sql = "SELECT * FROM favor WHERE id_user = $_SESSION[id]"; $rez = mysql_query($sql); while($f=mysql_fetch_assoc($rez)) $favour[] = $f['id_obj']; $agencyId = User::getAgencyIdForUser($_SESSION['id']); $usersIds = User::getAllAgencyUsers($agencyId); $usersIds[] = $_SESSION['id']; $usersIds = array_unique($usersIds); $notes_bd_usl = "created_by IN (" . implode(",", $usersIds) . ")"; $cabinetObjCompetitors = []; $db = new MysqlPdo(hstsph, null, null, null, true, '9306'); $post = clearInputData($_POST); $pageNumber = 1; if (isset($post['page'])) { $pageNumber = trim($post['page']); } if (!$pageNumber) { $pageNumber = 1; } $objectId = $objectIdForLowPrice = trim($post['objId']); $forCabinet = isset($post['cabinet']) && $post['cabinet'] == 1; //если у нас форма для кабинета, то тащим все, что было выбрано раньше для отметка как выбранного if ($forCabinet) { $cabinetObjCompetitors[] = ObjectCabinet::getCabinetObjCompetitorsAsObjectIds($mdb, $objectId); } $areaFrom = trim($post['areaFrom']); $areaTo = trim($post['areaTo']); $kitchenAreaFrom = trim($post['kitchenAreaFrom']); $kitchenAreaTo = trim($post['kitchenAreaTo']); $yearFrom = trim($post['yearFrom']); $yearTo = trim($post['yearTo']); $kvType = $post['kvType']; $commType = $post['commType']; $poly1 = trim($post['poly1']); $poly2 = trim($post['poly2']); $poly3 = trim($post['poly3']); $poly4 = trim($post['poly4']); $sql = "SELECT * FROM objects WHERE id = $objectId"; $res = mysql_query($sql); $obj = mysql_fetch_assoc($res); $parentRegion = '2'; $parentRegionName = ''; $sqlRegion = "SELECT parent, name FROM rf_regions WHERE id=$obj[id_rf_region] or parent=$obj[id_rf_region]"; $resRegion = mysql_query($sqlRegion); if (mysql_num_rows($resRegion) > 0) { while($row = mysql_fetch_assoc($resRegion)){ if ($row['parent']) { $parentRegion = $row['parent']; } } } $sqlParentRegion = "SELECT name FROM rf_regions WHERE id=$parentRegion"; $resParentRegion = mysql_query($sqlParentRegion); if (mysql_num_rows($resParentRegion)) { $parentReg = mysql_fetch_assoc($resParentRegion); $parentRegionName = $parentReg['name']; } //ищем исключения для этого объекта и этого пользователя $sqlExcl = "SELECT excluded_object_id FROM objects_analytic_exclude WHERE object_id = $objectId and user_id = $_SESSION[id]"; $resExcl = mysql_query($sqlExcl); $exclIds = array(); $exclSql = ""; $komnSql = ""; $komnSqlWhere = ""; $commTypeSql = ""; if (mysql_num_rows($resExcl) > 0) { while($row = mysql_fetch_assoc($resExcl)){ if ($row['excluded_object_id']) { $exclIds[] = $row['excluded_object_id']; } } } if (count($exclIds)) { $exclSql = "AND id NOT IN (" . implode(",", $exclIds) . ")"; } $komnArray = []; $studioFlag = false; if ($obj['studio_flag'] > 0) { $studioFlag = true; $komnArray[] = "studio_flag = '1'"; } if ($obj['type'] == 1) { if ($kvType) { foreach ($kvType as $key => $value) { if ($value <= 9) { $komnArray[] = "komnat = $value"; } else { if ($value == 100) { $komnArray[] = "komnat > 9"; } else { if (!$studioFlag && $value == 1000) { $komnArray[] = "studio_flag = '1'"; } } } } } } if ($obj['komnat'] && !$studioFlag && $obj['type'] != 3) { $komnArray[] = "komnat = " . $obj['komnat']; } if (count($komnArray) > 0) { $komnSql = ", (" . implode(' OR ', $komnArray) . ") AS komnCond"; $komnSqlWhere = ' AND komnCond > 0 '; } if ($obj['type'] == 4) { $commArray = []; if ($commType) { foreach ($commType as $key => $value) { $commArray[] = $value; } } $commArray[] = $obj['type_category']; if (count($commArray) > 0) { if (count($commArray) == 1) { $commTypeSql = "AND type_category=$commArray[0]"; } else { $commTypeSql = "AND type_category in (" . implode(",", $commArray) . ")"; } } } $areaSql = ""; $yearSql = ""; if ($areaFrom) { $areaSql .= "AND ploshad >= $areaFrom "; } if ($areaTo) { $areaSql .= "AND ploshad <= $areaTo "; } if ($yearFrom) { $yearSql .= "AND build_year >= $yearFrom "; } if ($yearTo) { $yearSql .= "AND build_year <= $yearTo "; } $kitchenAreaSql = ""; if ($kitchenAreaFrom) { $kitchenAreaSql .= "AND ploshad_k >= $kitchenAreaFrom "; } if ($kitchenAreaTo) { $kitchenAreaSql .= "AND ploshad_k <= $kitchenAreaTo "; } $resultArrayMap = array(); $data = array( "type" => "FeatureCollection" ); $adres_usl = " AND MATCH ('(@(id_rf_region,parent) $parentRegion)') "; $foundIds = array(); if ($poly1) { $sql = "SELECT id, CONTAINS(GEOPOLY2D(" . $poly1 . "),latitude,longitude) AS inside $komnSql FROM objects, objects_delta WHERE inside = 1 AND fbn_id = 0 AND archive = 0 AND black = 0 AND moder = 0 AND id <> $obj[id] AND operation_type = $obj[operation_type] AND type=$obj[type] $kitchenAreaSql $commTypeSql $areaSql $komnSqlWhere $adres_usl $exclSql LIMIT 0, 100000 OPTION max_matches=1000000"; if ($_SESSION['id'] == 93) { //echo $sql; } $res = $db->query($sql, true); if ($db->num_rows($res) > 0) { while ($objAddr = $db->fetch_assoc($res)) { if (!in_array($objAddr['id'], $foundIds)) { $foundIds[] = $objAddr['id']; } } } } if ($poly2) { $sql = "SELECT id, CONTAINS(GEOPOLY2D(" . $poly2 . "),latitude,longitude) AS inside $komnSql FROM objects, objects_delta WHERE inside = 1 AND fbn_id = 0 AND archive = 0 AND black = 0 AND moder = 0 AND id <> $obj[id] AND operation_type = $obj[operation_type] AND type=$obj[type] $kitchenAreaSql $commTypeSql $areaSql $komnSqlWhere $adres_usl $exclSql LIMIT 0, 100000 OPTION max_matches=1000000"; if ($_SESSION['id'] == 93) { //echo $sql; } $res = $db->query($sql, true); if ($db->num_rows($res) > 0) { while ($objAddr = $db->fetch_assoc($res)) { if (!in_array($objAddr['id'], $foundIds)) { $foundIds[] = $objAddr['id']; } } } } if ($poly3) { $sql = "SELECT id, CONTAINS(GEOPOLY2D(" . $poly3 . "),latitude,longitude) AS inside $komnSql FROM objects, objects_delta WHERE inside = 1 AND fbn_id = 0 AND archive = 0 AND black = 0 AND moder = 0 AND id <> $obj[id] AND operation_type = $obj[operation_type] AND type=$obj[type] $kitchenAreaSql $commTypeSql $areaSql $komnSqlWhere $adres_usl $exclSql LIMIT 0, 100000 OPTION max_matches=1000000"; if ($_SESSION['id'] == 93) { //echo $sql; } $res = $db->query($sql, true); if ($db->num_rows($res) > 0) { while ($objAddr = $db->fetch_assoc($res)) { if (!in_array($objAddr['id'], $foundIds)) { $foundIds[] = $objAddr['id']; } } } } if ($poly4) { $sql = "SELECT id, CONTAINS(GEOPOLY2D(" . $poly4 . "),latitude,longitude) AS inside $komnSql FROM objects, objects_delta WHERE inside = 1 AND fbn_id = 0 AND archive = 0 AND black = 0 AND moder = 0 AND id <> $obj[id] AND operation_type = $obj[operation_type] AND type=$obj[type] $kitchenAreaSql $commTypeSql $areaSql $komnSqlWhere $adres_usl $exclSql LIMIT 0, 100000 OPTION max_matches=1000000"; if ($_SESSION['id'] == 93) { //echo $sql; } $res = $db->query($sql, true); if ($db->num_rows($res) > 0) { while ($objAddr = $db->fetch_assoc($res)) { if (!in_array($objAddr['id'], $foundIds)) { $foundIds[] = $objAddr['id']; } } } } $vsego = count($foundIds); if ($vsego > 0) { $asScript = true; //подключаем расчет цен include($_SERVER['DOCUMENT_ROOT'] . "/ajax/analytics/getAnalyticsPriceStats.php"); $from = ($pageNumber - 1) * $numOnPage; $all_pages = ceil($vsego / $numOnPage); $order = 'date_add'; $order_by = 'DESC'; if(isset($post['order'])){ switch(trim($post['order'])){ case 'date_desc' : { $order = 'date_add'; $order_by = 'DESC'; break; } case 'date_asc' : { $order = 'date_add'; $order_by = 'ASC'; break; } case 'date_publish_desc' : { $order = 'date_really_add'; $order_by = 'DESC'; break; } case 'date_publish_asc' : { $order = 'date_really_add'; $order_by = 'ASC'; break; } case 'price_desc' : { $order = 'stoim'; $order_by = 'DESC'; break; } case 'price_asc' : { $order = 'stoim'; $order_by = 'ASC'; break; } case 'pricekv_desc' : { $order = 'stoim_kvm'; $order_by = 'DESC'; break; } case 'pricekv_asc' : { $order = 'stoim_kvm'; $order_by = 'ASC'; break; } case 'area_desc' : { $order = 'ploshad'; $order_by = 'DESC'; break; } case 'area_asc' : { $order = 'ploshad'; $order_by = 'ASC'; break; } } } $sqlSearch = "SELECT *, (stoim/ploshad) as stoim_kvm FROM objects, objects_delta WHERE id in (" . implode(",", $foundIds) . ") ORDER BY $order $order_by LIMIT $from, $numOnPage OPTION max_matches=1000000"; /*if ($_SESSION['id'] == 93) { echo $sqlSearch; }*/ $rezSearch = $db->query($sqlSearch); if ($db->num_rows($rezSearch) > 0) { $user = new User; $user->get($_SESSION['id']); if (!isset($user->agencyId)) { $user->agencyId = $_SESSION['id']; $user->agencyName = $user->agency_name; $user->fio = trim($user->last_name . ' ' . $user->first_name . ' ' . $user->middle_name); } while ($obj = $db->fetch_assoc($rezSearch)) { $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 = $obj[id] ORDER BY oop.sort_order"; $rezPhotoInfo = mysql_query($sqlPhotoInfo); if (mysql_num_rows($rezPhotoInfo) > 0) { while ($photoInfo = mysql_fetch_assoc($rezPhotoInfo)) { $photo = $photoInfo; $obj['photo' . $photoInfo['sort_order']] = $photoInfo['photo']; } } $sql_count_notes = "SELECT COUNT(*) FROM object_notes WHERE object_id = $obj[id] AND $notes_bd_usl"; if ($_SESSION['id'] == 10246) { echo '
' . $sql_count_notes . '
'; } $obj['notes'] = mysql_result(mysql_query($sql_count_notes), 0); include($_SERVER['DOCUMENT_ROOT'] . "/templates/object_analytics_template.php"); } echo '
'; } } else { echo "Объекты не найдены."; $script = '$("#analyticsDempAllPrice").html("-");'; $script .= '$("#analyticsNowPrice").html("-");'; $script .= '$("#analyticsAvarageAllPrice").html("-");'; $script .= '$("#analyticsThreeMonthPrice").html("-");'; $script .= '$("#analyticsHighAllPrice").html("-");'; $script .= '$("#analyticsTwelveMonthPrice").html("-");'; $script .= '$("#analyticsDempMeters").html("-");'; $script .= '$("#analyticsAvarageMeters").html("-");'; $script .= '$("#analyticsHighMeters").html("-");'; $script .= '$("#analyticsMetersTitleWarning").show();'; $script .= '$("#analyticsDempAllPriceLink").hide();'; $script .= '$("#analyticsAvarageAllPriceLink").hide();'; $script .= '$("#analyticsHighAllPriceLink").hide();'; $script .= '$("#averageCountNumber").html("");'; echo ''; } } echo ""; function paging($page, $all_pages, $objId) { if ($page == 1) { echo "
  • 1
  • "; } else { $prev = $page - 1; echo "
  • «
  • "; echo "
  • 1
  • "; } if ($all_pages > 8) { if ($page > 4) { $ot = $page - 3; echo "
  • ...
  • "; } else { $ot = 2; } if ($page < $all_pages - 4) { $do = $page + 3; } else { $do = $all_pages; } } else { $ot = 2; $do = $all_pages; } for ($i = $ot; $i < $do; $i++) { if ($i == $page) $cl = "active"; else $cl = ""; echo "
  • $i
  • "; } if ($all_pages > 8 and $page < $all_pages - 4) { echo "
  • ...
  • "; } if ($page == $all_pages) echo "
  • $all_pages
  • "; else { echo "
  • $all_pages
  • "; $nxt = $page + 1; echo "
  • »
  • "; } } ?>