• Модуль: 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;
}