...Человеческий поиск в разработке...
- Модуль: calendar
- Путь к файлу: ~/bitrix/modules/calendar/lib/rooms/iblockmeetingroom.php
- Класс: BitrixCalendarRoomsIBlockMeetingRoom
- Вызов: IBlockMeetingRoom::checkMeetingRoom
static function checkMeetingRoom($params) { if (!Loader::includeModule('iblock')) { return false; } $fromDateTime = MakeTimeStamp($params['dateFrom']); $toDateTime = MakeTimeStamp($params['dateTo']); $filter = [ 'ACTIVE' => 'Y', 'IBLOCK_ID' => $params['RMiblockId'], 'SECTION_ID' => $params['mrid'], '$params['dateTo'], '>DATE_ACTIVE_TO' => $params['dateFrom'], 'PROPERTY_PERIOD_TYPE' => 'NONE', ]; if ($params['mrevid_old'] > 0) { $filter['!=ID'] = $params['mrevid_old']; } $dbElements = CIBlockElement::GetList( ['DATE_ACTIVE_FROM' => 'ASC'], $filter, false, false, ['ID'] ); if ($elements = $dbElements->GetNext()) { return 'reserved'; } include_once($_SERVER['DOCUMENT_ROOT'].'/bitrix/components/bitrix/intranet.reserve_meeting/init.php'); $periodicElements = __IRM_SearchPeriodic($fromDateTime, $toDateTime, $params['RMiblockId'], $params['mrid']); foreach ($periodicElements as $element) { if (!$params['mrevid_old'] || (int)$element['ID'] !== (int)$params['mrevid_old']) { return 'reserved'; } } return true; }