1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
DiskQuickAccessGrantor.php
См. документацию.
1<?php
2
3namespace Bitrix\Im\V2\Controller\Filter;
4
5use Bitrix\Im\V2\Chat;
6use Bitrix\Im\V2\Entity\File\FileItem;
7use Bitrix\Main\DI\ServiceLocator;
8use Bitrix\Main\Engine\ActionFilter\Base;
9use Bitrix\Main\Event;
10use Bitrix\Main\Loader;
11
13{
14 public function onBeforeAction(Event $event)
15 {
16 if (!Loader::includeModule('disk'))
17 {
18 return null;
19 }
20
21 if (!ServiceLocator::getInstance()->has('disk.scopeTokenService'))
22 {
23 return null;
24 }
25
26 $scopeTokenService = ServiceLocator::getInstance()->get('disk.scopeTokenService');
27
28 $chat = $this->getAction()->getArguments()['chat'] ?? null;
29 if (!($chat instanceof Chat) || !$chat->getId())
30 {
31 return null;
32 }
33
34 $scopeTokenService->grantAccessToScope(FileItem::getQuickAccessScope($chat->getId()));
35 }
36}
static getQuickAccessScope(int $chatId)
Определения FileItem.php:92
$event
Определения prolog_after.php:141