1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
CollabSetModeratorRule.php
См. документацию.
1<?php
2
3declare(strict_types=1);
4
5namespace Bitrix\SocialNetwork\Collab\Access\Rule;
6
7use Bitrix\Main\Access\AccessCode;
8use Bitrix\Main\Access\AccessibleItem;
9use Bitrix\Main\Access\Rule\AbstractRule;
10use Bitrix\Socialnetwork\Permission\GroupAccessController;
11use Bitrix\Socialnetwork\Permission\GroupDictionary;
12use Bitrix\SocialNetwork\Collab\Access\CollabAccessController;
13use Bitrix\SocialNetwork\Collab\Access\Model\CollabModel;
14
16{
18 protected $controller;
19
20 public function execute(AccessibleItem $item = null, $params = null): bool
21 {
22 if (!$item instanceof CollabModel)
23 {
24 $this->controller->addError(static::class, 'Wrong instance');
25
26 return false;
27 }
28
29 $setModerators = $item->getAddModeratorMembers();
30 foreach ($setModerators as $accessCode)
31 {
32 $userId = (new AccessCode($accessCode))->getEntityId();
33
34 if (
35 !$this->controller->forward(
36 GroupAccessController::class,
37 GroupDictionary::UPDATE,
38 $item,
39 ['userId' => $userId]
40 )
41 )
42 {
43 $this->controller->addError(static::class, 'Access denied by group controller');
44
45 return false;
46 }
47 }
48
49 return true;
50 }
51}
if(!is_object($USER)||! $USER->IsAuthorized()) $userId
Определения check_mail.php:18
execute(AccessibleItem $item=null, $params=null)
Определения CollabSetModeratorRule.php:20
if($inWords) echo htmlspecialcharsbx(Number2Word_Rus(roundEx($totalVatSum $params['CURRENCY']
Определения template.php:799