%PDF- %PDF-
Direktori : /home/bitrix/www/local/components/p4/casting.item/ |
Current File : //home/bitrix/www/local/components/p4/casting.item/component.php |
<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die(); /* @var array $arParams */ /* @var array $arResult */ /* @global CMain $APPLICATION */ /* @global CUser $USER */ $arResult['APP_RESULT']['OK'] = true; if ($_SERVER["REQUEST_METHOD"]=="POST" && isset($_REQUEST['FEEDBACK_CASTING_ID']) && intval($_REQUEST['FEEDBACK_CASTING_ID'])>0) { if (!isset($arParams['V2']) || $arParams['V2'] != 'Y') { $arResult['APP_RESULT']['OK'] = false; $arResult['APP_RESULT']['ERROR_MESSAGE'] = GetMessage('APP_UPGRADE'); $this->IncludeComponentTemplate(); return; } // Постинг отлика $_REQUEST['sessid'] = bitrix_sessid(); // Вообще конечно надо бы проверять $APPLICATION->IncludeComponent("p4:p.castings.feedback", "json", array("IBLOCK_ID" => 14)); } elseif ($_SERVER["REQUEST_METHOD"]=="POST" && isset($arParams['CASTING_POST']) && $arParams['CASTING_POST']=='Y') { // Постинг кастинга $_REQUEST['sessid'] = bitrix_sessid(); // Преобразование дат из timestamp if (intval($_POST['CASTING_PROPS']['JOB_DATE'])>0) $_POST['CASTING_PROPS']['JOB_DATE'] = ConvertTimeStamp($_POST['CASTING_PROPS']['JOB_DATE']); if (intval($_POST['CASTING_PROPS']['START_DATE'])>0) $_POST['CASTING_PROPS']['START_DATE'] = ConvertTimeStamp($_POST['CASTING_PROPS']['START_DATE']); if (intval($_POST['CASTING_PROPS']['END_DATE'])>0) $_POST['CASTING_PROPS']['END_DATE'] = ConvertTimeStamp($_POST['CASTING_PROPS']['END_DATE']); if (isset($_POST['CASTING_PROPS']['NUDITY']) && $_POST['CASTING_PROPS']['NUDITY'] != 199) unset($_POST['CASTING_PROPS']['NUDITY']); $APPLICATION->IncludeComponent("p4:p.castings.edit", "json", array( "IBLOCK_ID" => 12, "PREFIX" => "Vacancy: " )); } elseif (isset($_REQUEST['ID'])&&intval($_REQUEST['ID'])>0) { // todo Кэширование запросов $arFilter = array('IBLOCK_ID'=>12, 'ACTIVE'=>'Y', 'ID'=>$_REQUEST['ID']); $rs = CIBlockElement::GetList(array(), $arFilter); if ($ob = $rs->GetNextElement()) { $arFields = $ob->GetFields(); $arProps = $ob->GetProperties(); // $arResult['APP_RESULT']['FIELDS'] = $arFields; // $arResult['APP_RESULT']['PROPS'] = $arProps; $arUser['PROFILE'] = getUserProfile($arFields['CREATED_BY']); $arResult['APP_RESULT']['ITEM'] = array( 'ID' => $arFields['ID'], 'NAME' => $arFields['NAME'], 'PICTURE' => CFile::GetPath($arFields['DETAIL_PICTURE']), 'CASTING_TEXT' => $arProps['CASTING_TEXT']['VALUE'], 'CITY' => $arProps['CITY']['VALUE'], 'CREATED_BY' => $arUser['PROFILE']['NAME'], 'COMPENSATION' => $arProps['COMPENSATION']['VALUE'], 'COMPENSATION_CURRENCY' => $arProps['COMPENSATION_CURRENCY']['VALUE_ENUM_ID'], 'COMPENSATION_TYPE' => $arProps['COMPENSATION_TYPE']['VALUE_ENUM_ID'], /* 'CONTACT_COMPANY' => $arProps['CONTACT_COMPANY']['VALUE'], 'CONTACT_EMAIL' => $arProps['CONTACT_EMAIL']['VALUE'], 'CONTACT_NAME' => $arProps['CONTACT_NAME']['VALUE'], 'CONTACT_PHONE' => $arProps['CONTACT_PHONE']['VALUE'], 'CONTACT_SITE' => $arProps['CONTACT_SITE']['VALUE'], */ 'START_DATE' => MakeTimeStamp($arProps['START_DATE']['VALUE']), 'END_DATE' => MakeTimeStamp($arProps['END_DATE']['VALUE']), 'JOB_DATE' => MakeTimeStamp($arProps['JOB_DATE']['VALUE']), 'GENRES' => $arProps['GENRES']['VALUE_ENUM_ID'], 'NUDITY' => $arProps['NUDITY']['VALUE_ENUM_ID'], 'SEX' => $arProps['SEX']['VALUE_ENUM_ID'], 'TFP' => $arProps['TFP']['VALUE'], 'IS_REPLY' => 'N', ); if ($USER->IsAuthorized()) { $userID = $USER->GetID(); if (isset($_REQUEST['FEEDBACK']) && $_REQUEST['FEEDBACK'] === 'Y') // Подгружает отклики для своего кастинга { // if ($arFields['CREATED_BY'] == $userID) // todo добавить проверку { $arResult['APP_RESULT']['ITEM']['FEEDBACK_ITEMS'] = array(); $arFilter = array('IBLOCK_ID'=>14, 'PROPERTY_VACANCY'=>$_REQUEST['ID']); $dbFeedback = CIBlockElement::GetList(array('ID'=>'desc'), $arFilter, false, false, array('ID', 'NAME', 'DATE_CREATE', 'DETAIL_TEXT', 'PROPERTY_USER_ID')); while ($arFeedback = $dbFeedback->Fetch()) { $dbProfile = CIBlockElement::GetList(array(), array("IBLOCK_ID" => IBLOCK_PROFILE_ID, "PROPERTY_ACCOUNT" => $userID, "ACTIVE" => 'Y'), false, false, array("ID") ); if ($arProfile = $dbProfile->Fetch()) { $arResult['APP_RESULT']['ITEM']['FEEDBACK_ITEMS'][] = array( 'ID' => $arFeedback['ID'], 'DATE_CREATE' => MakeTimeStamp($arFeedback['DATE_CREATE']), 'NOTE' => $arFeedback['DETAIL_TEXT'], 'PROFILE_ID' => $arProfile['ID'] ); } } } } else { $arFilter = array('IBLOCK_ID'=>14, 'CREATED_BY'=>$userID, 'PROPERTY_VACANCY'=>$_REQUEST['ID']); $rs = CIBlockElement::GetList(array(), $arFilter); if ($rs->Fetch()) $arResult['APP_RESULT']['ITEM']['IS_REPLY'] = 'Y'; } } } else { $arResult['APP_RESULT']['OK'] = false; $arResult['APP_RESULT']['ERROR_MESSAGE'] = GetMessage('CASTING_NOT_FOUND'); } $this->IncludeComponentTemplate(); } else { $arResult['APP_RESULT']['OK'] = false; $arResult['APP_RESULT']['ERROR_MESSAGE'] = GetMessage('CASTING_ID_NOT_DEFINED'); $this->IncludeComponentTemplate(); }