• Модуль: meeting
  • Путь к файлу: ~/bitrix/modules/meeting/classes/general/meeting.php
  • Класс: CAllMeeting
  • Вызов: CAllMeeting::GetEventGuests
static function GetEventGuests($eventId, $userId)
{
	if (self::IsNewCalendar())
	{
		$res = [];

		$arAttendees = CCalendarEvent::GetAttendees($eventId);

		if (is_array($arAttendees) && is_array($arAttendees[$eventId]))
		{
			foreach ($arAttendees[$eventId] as $arGuest)
				$res[] = array('id' => $arGuest['USER_ID'], 'status' => $arGuest['STATUS']);
		}

		return $res;
	}
	else
	{
		$dbRes = CIBlockElement::GetByID($eventId);
		if ($arRes = $dbRes->Fetch())
		{
			$calIblockSection = $arRes['IBLOCK_SECTION_ID'];
			$calIblock = $arRes['IBLOCK_ID'];
		}

		CModule::IncludeModule('socialnetwork');

		$obCalendar = new CEventCalendar();
		$obCalendar->Init(array(
			'ownerType' => 'USER',
			'ownerId' => $userId,
			'bOwner' => true,
			'iblockId' => $calIblock,
			'userIblockId' => COption::GetOptionInt('intranet', 'iblock_calendar', 0, SITE_ID)
		));

		$arPermissions = $obCalendar->GetPermissions(
			array(
				'setProperties' => true,
			)
		);

		$arEvents = $obCalendar->GetEvents(array(
			'iblockId' => $calIblock,
			'sectionId' => $calIblockSection,
			'eventId' => $eventId,
			'bLoadAll' => true,
			'ownerType' => 'USER'
		));
		if ($event = $arEvents[0])
			return is_array($event['GUESTS']) ? array_values($event['GUESTS']) : [];
	}
}