public static function Add($arFields) { global $DB; $e = GetModuleEvents('meeting', 'OnBeforeMeetingInstanceAdd'); while ($a = $e->Fetch()) { if (false === ExecuteModuleEventEx($a, array(&$arFields))) { return false; } } if (!self::CheckFields('ADD', $arFields)) { return false; } $ID = $DB->Add('b_meeting_instance', $arFields); if ($ID > 0) { $arFields['ID'] = $ID; $arFields['INSTANCE_ID'] = $ID; if (isset($arFields['RESPONSIBLE'])) { self::SetResponsible($arFields, $arFields['RESPONSIBLE'], false); } if (is_array($arFields['REPORTS'])) { foreach ($arFields['REPORTS'] as $arReport) { $arReport['MEETING_ID'] = $arFields['MEETING_ID']; $arReport['ITEM_ID'] = $arFields['ITEM_ID']; $arReport['INSTANCE_ID'] = $arFields['ID']; CMeetingReports::Add($arReport); } } $e = GetModuleEvents('meeting', 'OnAfterMeetingInstanceAdd'); while ($a = $e->Fetch()) { ExecuteModuleEventEx($a, array($arFields)); } } return $ID; }
$REPORT_ID = intval($_REQUEST['REPORT_ID']); $arFields = array('USER_ID' => $USER->GetID(), 'REPORT' => $_REQUEST['REPORT']); $TextParser = new CBXSanitizer(); $TextParser->SetLevel(CBXSanitizer::SECURE_LEVEL_LOW); $TextParser->ApplyHtmlSpecChars(false); $arFields['REPORT'] = $TextParser->SanitizeHtml($arFields['REPORT']); $res = false; if ($REPORT_ID > 0) { if (array_key_exists($REPORT_ID, $arReportsMap)) { $res = CMeetingReports::Update($REPORT_ID, $arFields); } } else { $arFields['INSTANCE_ID'] = $arInstance['ID']; $arFields['ITEM_ID'] = $arInstance['ITEM_ID']; $arFields['MEETING_ID'] = $arInstance['MEETING_ID']; $REPORT_ID = CMeetingReports::Add($arFields); $res = $REPORT_ID > 0; } if ($res) { CMeetingReports::SetFiles($REPORT_ID, \Bitrix\Main\UI\FileInputUtility::instance()->checkFiles('MEETING_ITEM_REPORT_FILES_' . $arInstance['ID'], $_REQUEST['FILES'])); } if ($res) { echo $REPORT_ID; } die; } $arResult['ITEM']['INSTANCES'][] = $arInstance; } if (!$bHasAccess) { return ShowError(GetMessage("ME_MEETING_ACCESS_DENIED")); }