Ejemplo n.º 1
0
        $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++)
Ejemplo n.º 2
0
                    }
                }
                $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!