1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
Zoom.php
См. документацию.
1<?php
2
3namespace Bitrix\Im\V2\Controller\Call;
4
5use Bitrix\Im\V2\Call\CallError;
6use Bitrix\Im\V2\Chat;
7use Bitrix\Im\V2\Controller\BaseController;
8use Bitrix\Im\V2\Message\MessageError;
9use Bitrix\Im\V2\Permission\Action;
10use Bitrix\Main\Engine\CurrentUser;
11use CIMChat;
12
13class Zoom extends BaseController
14{
18 public function createAction(Chat $chat, CurrentUser $user): ?array
19 {
20 if (!\Bitrix\Im\Call\Integration\Zoom::isActive())
21 {
22 $this->addError(new CallError(CallError::ZOOM_ACTIVE_ERROR));
23
24 return null;
25 }
26
27 if (!\Bitrix\Im\Call\Integration\Zoom::isAvailable())
28 {
29 $this->addError(new CallError(CallError::ZOOM_AVAILABLE_ERROR));
30
31 return null;
32 }
33
34 if (!\Bitrix\Im\Call\Integration\Zoom::isConnected($user->getId()))
35 {
36 $this->addError(new CallError(CallError::ZOOM_CONNECTED_ERROR));
37
38 return null;
39 }
40
41 if (!$chat->canDo(Action::Send))
42 {
43 $this->addError(new Chat\ChatError(Chat\ChatError::ACCESS_DENIED));
44
45 return null;
46 }
47
48 $zoom = new \Bitrix\Im\Call\Integration\Zoom($user->getId(), $chat->getDialogId());
49 $link = $zoom->getImChatConferenceUrl();
50
51 if (empty($link))
52 {
53 $this->addError(new CallError(CallError::ZOOM_CREATE_ERROR));
54
55 return null;
56 }
57
58 $messageFields = $zoom->getRichMessageFields($chat->getDialogId(), $link, $user->getId());
59 $messageFields['PARAMS']['COMPONENT_ID'] = 'ZoomInviteMessage';
60 $messageFields['PARAMS']['COMPONENT_PARAMS'] = ['LINK' => $link];
61
62 $messageId = \CIMMessenger::Add($messageFields);
63
64 if (!$messageId)
65 {
66 $this->addError(new MessageError(MessageError::SENDING_FAILED));
67
68 return null;
69 }
70
71 return [
72 'link' => $link,
73 'messageId' => $messageId,
74 ];
75 }
76}
$messageFields
Определения callback_ednaru.php:22
if(! $messageFields||!isset($messageFields['message_id'])||!isset($messageFields['status'])||!CModule::IncludeModule("messageservice")) $messageId
Определения callback_ismscenter.php:26
const ACCESS_DENIED
Определения ChatError.php:19
createAction(Chat $chat, CurrentUser $user)
Определения Zoom.php:18
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
Определения file_new.php:804
Определения auth.php:9
$user
Определения mysql_to_pgsql.php:33