...Человеческий поиск в разработке...
- Модуль: calendar
- Путь к файлу: ~/bitrix/modules/calendar/lib/rooms/accessibilitymanager.php
- Класс: BitrixCalendarRoomsAccessibilityManager
- Вызов: AccessibilityManager::getLocationAccessibility
public function getLocationAccessibility(): array { $result = []; if (!is_array($this->datesRange) || !is_array($this->locationList)) { return $result; } $datesLength = count($this->datesRange); if (!$datesLength) { return $result; } foreach ($this->datesRange as $date) { $result[$date] = []; } foreach ($this->locationList as $location) { $roomId = (int)$location['ID']; $entries = self::getRoomAccessibility( $roomId, $this->datesRange[0], $this->datesRange[$datesLength - 1] ); foreach ($entries as $entry) { $dateStart = new DateTime($entry['DATE_FROM']); $dateEnd = new DateTime($entry['DATE_TO']); while ($dateStart->getTimestamp() <= $dateEnd->getTimestamp()) { $date = $dateStart->format('d.m.Y'); $dateStart->add('1 day'); if (!isset($result[$date])) { continue; } if (!isset($result[$date][$roomId])) { $result[$date][$roomId] = []; } $result[$date][$roomId][] = $entry; } } } return $result; }