• Модуль: calendar
  • Путь к файлу: ~/bitrix/modules/calendar/lib/core/queue/processor/eventattendeesupdate.php
  • Класс: BitrixCalendarCoreQueueProcessorEventAttendeesUpdate
  • Вызов: EventAttendeesUpdate::prepareGroupEventWithNewHostFields
protected function prepareGroupEventWithNewHostFields(Event $event, int $groupOwnerId, array $fields): array
{
	$attendeesCodes = $event->getAttendeesCollection()->getAttendeesCodes();
	$fields['ATTENDEES_CODES'] = $this->removePreviousMeetingHostFromAttendeesCodes($attendeesCodes, $event);

	$fields['ATTENDEES'] = CCalendar::GetDestinationUsers($fields['ATTENDEES_CODES']);

	if (is_array($fields['ATTENDEES']) && !in_array($groupOwnerId, $fields['ATTENDEES'], true))
	{
		$fields['ATTENDEES'][] = $groupOwnerId;
		$fields['ATTENDEES_CODES'] = array_merge(['U'. $groupOwnerId],$fields['ATTENDEES_CODES']);
	}
	$fields['ATTENDEES'] = array_unique($fields['ATTENDEES']);

	$groupOwner = CUser::GetByID($groupOwnerId)->Fetch();
	$fields['MEETING_HOST'] = $groupOwnerId;

	$meetingFields = $event->getMeetingDescription()->getFields();
	$meetingFields['HOST_NAME'] = ltrim($groupOwner['NAME'] . ' ' . $groupOwner['LAST_NAME']);
	$meetingFields['MEETING_CREATOR'] = $groupOwnerId;

	$fields['MEETING'] = $meetingFields;

	return $fields;
}