Current Path : /home/bitrix/ext_www/school1535.yacl.site/local/ajax/ |
Current File : /home/bitrix/ext_www/school1535.yacl.site/local/ajax/editAbsence.php |
<?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php"); \Bitrix\Main\Loader::includeModule('iblock'); \Bitrix\Main\Loader::includeModule('im'); $absenceId = intval($_POST['id']); $preview = htmlspecialchars($_POST['preview']); $statusCode = htmlspecialchars($_POST['status']); $propList = CIBlockPropertyEnum::GetList([], ['XML_ID' => $statusCode, 'PROPERTY_CODE' => 'STATUS', 'IBLOCK_ID' => IBLOCK_LOCAL_ABSENCE]); $status = $propList->Fetch(); //okp($status); $cbe = new CIBlockElement(); $cbe->SetPropertyValuesEx($absenceId, IBLOCK_LOCAL_ABSENCE, [ 'STATUS' => $status['ID'] ]); $res = $cbe->Update($absenceId, ['PREVIEW_TEXT' => $preview]); if ($res) { $answer = [ 'success' => true, ]; $absenceInfo = CIBlockElement::GetList([], ['IBLOCK_ID' => IBLOCK_LOCAL_ABSENCE, 'ID' => $absenceId], false, false, ['PROPERTY_USER', 'NAME'])->Fetch(); $user = $absenceInfo['PROPERTY_USER_VALUE']; foreach([$user, Project::getResSubGenDir()] as $notifiedUser) { if ($notifiedUser != $USER->GetID()) { if ($notifiedUser == $user) { $message = 'Ваше отсутствие ' . $absenceInfo['NAME'] . ($statusCode == 'ACCEPTED' ? ' согласовано' : ' отклонено'); } else { $message = 'Отсутствие пользователя ' . getUserLinkById($user) . ($statusCode == 'ACCEPTED' ? ' согласовано' : ' отклонено'); } $messageFields = array( "TO_USER_ID" => $notifiedUser, "FROM_USER_ID" => $USER->GetID(), "NOTIFY_TYPE" => IM_NOTIFY_FROM, "NOTIFY_MODULE" => "iblock", "NOTIFY_MESSAGE" => $message, ); $res = CIMNotify::Add($messageFields); } } } else { $answer = [ 'false' => true, ]; } echo json_encode($answer);