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;
 }
Esempio n. 2
0
        $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"));
}