- Модуль: 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']) : [];
}
}