getRequest(); $request->addFilter(new PostDecodeFilter()); if(check_bitrix_sessid()) { $fields = $request['FIELDS']; if(!is_array($fields)) { $fields = array(); } $userFieldDispatcher = Dispatcher::instance(); if( isset($_REQUEST['tpl']) && isset($_REQUEST['tpls']) && !$userFieldDispatcher->getSignatureManager()->validateSignature(SITE_TEMPLATE_ID, $request['tpls']) ) { die(); } if(isset($request['lang'])) { $userFieldDispatcher->setLanguage($request['lang']); } foreach($fields as $fieldInfo) { if(isset($request['action'])) { switch($request['action']) { case 'add': $userFieldDispatcher->createField($fieldInfo); break; case 'update': $userFieldDispatcher->editField($fieldInfo); break; case 'delete': $userFieldDispatcher->deleteField($fieldInfo); break; case 'validate': $userFieldDispatcher->validateField($fieldInfo); break; } } else { $userFieldDispatcher->addField($fieldInfo); } } $mode = $request['mode']; $mediaType = !empty($request['MEDIA_TYPE']) ? $request['MEDIA_TYPE'] : BaseUfComponent::MEDIA_TYPE_DEFAULT; $view = new Display($mode, $mediaType); if(isset($request['FORM'])) { $view->setAdditionalParameter('form_name', $request['FORM'], true); } if(isset($request['CONTEXT'])) { $view->setAdditionalParameter('CONTEXT', $request['CONTEXT'], true); } if(isset($request['MEDIA_TYPE'])) { $view->setAdditionalParameter('mediaType', $request['MEDIA_TYPE'], true); } $userFieldDispatcher->setView($view); $result = $userFieldDispatcher->getResult(); Header('Content-Type: application/json'); echo \Bitrix\Main\Web\Json::encode($result); } require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_after.php");