%PDF- %PDF-
Direktori : /proc/self/root/proc/self/root/home/bitrix/www/local/components/UB/casting.edit/ |
Current File : //proc/self/root/proc/self/root/home/bitrix/www/local/components/UB/casting.edit/component.php |
<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) die(); $arResult["BX_SESSION_CHECK"] = bitrix_sessid_post(); // Режим AJAX-подгрузки справочников if ($arParams['AJAX_REF']=='Y') { $rs = CIBlockProperty::GetByID('COUNTRY', $arParams['IBLOCK_ID']); if($ar_res=$rs->GetNext()) { if ($_GET['REF']=='STATE') $res = CIBlockSection::GetList(Array("SORT"=>"ASC","NAME"=>"ASC"), Array("IBLOCK_ID"=>$ar_res['LINK_IBLOCK_ID'], "ACTIVE"=>"Y", "DEPTH_LEVEL"=>2, "SECTION_ID"=>$_GET["SID"])); elseif ($_GET['REF']=='CITY') $res = CIBlockElement::GetList(Array("SORT"=>"ASC","NAME"=>"ASC"), Array("IBLOCK_ID"=>$ar_res['LINK_IBLOCK_ID'], "ACTIVE"=>"Y", "SECTION_ID"=>$_GET["SID"], "INCLUDE_SUBSECTIONS"=>"Y")); ?><option value=""></option><? while($ar_result=$res->GetNext()) { ?><option value="<?=$ar_result['ID']?>"><?=$ar_result['NAME']?></option><? } } return; } /* function checkDateFormat($datetime) { $format = "DD.MM.YYYY"; if ($arr = ParseDateTime($datetime, $format)) return true; else return false; } */ function clearDateMask($date) { if ($date=="__.__.____") return ''; else return $date; } if($_SERVER["REQUEST_METHOD"]=="POST" && check_bitrix_sessid()) { CModule::IncludeModule("bizproc"); // Валидация полей $_POST['CASTING_PROPS']['JOB_DATE']=clearDateMask($_POST['CASTING_PROPS']['JOB_DATE']); $_POST['CASTING_PROPS']['DATE_FROM']=clearDateMask($_POST['CASTING_PROPS']['DATE_FROM']); $_POST['CASTING_PROPS']['DATE_TO']=clearDateMask($_POST['CASTING_PROPS']['DATE_TO']); $_POST['CASTING']['IBLOCK_ID'] = $arParams['IBLOCK_ID']; $_POST['CASTING']['PROPERTY_VALUES'] = $_POST['CASTING_PROPS']; //$_POST['CASTING']['ACTIVE'] = 'N'; $el = new CIBlockElement(); if($CASTING_ID = $el->Add($_POST['CASTING'])) { $arResult['CASTING_ID'] = $CASTING_ID; // Запускаем БП (дикий костыль, @todo: сделать поиск БП с автозапуском) $arErrorsTmp = array(); CBPDocument::StartWorkflow(4,array("iblock", "CIBlockDocument", $arResult['CASTING_ID']),array(),$arErrorsTmp); if (count($arErrorsTmp) > 0) { $arResult['ERRORS'] = print_r($arErrorsTmp,true); } } else { $arResult['ERRORS'] = GetMessage("AD_REGISTRATION_ERROR").'<br/>'.$el->LAST_ERROR; } $arResult['CASTING'] = $_POST['CASTING']; $arResult['CASTING_PROPS'] = $_POST['CASTING_PROPS']; } // Формируем поля-справочники из ИБ if (CModule::IncludeModule("iblock")) { // Разделы $res = CIBlockProperty::GetByID('SECTION', $arParams['IBLOCK_ID']); if($ar_res = $res->GetNext()) { $rs = CIBlockSection::GetList(array('SORT'=>'ASC','NAME'=>'ASC'),array('IBLOCK_ID'=>$ar_res['LINK_IBLOCK_ID'],'UF_PROF'=>1,'ACTIVE'=>'Y')); while ($ar = $rs->GetNext()) { $arResult['SECTIONS'][$ar['ID']] = $ar['DESCRIPTION']; } } // Обнаженка $property_enums = CIBlockPropertyEnum::GetList(Array('SORT'=>'ASC'), Array('IBLOCK_ID'=>$arParams['IBLOCK_ID'], 'CODE'=>'NUDITY')); while($enum_fields = $property_enums->GetNext()) { $arResult['NUDITY'][$enum_fields['ID']] = $enum_fields['VALUE']; } // Компенсация валюта $property_enums = CIBlockPropertyEnum::GetList(Array('SORT'=>'ASC'), Array('IBLOCK_ID'=>$arParams['IBLOCK_ID'], 'CODE'=>'COMPENSATION_CURRENCY')); while($enum_fields = $property_enums->GetNext()) { $arResult['CURRENCY'][$enum_fields['ID']] = $enum_fields['VALUE']; } // Компенсация за какую норму $property_enums = CIBlockPropertyEnum::GetList(Array('SORT'=>'ASC'), Array('IBLOCK_ID'=>$arParams['IBLOCK_ID'], 'CODE'=>'COMPENSATION_TYPE')); while($enum_fields = $property_enums->GetNext()) { $arResult['COMPENSATION_TYPE'][$enum_fields['ID']] = $enum_fields['VALUE']; } // Пол $property_enums = CIBlockPropertyEnum::GetList(Array('SORT'=>'ASC'), Array('IBLOCK_ID'=>$arParams['IBLOCK_ID'], 'CODE'=>'SEX')); while($enum_fields = $property_enums->GetNext()) { $arResult['SEX'][$enum_fields['ID']] = $enum_fields['VALUE']; } // Страны $res = CIBlockProperty::GetByID('COUNTRY', $arParams['IBLOCK_ID']); if($ar_res = $res->GetNext()) { $rs = CIBlockSection::GetList(array('SORT'=>'ASC','NAME'=>'ASC'),array('IBLOCK_ID'=>$ar_res['LINK_IBLOCK_ID'],'SECTION_ID'=>false,'ACTIVE'=>'Y')); while ($ar = $rs->GetNext()) { $arResult['COUNTRY'][$ar['ID']] = $ar['NAME']; } } // Имя и емайл if ($USER->GetID()>0) { if (strlen($arResult['CASTING_PROPS']['CONTACT_NAME'])==0) { $profile = getUserProfile($USER->GetID()); $arResult['CASTING_PROPS']['CONTACT_NAME'] = $profile['NAME']; } if (strlen($arResult['CASTING_PROPS']['CONTACT_EMAIL'])==0) { $arResult['CASTING_PROPS']['CONTACT_EMAIL'] = $USER->GetEmail(); } $arResult['NO_EDIT'] = 'Y'; } } /* ?><pre><? print_r($arResult); ?></pre><? // */ if (intval($arResult['CASTING_ID'])>0 && strlen($arParams['OK_URL'])>0) { header("Location: ".$arParams['OK_URL'].'&POST_ID='.$arResult['CASTING_ID']); } else { $this->IncludeComponentTemplate(); }