- Модуль: calendar
- Путь к файлу: ~/bitrix/modules/calendar/lib/ical/usercontroller.php
- Класс: BitrixCalendarICalUserController
- Вызов: UserController::prepareAttendeesData
static function prepareAttendeesData($attendeeIdList, $currentAttendees, $userIndex, $currentUserId)
{
$attendeesList = [];
$attendeeIndex = [];
if (is_array($currentAttendees))
{
foreach($currentAttendees as $user)
{
$attendeeIndex[$user['USER_ID']] = $user;
}
}
if (is_array($attendeeIdList))
{
foreach($attendeeIdList as $userId)
{
if (isset($userIndex[$userId]))
{
if ($attendeeIndex[$userId])
{
$attendeesList[] = [
'id' => $userIndex[$userId]['ID'],
'email' => $userIndex[$userId]['EMAIL'],
'external_auth_id' => $userIndex[$userId]['EXTERNAL_AUTH_ID'],
'name' => $attendeeIndex[$userId]['DISPLAY_NAME'],
'status' => $attendeeIndex[$userId]['STATUS']
];
}
else
{
$attendeesList[] = [
'id' => $userIndex[$userId]['ID'],
'email' => $userIndex[$userId]['EMAIL'],
'external_auth_id' => $userIndex[$userId]['EXTERNAL_AUTH_ID'],
'name' => CCalendar::getUserName($userIndex[$userId]),
'status' => $currentUserId === $userId ? 'H' : 'Q'
];
}
}
}
}
//eventFields['ATTENDEES'], $params['currentAttendees'], $params['userIndex']
return $attendeesList;
}