require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
$APPLICATION->SetTitle("Квартиры в Новостройках");
?>
$APPLICATION->IncludeComponent("bitrix:main.include", ".default", array(
"AREA_FILE_SHOW" => "file",
"PATH" => "/include/filtercomplex.php",
"EDIT_TEMPLATE" => ""
),
false
);?>
if ( $_GET) {
//PR($_GET);
$year_today = date("Y");
$year_last = $year_today - 1;
$month_today = date("n");
$quarter_today = ceil($month_today / 3);
CModule::IncludeModule("iblock");
$arrFilter = array();
$arrFilter['IBLOCK_ID'] = 49;
//Получаем список id метро
$metro = array();
$arFilter = Array('IBLOCK_ID'=>10, 'ACTIVE'=>'Y');
$res = CIBlockElement::GetList(Array(), $arFilter);
while($ob = $res->GetNextElement())
{
$arFields = $ob->GetFields();
$metro[abs(crc32($arFields['ID']))] = $arFields['ID'];
}
//Получаем список id rayon
$rayon = array();
$arFilter = Array('IBLOCK_ID'=>9);
$db_list = CIBlockSection::GetList(Array($by=>$order), $arFilter, false);
while($ar_result = $db_list->GetNext())
{
$rayon[abs(crc32($ar_result['ID']))] = $ar_result['ID'];
}
//Получаем список id year
$property_enums = CIBlockPropertyEnum::GetList(Array("DEF"=>"DESC", "SORT"=>"ASC"), Array("IBLOCK_ID"=>42, "CODE"=>'BUILT'));
while($enum_fields = $property_enums->GetNext())
{
$tempyear = "arrFilter_235_".abs(crc32($enum_fields["ID"]));
if ($_GET['BUILT'][0] == $tempyear) {
$arrFilter['PROPERTY_BUILT_VALUE'] = $enum_fields['VALUE'];
$newarrFilter['PROPERTY_BUILT_VALUE'] = $enum_fields['VALUE'];
}
$year[abs(crc32($enum_fields["ID"]))] = $enum_fields['VALUE'];
}
//Получаем список id QUARTER
$property_enums = CIBlockPropertyEnum::GetList(Array("DEF"=>"DESC", "SORT"=>"ASC"), Array("IBLOCK_ID"=>42, "CODE"=>'QUARTER'));
while($enum_fields = $property_enums->GetNext())
{
$tempyear = "arrFilter_365_".abs(crc32($enum_fields["ID"]));
if ($_GET['QUARTER'][0] == $tempyear) {
$arrFilter['PROPERTY_QUARTER_VALUE'] = $enum_fields['VALUE'];
$newarrFilter['PROPERTY_QUARTER_VALUE'] = $enum_fields['VALUE'];
}
$quarter[abs(crc32($enum_fields["ID"]))] = $enum_fields['VALUE'];
}
if ( $_GET['BUILT'][0] != '' ) {
foreach ($_GET['BUILT'] as $val) {
$_GET[$val] = "Y";
}
}
if ( $_GET['QUARTER'][0] != '' ) {
foreach ($_GET['QUARTER'] as $val) {
$_GET[$val] = "Y";
}
}
//Ищим подходящии здания по метро или району. с сохраняем ID
//
$arrFilterzdd = array();
$arrFilterzdd['IBLOCK_ID'] = 42;
foreach ($_GET as $index=>$el) {
$param = explode('_',$index);
if ( $param[1] == 231 ) {
$arrFilterzdd["PROPERTY_LOCATION_M"][] = $metro[$param[2]];
}elseif ( $param[1] == 230 ) {
$arrFilterzdd["PROPERTY_LOCATION"][] = $rayon[$param[2]];
}elseif ( $param[1] == 19 ) {
$arrFilterzdd["PROPERTY_LOCATION"][] = $rayon[$param[2]];
}elseif ( $param[1] == 20 ) {
$arrFilterzdd["PROPERTY_LOCATION_M"][] = $metro[$param[2]];
}elseif ( $param[1] == 235 ) {
if ($year[$param[2]] == $year_last) {
for ($i=$year_today; $i>=2010; $i--) {
$arrFilterzdd["PROPERTY_BUILT_VALUE"][] = $i;
}
$flag = true;
for ($i=4; $i>=1; $i--) {
$arrFilterzdd["PROPERTY_QUARTER_VALUE"][] = $i;
}
} else {
$arrFilterzdd["PROPERTY_BUILT_VALUE"] = $year[$param[2]];
}
}elseif ( $param[1] == 365 ) {
if (count($arrFilterzdd["PROPERTY_QUARTER_VALUE"]) != 4) {
$arrFilterzdd["PROPERTY_QUARTER_VALUE"] = $quarter[$param[2]];
}
}
}
if ($_GET['qval'] == '4') {
$arrFilterzdd["PROPERTY_STREET"] = $_GET['q'];
unset($arrFilterzdd["PROPERTY_LOCATION_M"]);
unset($arrFilterzdd["PROPERTY_LOCATION"]);
}
if ($_GET['qval'] == '3') {
$arrFilterzdd["NAME"] = $_GET['q'];
unset($arrFilterzdd["PROPERTY_LOCATION_M"]);
unset($arrFilterzdd["PROPERTY_LOCATION"]);
}
$res = CIBlockElement::GetList(Array(), $arrFilterzdd);
while($ob = $res->GetNextElement()){
$arFields = $ob->GetFields();
$arProps = $ob->GetProperties();
if ($flag == true) {
if ($arProps['BUILT']['VALUE'] != $year_today) {
$arrFilter['PROPERTY_COMPLEX'][] = $arFields['ID'];
}
if ($arProps['BUILT']['VALUE'] == $year_today && $arProps['QUARTER']['VALUE'] <= $quarter_today) {
$arrFilter['PROPERTY_COMPLEX'][] = $arFields['ID'];
}
} else {
$arrFilter['PROPERTY_COMPLEX'][] = $arFields['ID'];
}
}
if ( $arrFilter['PROPERTY_COMPLEX'][0] == '' ) {
$arrFilter['PROPERTY_COMPLEX'] = false;
}
foreach ($_GET as $index=>$el) {
$param = explode('_',$index);
if ( $param[2] == 'MIN' and $el != '') {
$arrFilter[">PROPERTY_".$param[1]] = str_replace(" ","",$el);
}elseif ( $param[2] == 'MAX' and $el != '') {
$arrFilter["<=PROPERTY_".$param[1]] = str_replace(" ","",$el);
}
}
if ( $_GET['ROOM'][0] != '' ) {
$arrFilter['PROPERTY_ROOMS_VALUE'] = $_GET['ROOM'];
}
$cnt = 0;
$res = CIBlockElement::GetList(false, $arrFilter);
while($ob = $res->GetNextElement()){
$arProps = $ob->GetProperties();
$masszd[]= $arProps['COMPLEX']['VALUE'];
}
global $myarrFilter;
if ( $masszd[0] != '' ) {
$myarrFilter['ID'] = $masszd;
} else {
$myarrFilter['ID'] = false;
}
}
?>
$APPLICATION->IncludeComponent("bitrix:news.list", "map", array(
"IBLOCK_TYPE" => "base",
"IBLOCK_ID" => "42",
"NEWS_COUNT" => "8888888",
"SORT_BY1" => "ID",
"SORT_ORDER1" => "DESC",
"SORT_BY2" => "SORT",
"SORT_ORDER2" => "ASC",
"FILTER_NAME" => "myarrFilter",
"FIELD_CODE" => array(
0 => "",
1 => "",
),
"PROPERTY_CODE" => array(
0 => "MAP",
1 => "POINT_MAP",
2 => "",
),
"CHECK_DATES" => "Y",
"DETAIL_URL" => "/complex/#ELEMENT_ID#/",
"AJAX_MODE" => "N",
"AJAX_OPTION_JUMP" => "N",
"AJAX_OPTION_STYLE" => "Y",
"AJAX_OPTION_HISTORY" => "N",
"CACHE_TYPE" => "N",
"CACHE_TIME" => "36000000",
"CACHE_FILTER" => "N",
"CACHE_GROUPS" => "N",
"PREVIEW_TRUNCATE_LEN" => "",
"ACTIVE_DATE_FORMAT" => "d.m.Y",
"SET_STATUS_404" => "N",
"SET_TITLE" => "N",
"INCLUDE_IBLOCK_INTO_CHAIN" => "N",
"ADD_SECTIONS_CHAIN" => "N",
"HIDE_LINK_WHEN_NO_DETAIL" => "N",
"PARENT_SECTION" => "",
"PARENT_SECTION_CODE" => "",
"INCLUDE_SUBSECTIONS" => "Y",
"PAGER_TEMPLATE" => ".default",
"DISPLAY_TOP_PAGER" => "N",
"DISPLAY_BOTTOM_PAGER" => "Y",
"PAGER_TITLE" => "Новости",
"PAGER_SHOW_ALWAYS" => "Y",
"PAGER_DESC_NUMBERING" => "N",
"PAGER_DESC_NUMBERING_CACHE_TIME" => "36000",
"PAGER_SHOW_ALL" => "N",
"DISPLAY_DATE" => "N",
"DISPLAY_NAME" => "Y",
"DISPLAY_PICTURE" => "Y",
"DISPLAY_PREVIEW_TEXT" => "Y",
"AJAX_OPTION_ADDITIONAL" => ""
),
false
);?>
if ( $_GET) {
$year_today = date("Y");
$year_last = $year_today - 1;
$month_today = date("n");
$quarter_today = ceil($month_today / 3);
CModule::IncludeModule("iblock");
$arrFilter = array();
$arrFilter['IBLOCK_ID'] = 49;
//Получаем список id метро
$metro = array();
$arFilter = Array('IBLOCK_ID'=>10, 'ACTIVE'=>'Y');
$res = CIBlockElement::GetList(Array(), $arFilter);
while($ob = $res->GetNextElement())
{
$arFields = $ob->GetFields();
$metro[abs(crc32($arFields['ID']))] = $arFields['ID'];
}
//Получаем список id rayon
$rayon = array();
$arFilter = Array('IBLOCK_ID'=>9);
$db_list = CIBlockSection::GetList(Array($by=>$order), $arFilter, false);
while($ar_result = $db_list->GetNext())
{
$rayon[abs(crc32($ar_result['ID']))] = $ar_result['ID'];
}
//Получаем список id year
$property_enums = CIBlockPropertyEnum::GetList(Array("DEF"=>"DESC", "SORT"=>"ASC"), Array("IBLOCK_ID"=>42, "CODE"=>'BUILT'));
while($enum_fields = $property_enums->GetNext())
{
$tempyear = "arrFilter_235_".abs(crc32($enum_fields["ID"]));
if ($_GET['BUILT'][0] == $tempyear) {
$arrFilter['PROPERTY_BUILT_VALUE'] = $enum_fields['VALUE'];
$newarrFilter['PROPERTY_BUILT_VALUE'] = $enum_fields['VALUE'];
}
$year[abs(crc32($enum_fields["ID"]))] = $enum_fields['VALUE'];
}
//Получаем список id QUARTER
$property_enums = CIBlockPropertyEnum::GetList(Array("DEF"=>"DESC", "SORT"=>"ASC"), Array("IBLOCK_ID"=>42, "CODE"=>'QUARTER'));
while($enum_fields = $property_enums->GetNext())
{
$tempyear = "arrFilter_365_".abs(crc32($enum_fields["ID"]));
if ($_GET['QUARTER'][0] == $tempyear) {
$arrFilter['PROPERTY_QUARTER_VALUE'] = $enum_fields['VALUE'];
$newarrFilter['PROPERTY_QUARTER_VALUE'] = $enum_fields['VALUE'];
}
$quarter[abs(crc32($enum_fields["ID"]))] = $enum_fields['VALUE'];
}
if ( $_GET['BUILT'][0] != '' ) {
foreach ($_GET['BUILT'] as $val) {
$_GET[$val] = "Y";
}
}
if ( $_GET['QUARTER'][0] != '' ) {
foreach ($_GET['QUARTER'] as $val) {
$_GET[$val] = "Y";
}
}
//Ищим подходящии здания по метро или району. с сохраняем ID
//
$arrFilterzdd = array();
$arrFilterzdd['IBLOCK_ID'] = 42;
foreach ($_GET as $index=>$el) {
$param = explode('_',$index);
if ( $param[1] == 231 ) {
$arrFilterzdd["PROPERTY_LOCATION_M"][] = $metro[$param[2]];
}elseif ( $param[1] == 230 ) {
$arrFilterzdd["PROPERTY_LOCATION"][] = $rayon[$param[2]];
}elseif ( $param[1] == 19 ) {
$arrFilterzdd["PROPERTY_LOCATION"][] = $rayon[$param[2]];
}elseif ( $param[1] == 20 ) {
$arrFilterzdd["PROPERTY_LOCATION_M"][] = $metro[$param[2]];
}elseif ( $param[1] == 235 ) {
if ($year[$param[2]] == $year_last) {
for ($i=$year_today; $i>=2010; $i--) {
$arrFilterzdd["PROPERTY_BUILT_VALUE"][] = $i;
}
$flag = true;
for ($i=4; $i>=1; $i--) {
$arrFilterzdd["PROPERTY_QUARTER_VALUE"][] = $i;
}
} else {
$arrFilterzdd["PROPERTY_BUILT_VALUE"] = $year[$param[2]];
}
}elseif ( $param[1] == 365 ) {
if (count($arrFilterzdd["PROPERTY_QUARTER_VALUE"]) != 4) {
$arrFilterzdd["PROPERTY_QUARTER_VALUE"] = $quarter[$param[2]];
}
}
}
if ($_GET['qval'] == '4') {
$arrFilterzdd["PROPERTY_STREET"] = $_GET['q'];
unset($arrFilterzdd["PROPERTY_LOCATION_M"]);
unset($arrFilterzdd["PROPERTY_LOCATION"]);
}
if ($_GET['qval'] == '3') {
$arrFilterzdd["NAME"] = $_GET['q'];
unset($arrFilterzdd["PROPERTY_LOCATION_M"]);
unset($arrFilterzdd["PROPERTY_LOCATION"]);
}
$res = CIBlockElement::GetList(Array(), $arrFilterzdd);
while($ob = $res->GetNextElement()){
$arFields = $ob->GetFields();
//echo $arFields['NAME'].' - '.$arFields['ACTIVE'].'
';
$arProps = $ob->GetProperties();
if ($flag == true) {
if ($arProps['BUILT']['VALUE'] != $year_today) {
$arrFilter['PROPERTY_COMPLEX'][] = $arFields['ID'];
}
if ($arProps['BUILT']['VALUE'] == $year_today && $arProps['QUARTER']['VALUE'] <= $quarter_today) {
$arrFilter['PROPERTY_COMPLEX'][] = $arFields['ID'];
}
} else {
$arrFilter['PROPERTY_COMPLEX'][] = $arFields['ID'];
}
}
if ( $arrFilter['PROPERTY_COMPLEX'][0] == '' ) {
$arrFilter['PROPERTY_COMPLEX'] = false;
}
foreach ($_GET as $index=>$el) {
$param = explode('_',$index);
if ( $param[2] == 'MIN' and $el != '') {
$arrFilter[">PROPERTY_".$param[1]] = str_replace(" ","",$el);
}elseif ( $param[2] == 'MAX' and $el != '') {
$arrFilter["<=PROPERTY_".$param[1]] = str_replace(" ","",$el);
}
}
if ( $_GET['ROOM'][0] != '' ) {
$arrFilter['PROPERTY_ROOMS_VALUE'] = $_GET['ROOM'];
}
$cnt = 0;
$res = CIBlockElement::GetList(false, $arrFilter);
while($ob = $res->GetNextElement()){
$arProps = $ob->GetProperties();
$masszd[]= $arProps['COMPLEX']['VALUE'];
}
//PR($masszd);
global $myarrFilter;
if ( $masszd[0] != '' ) {
$myarrFilter['ID'] = $masszd;
} else {
$myarrFilter['ID'] = false;
}
}
?>
$APPLICATION->IncludeComponent(
"bitrix:news.list",
"complex",
array(
"IBLOCK_TYPE" => "base",
"IBLOCK_ID" => "42",
"NEWS_COUNT" => "25",
"SORT_BY1" => "SORT",
"SORT_ORDER1" => "ASC",
"SORT_BY2" => "ID",
"SORT_ORDER2" => "DESC",
"FILTER_NAME" => "myarrFilter",
"FIELD_CODE" => array(
0 => "",
1 => "",
),
"PROPERTY_CODE" => array(
0 => "STREET",
1 => "NUMBE_HOME",
2 => "BUILT",
3 => "MATERIAL",
4 => "FINISH",
5 => "",
),
"CHECK_DATES" => "Y",
"DETAIL_URL" => "/complex/#ELEMENT_ID#/",
"AJAX_MODE" => "Y",
"AJAX_OPTION_JUMP" => "N",
"AJAX_OPTION_STYLE" => "Y",
"AJAX_OPTION_HISTORY" => "N",
"CACHE_TYPE" => "A",
"CACHE_TIME" => "36000000",
"CACHE_FILTER" => "N",
"CACHE_GROUPS" => "Y",
"PREVIEW_TRUNCATE_LEN" => "",
"ACTIVE_DATE_FORMAT" => "d.m.Y",
"SET_STATUS_404" => "N",
"SET_TITLE" => "N",
"INCLUDE_IBLOCK_INTO_CHAIN" => "N",
"ADD_SECTIONS_CHAIN" => "N",
"HIDE_LINK_WHEN_NO_DETAIL" => "N",
"PARENT_SECTION" => "",
"PARENT_SECTION_CODE" => "",
"INCLUDE_SUBSECTIONS" => "Y",
"PAGER_TEMPLATE" => ".default",
"DISPLAY_TOP_PAGER" => "N",
"DISPLAY_BOTTOM_PAGER" => "Y",
"PAGER_TITLE" => "Комплексы",
"PAGER_SHOW_ALWAYS" => "N",
"PAGER_DESC_NUMBERING" => "N",
"PAGER_DESC_NUMBERING_CACHE_TIME" => "36000",
"PAGER_SHOW_ALL" => "N",
"DISPLAY_DATE" => "N",
"DISPLAY_NAME" => "Y",
"DISPLAY_PICTURE" => "Y",
"DISPLAY_PREVIEW_TEXT" => "Y",
"AJAX_OPTION_ADDITIONAL" => "",
"SET_BROWSER_TITLE" => "Y",
"SET_META_KEYWORDS" => "Y",
"SET_META_DESCRIPTION" => "Y"
),
false
);
?>