1C-Bitrix
25.700.0
Загрузка...
Поиск...
Не найдено
WhoCanInviteOption.php
См. документацию.
1
<?php
2
3
declare(strict_types=1);
4
5
namespace
Bitrix\Socialnetwork\Collab\Control\Option\Type;
6
7
use Bitrix\Im\V2\Chat;
8
use Bitrix\Main\Result;
9
use Bitrix\Main\Validation\Rule\InArray;
10
use Bitrix\Socialnetwork\Collab\Collab;
11
use Bitrix\Socialnetwork\Collab\Control\Option\AbstractOption;
12
use Bitrix\Socialnetwork\Collab\Control\Option\Trait\UpdateCollabChatTrait;
13
use Bitrix\Socialnetwork\Collab\Permission\UserRole;
14
15
class
WhoCanInviteOption
extends
AbstractOption
16
{
17
use UpdateCollabChatTrait;
18
19
public
const
NAME
=
'whoCanInvite'
;
20
public
const
DB_NAME
=
'WHO_CAN_INVITE'
;
21
22
public
const
DEFAULT_VALUE
= UserRole::MEMBER;
23
25
protected
const
ROLE_MAP
= [
26
UserRole::MEMBER =>
'MEMBER'
,
27
UserRole::MODERATOR =>
'MANAGER'
,
28
UserRole::OWNER =>
'OWNER'
,
29
];
30
31
#[InArray(UserRole::ALLOWED_ROLES)]
32
protected
string
$value
;
33
34
public
function
__construct
(
string
$value
)
35
{
36
parent::__construct(static::DB_NAME, strtoupper(
$value
));
37
}
38
39
protected
function
applyImplementation
(
Collab
$collab):
Result
40
{
41
return
$this->updateChat($collab, [
42
'MANAGE_USERS_ADD'
=> static::ROLE_MAP[$this->value]
43
]);
44
}
45
}
Bitrix\Main\DB\Result
Определения
result.php:20
Bitrix\Socialnetwork\Collab\Control\Option\AbstractOption
Определения
AbstractOption.php:16
Bitrix\Socialnetwork\Collab\Control\Option\Type\WhoCanInviteOption
Определения
WhoCanInviteOption.php:16
Bitrix\Socialnetwork\Collab\Control\Option\Type\WhoCanInviteOption\NAME
const NAME
Определения
WhoCanInviteOption.php:19
Bitrix\Socialnetwork\Collab\Control\Option\Type\WhoCanInviteOption\ROLE_MAP
const ROLE_MAP
Определения
WhoCanInviteOption.php:25
Bitrix\Socialnetwork\Collab\Control\Option\Type\WhoCanInviteOption\$value
string $value
Определения
WhoCanInviteOption.php:32
Bitrix\Socialnetwork\Collab\Control\Option\Type\WhoCanInviteOption\DEFAULT_VALUE
const DEFAULT_VALUE
Определения
WhoCanInviteOption.php:22
Bitrix\Socialnetwork\Collab\Control\Option\Type\WhoCanInviteOption\__construct
__construct(string $value)
Определения
WhoCanInviteOption.php:34
Bitrix\Socialnetwork\Collab\Control\Option\Type\WhoCanInviteOption\applyImplementation
applyImplementation(Collab $collab)
Определения
WhoCanInviteOption.php:39
Bitrix\Socialnetwork\Collab\Control\Option\Type\WhoCanInviteOption\DB_NAME
const DB_NAME
Определения
WhoCanInviteOption.php:20
Bitrix\Im\V2\Chat\Collab
Определения
CollabInfo.php:3
bitrix
modules
socialnetwork
lib
Collab
Control
Option
Type
WhoCanInviteOption.php
Создано системой
1.14.0