- Модуль: calendar
- Путь к файлу: ~/bitrix/modules/calendar/classes/general/calendar.php
- Класс: CCalendar
- Вызов: CCalendar::GetEventList
static function GetEventList($params, &$arAttendees)
{
$type = isset($params['type']) ? $params['type'] : self::$type;
$ownerId = isset($params['ownerId']) ? (int)$params['ownerId'] : self::$ownerId;
$userId = isset($params['userId']) ? (int)$params['userId'] : self::$userId;
if (empty($params['section']))
{
return [];
}
$arFilter = [];
if (isset($params['fromLimit']))
{
$arFilter["FROM_LIMIT"] = $params['fromLimit'];
}
if (isset($params['toLimit']))
{
$arFilter["TO_LIMIT"] = $params['toLimit'];
}
$arFilter["OWNER_ID"] = $ownerId;
if ($type === 'user')
{
$fetchMeetings = in_array(self::GetMeetingSection($ownerId), $params['section']);
}
else
{
$fetchMeetings = in_array(self::GetCurUserMeetingSection(), $params['section']);
if ($type)
{
$arFilter['CAL_TYPE'] = $type;
}
}
$res = CCalendarEvent::GetList(
array(
'arFilter' => $arFilter,
'parseRecursion' => true,
'fetchAttendees' => true,
'userId' => $userId,
'fetchMeetings' => $fetchMeetings,
'setDefaultLimit' => false,
'limit' => $params['limit'],
)
);
if (!empty($params['section']))
{
$NewRes = [];
foreach($res as $event)
{
if (in_array($event['SECT_ID'], $params['section']))
{
unset($event['DESCRIPTION'], $event['~DESCRIPTION']);
$NewRes[] = $event;
}
}
$res = $NewRes;
}
//$arAttendees = CCalendarEvent::GetLastAttendees();
return $res;
}