%PDF- %PDF-
Direktori : /proc/self/root/home/bitrix/www/local/components/p4/casting.list/ |
Current File : //proc/self/root/home/bitrix/www/local/components/p4/casting.list/component.php |
<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die(); // todo Кэширование запросов $arFilter = array('IBLOCK_ID'=>12, 'ACTIVE'=>'Y', 'ACTIVE_DATE'=>'Y', 'PROPERTY_SECTIONS'=>CAT_PROFILE_MODEL); if ($USER->IsAuthorized() && isset($_REQUEST['FILTER_SELF']) && $_REQUEST['FILTER_SELF'] === 'Y') { $arFilter['CREATED_BY'] = $USER->GetID(); unset($arFilter['ACTIVE']); unset($arFilter['ACTIVE_DATE']); } if (isset($_REQUEST['FILTER_REGION'])) $arFilter['PROPERTY_CITY'] = $_REQUEST['FILTER_REGION']; else $arFilter['>PROPERTY_CITY'] = 0; if (isset($_REQUEST['FILTER_TFP'])) if($_REQUEST['FILTER_TFP']=='Y') $arFilter['PROPERTY_TFP'] = 'Y'; else $arFilter['!PROPERTY_TFP'] = 'N'; if (isset($_REQUEST['FILTER_CASTING'])) if($_REQUEST['FILTER_CASTING']=='Y') $arFilter['PROPERTY_COMPENSATION_TYPE'] = 452; if (is_array($_REQUEST['FILTER_SEX'])) { if (count($_REQUEST['FILTER_SEX'])==1) $arFilter['PROPERTY_SEX'] = $_REQUEST['FILTER_SEX'][0]; else { $arSex = array('LOGIC' => 'AND'); foreach($_REQUEST['FILTER_SEX'] as $sex) $arSex[] = array('PROPERTY_SEX'=>intval($sex)); $arFilter[] = $arSex; } } elseif (isset($_REQUEST['FILTER_SEX'])) $arFilter['PROPERTY_SEX'] = $_REQUEST['FILTER_SEX']; if (is_array($_REQUEST['FILTER_GENRES'])) { if (count($_REQUEST['FILTER_GENRES'])==1) $arFilter['PROPERTY_GENRES'] = $_REQUEST['FILTER_GENRES'][0]; else { $arGenres = array(); ; foreach($_REQUEST['FILTER_GENRES'] as $genres) $arGenres[] = array("ID" => CIBlockElement::SubQuery("ID", array("IBLOCK_ID" => 12, "PROPERTY_GENRES" => intval($genres)))); $arFilter[] = array('LOGIC' => 'AND', $arGenres); } } elseif (isset($_REQUEST['FILTER_GENRES'])) $arFilter['PROPERTY_GENRES'] = $_REQUEST['FILTER_GENRES']; $arResult['APP_RESULT']['FILTER'] = $arFilter; $pageNav = array( 'iNumPage' => isset($_REQUEST['PAGE_N'])&&intval($_REQUEST['PAGE_N'])>0?$_REQUEST['PAGE_N']:1, 'nPageSize' => 80, ); $rs = CIBlockElement::GetList( array('active_from'=>'desc'), $arFilter, false, $pageNav, array('ID','IBLOCK_ID','NAME','DETAIL_PICTURE','PROPERTY_CITY','PROPERTY_JOB_DATE', 'CREATED_BY', 'ACTIVE', 'DATE_ACTIVE_FROM', 'DATE_ACTIVE_TO', 'PROPERTY_COMPENSATION_TYPE','PROPERTY_COMPENSATION_CURRENCY','PROPERTY_COMPENSATION','PROPERTY_TFP', 'PROPERTY_FEEDBACK_COUNT', 'PROPERTY_STATUS')); $arResult['APP_RESULT']['ITEMS'] = array(); $userID = $USER->GetID(); while ($item = $rs->Fetch()) { $rsCity = CIBlockElement::GetList(array('NAME'=>'ASC'),array('IBLOCK_ID'=>6,'ID'=>$item['PROPERTY_CITY_VALUE']),false,false, array('ID','NAME','IBLOCK_SECTION_ID','PROPERTY_NAME_RU')); if ($city = $rsCity->Fetch()) { $arCity = array( 'ID' => $city['ID'], 'NAME' => $city['NAME'], 'NAME_RU' => $city['PROPERTY_NAME_RU_VALUE'], 'OWNER' => $city['IBLOCK_SECTION_ID'] ); } else $arCity = array(); $isReply = 'N'; if ($userID>0) { $arFilter = array('IBLOCK_ID'=>14, 'CREATED_BY'=>$userID, 'PROPERTY_VACANCY'=>$item['ID']); $rsP = CIBlockElement::GetList(array(), $arFilter); if ($rsP->Fetch()) $isReply = 'Y'; } $arResult['APP_RESULT']['ITEMS'][] = array( 'ID' => $item['ID'], 'NAME' => $item['NAME'], 'PICTURE' => CFile::GetPath($item['DETAIL_PICTURE']), 'CITY' => $item['PROPERTY_CITY_VALUE'], 'CITY_NAME' => $arCity, 'JOB_DATE' => MakeTimeStamp($item['PROPERTY_JOB_DATE_VALUE']), 'COMPENSATION_TYPE' => $item['PROPERTY_COMPENSATION_TYPE_ENUM_ID'], 'COMPENSATION_CURRENCY' => $item['PROPERTY_COMPENSATION_CURRENCY_ENUM_ID'], 'COMPENSATION' => $item['PROPERTY_COMPENSATION_VALUE'], 'TFP' => isset($item['PROPERTY_TFP_VALUE'])?$item['PROPERTY_TFP_VALUE']:'N', 'IS_REPLY' => $isReply, 'IS_SELF' => $isReply && $item['CREATED_BY'] == $userID ? 'Y' : 'N', 'ACTIVE' => $item['ACTIVE'], 'DATE_ACTIVE_TO' => MakeTimeStamp($item['DATE_ACTIVE_TO']), 'DATE_ACTIVE_FROM' => MakeTimeStamp($item['DATE_ACTIVE_FROM']), 'FEEDBACK_COUNT' => intval($item['PROPERTY_FEEDBACK_COUNT_VALUE'])>0 ? $item['PROPERTY_FEEDBACK_COUNT_VALUE'] : 0, 'STATUS' => $item['PROPERTY_STATUS_VALUE'] ); } $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; //$arResult['APP_RESULT']['FILTER'] = print_r($arFilter,true); $this->IncludeComponentTemplate();