%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /home/bitrix/www/local/components/p4/catalog.list/
Upload File :
Create Path :
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();

Zerion Mini Shell 1.0