• Модуль: calendar
  • Путь к файлу: ~/bitrix/modules/calendar/lib/core/queue/processor/eventattendeesupdate.php
  • Класс: BitrixCalendarCoreQueueProcessorEventAttendeesUpdate
  • Вызов: EventAttendeesUpdate::prepareGroupEventData
protected function prepareGroupEventData(Event $event, array $fields): array
{
	$groupMembers = BitrixSocialnetworkUserToGroupTable::query()
		->setSelect(['USER_ID', 'ROLE'])
		->addFilter('GROUP_ID', $event->getOwner()->getId())
		->fetchAll()
	;

	foreach ($groupMembers as $groupMember)
	{
		if ($event->getEventHost() && (int)($groupMember['USER_ID'] ?? null) === $event->getEventHost()->getId())
		{
			$eventHostId = (int)$groupMember['USER_ID'];
		}
		if (($groupMember['ROLE'] ?? null) === BitrixSocialnetworkUserToGroupTable::ROLE_OWNER)
		{
			$groupOwnerId = (int)$groupMember['USER_ID'];
		}
	}

	$isEventHostGroupMember = !empty($eventHostId);

	if (!$isEventHostGroupMember && !empty($groupOwnerId) && $event->getMeetingDescription())
	{
		$fields = $this->prepareGroupEventWithNewHostFields($event, $groupOwnerId, $fields);
	}

	return $fields;
}