$d = ConvertTimeStamp($t - $t % 3600 + CTimeZone::GetOffset() + 3600, 'FULL'); $arResult['MEETING'] = array("DURATION" => 1200, "DATE_START" => $d, "USERS" => array($USER->GetID() => CMeeting::ROLE_OWNER), "AGENDA" => array(), "FILES" => array()); $arResult['CAN_EDIT'] = true; } } if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_REQUEST['save']) && $arResult['CAN_EDIT'] && check_bitrix_sessid()) { $bFromEditForm = $_POST['edit'] == 'Y'; $arParams['COPY'] = $_POST['COPY'] == 'Y'; $MEETING_ID = $arParams['MEETING_ID']; $res = true; $bNew = false; $bUpdateEvent = false; if ($bFromEditForm) { $bUpdateEvent = true; $res = false; $arFields = array('TITLE' => trim($_REQUEST['TITLE']), 'DESCRIPTION' => trim($_REQUEST['DESCRIPTION']), 'DATE_START' => CMeeting::MakeDateTime($_REQUEST['DATE_START_DATE'], $_REQUEST['DATE_START_TIME']), 'DURATION' => $_REQUEST['DURATION'] * $_REQUEST['DURATION_COEF'], 'PLACE' => $_REQUEST['PLACE'], 'GROUP_ID' => $_REQUEST['GROUP_ID']); if (strlen($_REQUEST['PLACE_ID']) > 0) { $arFields['PLACE'] = $_REQUEST['PLACE_ID']; } $TextParser = new CBXSanitizer(); $TextParser->SetLevel(CBXSanitizer::SECURE_LEVEL_LOW); $TextParser->ApplyHtmlSpecChars(false); $arFields['DESCRIPTION'] = $TextParser->SanitizeHtml($arFields['DESCRIPTION']); if (strlen($arFields['TITLE']) <= 0) { $arFields['TITLE'] = GetMessage('ME_MEETING_TITLE_DEFAULT'); } $arFields['FILES'] = \Bitrix\Main\UI\FileInputUtility::instance()->checkFiles('MEETING_DESCRIPTION', $_REQUEST['FILES']); /*$count = sizeof($_FILES["FILES_TMP"]["name"]); if ($count > 0) { for($i = 0; $i < $count; $i++)
} } $arMeeting['OWNER_ID'] = $ownerId; $arMeeting['REINVITE'] = false; CMeeting::AddEvent($MEETING_ID, $arMeeting); } Header('Content-Type: application/json'); echo "{id: '" . $MEETING_ID . "', state: '" . $arMeeting['CURRENT_STATE'] . "', date_start: '" . MakeTimeStamp($arMeeting['DATE_START']) . "000'}"; } } } elseif (isset($_REQUEST['PLACE_ID'])) { $arPlace = CMeeting::CheckPlace($_REQUEST['PLACE_ID']); if (is_array($arPlace) && $arPlace['ROOM_IBLOCK'] > 0 && $arPlace['ROOM_ID'] > 0) { $eventId = intval($_REQUEST['EVENT_ID']); $eventStart = CMeeting::MakeDateTime($_REQUEST['DATE_START_DATE'], $_REQUEST['DATE_START_TIME']); $eventFinish = CMeeting::MakeDateTime($_REQUEST['DATE_START_DATE'], $_REQUEST['DATE_START_TIME'], $_REQUEST['DURATION']); $arFilter = array("ACTIVE" => "Y", "IBLOCK_ID" => $arPlace['ROOM_IBLOCK'], "SECTION_ID" => $arPlace['ROOM_ID'], "<DATE_ACTIVE_FROM" => $eventFinish, ">DATE_ACTIVE_TO" => $eventStart, "PROPERTY_PERIOD_TYPE" => "NONE"); $reservationId = 0; if ($eventId > 0) { $arEvent = CMeeting::GetEvent($eventId); if (is_array($arEvent) && is_array($arEvent['LOCATION']) && $arEvent['LOCATION']['mrevid'] > 0) { $reservationId = $arEvent['LOCATION']['mrevid']; $arFilter["!=ID"] = $reservationId; } } $bReserved = false; $dbElements = CIBlockElement::GetList(array("DATE_ACTIVE_FROM" => "ASC"), $arFilter, false, false, array('ID')); if ($dbElements->Fetch()) { $bReserved = true; } else { // copy-paste sucks!