case CMeeting::STATE_ACTION: $arFields['DATE_START'] = ConvertTimeStamp(false, 'FULL'); break; case CMeeting::STATE_CLOSED: $arFields['DATE_FINISH'] = ConvertTimeStamp(false, 'FULL'); break; // TODO we lose original DATE_START here; fix it later during calendar integration // TODO we lose original DATE_START here; fix it later during calendar integration case CMeeting::STATE_PREPARE: $arFields['DATE_FINISH'] = ''; break; } CMeeting::Update($MEETING_ID, $arFields); } } $dbRes = CMeeting::GetByID($MEETING_ID); if ($arMeeting = $dbRes->Fetch()) { if ($arMeeting['EVENT_ID'] > 0) { $ownerId = $USER->GetID(); $arMeeting['USERS'] = CMeeting::GetUsers($MEETING_ID); foreach ($arMeeting['USERS'] as $userId => $userRole) { if ($userRole == CMeeting::ROLE_OWNER) { $ownerId = $userId; } } $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'}";
public static function Delete($ID) { global $DB; $ID = intval($ID); if ($ID < 1) { return false; } $dbRes = CMeeting::GetByID($ID); if ($arMeeting = $dbRes->Fetch()) { foreach (GetModuleEvents("meeting", "OnBeforeMeetingDelete", true) as $arEvent) { if (false === ExecuteModuleEventEx($arEvent, array($ID, $arMeeting))) { return false; } } if ($arMeeting['EVENT_ID'] > 0) { self::DeleteEvent($arMeeting['EVENT_ID']); } self::SetUsers($ID); self::DeleteFiles($ID); CMeetingInstance::DeleteByMeetingID($ID); if ($DB->Query("DELETE FROM b_meeting WHERE ID='" . $ID . "'")) { $DB->Query("UPDATE b_meeting SET PARENT_ID=NULL WHERE PARENT_ID='" . $ID . "'"); foreach (GetModuleEvents("meeting", "OnAfterMeetingDelete", true) as $arEvent) { ExecuteModuleEventEx($arEvent, array($ID)); } return true; } } return false; }