- Модуль: intranet
- Путь к файлу: ~/bitrix/modules/intranet/classes/general/event_calendar.php
- Класс: CEventCalendar
- Вызов: CEventCalendar::GetCalendarEventsList
static function GetCalendarEventsList($calendarId, $arFilter = array())
{
[$iblockId, $sectionId, $subSectionId] = $calendarId;
$arSelect = array("ID", "IBLOCK_ID", "IBLOCK_SECTION_ID", "NAME", "ACTIVE_FROM", "ACTIVE_TO", "DETAIL_TEXT", "DETAIL_TEXT_TYPE", "TIMESTAMP_X", "DATE_CREATE", "CREATED_BY", "XML_ID", "PROPERTY_*");
$arFilter1 = array(
"IBLOCK_ID" => $iblockId,
"ACTIVE" => "Y",
"CHECK_PERMISSIONS" => "N",
"INCLUDE_SUBSECTIONS" => "Y",
);
if ($sectionId > 0)
$arFilter1["SECTION_ID"] = ($subSectionId > 0 ? $subSectionId : $sectionId);
$arFilter = array_merge($arFilter1, $arFilter);
if (isset($arFilter['DATE_START']))
{
$arFilter['!ACTIVE_TO'] = $arFilter['DATE_START'];
unset($arFilter['DATE_START']);
}
if (isset($arFilter['DATE_END']))
{
$arFilter['!ACTIVE_FROM'] = $arFilter['DATE_END'];
unset($arFilter['DATE_END']);
}
$arResult = array();
$dbEvents = CIBlockElement::GetList(array(), $arFilter, false, false, $arSelect);
while ($obEvent = $dbEvents->GetNextElement())
{
$arEvent = $obEvent->GetFields();
$arEventProperties = $obEvent->GetProperties();
foreach ($arEventProperties as $key => $value)
$arEvent["PROPERTY_".$key] = $value["VALUE"];
$arResult[] = $arEvent;
}
return $arResult;
}