%PDF- %PDF-
| Direktori : /home/bitrix/www/local/components/p4/catalog.list/ |
| Current File : //home/bitrix/www/local/components/p4/catalog.list/component.php |
<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();
// todo Кэширование запросов
$arSex = array(
'M' => 19,
'F' => 20,
);
$arModleType = array(
'PM' => 259,
'AM' => 260,
);
// Фильтр: пол / возраст (диапазон) / страна,город / категории/ без параметров моделей
$arFilter = array(
'IBLOCK_ID'=>IBLOCK_PROFILE_ID,
'SECTION_ID'=>7,
'>DETAIL_PICTURE'=>0,
'!PROPERTY_BDATE'=>false,
'ACTIVE'=>'Y',
'!PROPERTY_TYPE_P4'=>false
);
if (isset($_REQUEST['FILTER_AGE_MIN'])) $arFilter['>=PROPERTY_AGE'] = $_REQUEST['FILTER_AGE_MIN'];
if (isset($_REQUEST['FILTER_AGE_MAX'])) $arFilter['<=PROPERTY_AGE'] = $_REQUEST['FILTER_AGE_MAX'];
if (isset($_REQUEST['FILTER_REGION'])) $arFilter['PROPERTY_REGION'] = $_REQUEST['FILTER_REGION'];
else $arFilter['>PROPERTY_REGION'] = 0;
if (isset($_REQUEST['FILTER_SEX'])) $arFilter['PROPERTY_SEX'] = $arSex[$_REQUEST['FILTER_SEX']];
else $arFilter['>PROPERTY_SEX'] = 0;
if (isset($_REQUEST['FILTER_MODELTYPE'])) $arFilter['PROPERTY_MODELTYPE'] = $arModleType[$_REQUEST['FILTER_MODELTYPE']];
if (is_array($_REQUEST['FILTER_THEME']))
if (count($_REQUEST['FILTER_THEME'])==1)
$arFilter['PROPERTY_MODELTHEME'] = $_REQUEST['FILTER_THEME'][0];
else
{
$arThemes = array('LOGIC' => 'OR');
foreach($_REQUEST['FILTER_THEME'] as $theme)
$arThemes[] = array('PROPERTY_MODELTHEME'=>$theme);
$arFilter[] = $arThemes;
}
$pageNav = array(
'iNumPage' => isset($_REQUEST['PAGE_N'])&&intval($_REQUEST['PAGE_N'])>0?$_REQUEST['PAGE_N']:1,
'nPageSize' => 80,
);
$rs = CIBlockElement::GetList(
array('SORT' => 'asc', 'PROPERTY_TYPE_P4.SORT'=>'asc', 'PROPERTY_RATING_P4'=>'desc'), $arFilter, false, $pageNav,
array('ID','IBLOCK_ID','NAME','SORT','DETAIL_PICTURE','PROPERTY_TYPE','PROPERTY_TYPE_P4','PROPERTY_ACCOUNT','PROPERTY_VERIFED_BY_P4'));
$arResult['APP_RESULT']['ITEMS'] = array();
while ($item = $rs->Fetch())
{
$arUser = CUser::GetByID($item['PROPERTY_ACCOUNT_VALUE'])->Fetch(); // todo Кэширование наше все?!
$arResult['APP_RESULT']['ITEMS'][] = array(
'ID' => $item['ID'],
'NAME' => $arUser['NAME'],
'LAST_NAME' => $arUser['LAST_NAME'],
'AVATAR' => CFile::GetPath($item['DETAIL_PICTURE']),
'TYPE' => CIBlockElement::GetByID($item['PROPERTY_TYPE_P4_VALUE']>0?$item['PROPERTY_TYPE_P4_VALUE']:ProfileTypeHelper::DEFAULT_ID_P4)->Fetch()['CODE'],
'VERIFED_BY_P4' => isset($item['PROPERTY_VERIFED_BY_P4_VALUE'])?$item['PROPERTY_VERIFED_BY_P4_VALUE']:'N',
'IS_PROMOTED' => $item['SORT'] == 100 ? 'Y' : 'N'
);
}
$arResult['APP_RESULT']['PAGE_N'] = $rs->NavPageNomer;
$arResult['APP_RESULT']['PAGE_SIZE'] = $rs->NavPageSize;
$arResult['APP_RESULT']['PAGE_COUNT'] = $rs->NavPageCount;
$arResult['APP_RESULT']['COUNT'] = $rs->NavRecordCount;
$arResult['APP_RESULT']['OK'] = true;
$this->IncludeComponentTemplate();