- Модуль: calendar
- Путь к файлу: ~/bitrix/modules/calendar/lib/sharing/sharingconference.php
- Класс: BitrixCalendarSharingSharingConference
- Вызов: SharingConference::createConference
private function createConference()
{
$event = CCalendarEvent::GetList([
'arFilter' => [
'ID' => $this->eventLink->getObjectId(),
],
'fetchAttendees' => true,
'checkPermissions' => false,
]);
$event = $event[0] ?? false;
if (
!$event
|| !in_array(
$event['EVENT_TYPE'] ?? null,
[Dictionary::EVENT_TYPE['shared_crm'], Dictionary::EVENT_TYPE['shared']],
true
)
)
{
return false;
}
$attendeesId = [];
$attendeesCodes = $event['ATTENDEE_LIST'] ?? [];
foreach ($attendeesCodes as $attendee)
{
if (
isset($attendee['id'])
&& in_array($attendee['status'] ?? null, Dictionary::MEETING_STATUS, true)
&& $attendee['status'] !== Dictionary::MEETING_STATUS['Host']
)
{
$attendeesId[] = $attendee['id'];
}
}
$conference = BitrixImCallConference::add([
'USERS' => $attendeesId,
'TITLE' => $event['NAME'],
]);
if ($conference->getErrors())
{
return null;
}
return $conference;
}