22 if (\COption::GetOptionString(
'calendar',
'eventWithLocationConverted',
'N') ===
'Y')
24 $meetingRoomList = [];
25 self::$meetingRoomList = $meetingRoomList;
27 return $meetingRoomList;
29 if (isset(self::$meetingRoomList))
31 $meetingRoomList = self::$meetingRoomList;
35 $meetingRoomList = [];
36 if (!\CCalendar::IsBitrix24() && Loader::includeModule(
'iblock'))
38 if (!isset(
$params[
'RMiblockId']) && !isset(
$params[
'VMiblockId']))
41 $pathsForSite = \CCalendar::GetSettings([
42 'forseGetSitePathes' =>
true,
43 'site' => \CCalendar::GetSiteId()
46 $pathToMR = $pathsForSite[
'path_to_rm'];
50 $RMiblockId =
$params[
'RMiblockId'];
51 $pathToMR =
$params[
'pathToMR'];
54 if (self::$allowReserveMeeting && !\CCalendar::IsAdmin() && (\CIBlock::GetPermission($RMiblockId) <
'R'))
56 self::$allowReserveMeeting =
false;
59 if ((
int)$RMiblockId > 0 && \CIBlock::GetPermission($RMiblockId) >=
'R' && self::$allowReserveMeeting)
66 'IBLOCK_ID' => $RMiblockId,
79 while ($arMeeting =
$res->GetNext())
81 $meetingRoomList[] = [
82 'ID' => $arMeeting[
'ID'],
83 'NAME' => $arMeeting[
'~NAME'],
84 'DESCRIPTION' => $arMeeting[
'~DESCRIPTION'],
85 'UF_PLACE' => $arMeeting[
'UF_PLACE'],
86 'UF_PHONE' => $arMeeting[
'UF_PHONE'],
96 self::$meetingRoomList = $meetingRoomList;
99 return $meetingRoomList;
257 if (!Loader::includeModule(
'iblock'))
262 $allowReserveMeeting =
263 $params[
'allowReserveMeeting'] ?? self::$allowReserveMeeting
265 $settings = \CCalendar::GetSettings([
'request' =>
false]);
267 $curEventId =
$params[
'curEventId'] ??
false;
269 $offset = \CCalendar::GetOffset();
271 if ($allowReserveMeeting)
282 'IBLOCK_ID' => $RMiblockId,
284 'INCLUDE_SUBSECTIONS' =>
'Y',
286 'CHECK_PERMISSIONS' =>
'N',
287 '>=DATE_ACTIVE_TO' =>
$params[
'from'],
288 '<=DATE_ACTIVE_FROM' =>
$params[
'to']
290 if ((
int)$curEventId > 0)
292 $filter[
'!ID'] = (int)$curEventId;
295 $rsElement = \CIBlockElement::GetList([
'ACTIVE_FROM' =>
'ASC'],
$filter,
false,
false,
$select);
296 while($iBlockElem = $rsElement->GetNextElement())
298 $item = $iBlockElem->GetFields();
300 \CCalendar::DFormat(
true),
MakeTimeStamp($item[
'ACTIVE_FROM'])
307 'ID' => (int)$item[
'ID'],
308 'NAME' => $item[
'~NAME'],
309 'DT_FROM' => \CCalendar::CutZeroTime($item[
'DISPLAY_ACTIVE_FROM']),
310 'DT_TO' => \CCalendar::CutZeroTime($item[
'DISPLAY_ACTIVE_TO']),
311 'DT_FROM_TS' => (\CCalendar::Timestamp($item[
'DISPLAY_ACTIVE_FROM']) - $offset) * 1000,
312 'DT_TO_TS' => (\CCalendar::Timestamp($item[
'DISPLAY_ACTIVE_TO']) - $offset) * 1000