1C-Bitrix
25.700.0
Загрузка...
Поиск...
Не найдено
ManageMessagesOption.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\Validation\Rule\InArray;
9
use Bitrix\Socialnetwork\Collab\Collab;
10
use Bitrix\Socialnetwork\Collab\Control\Option\AbstractOption;
11
use Bitrix\Socialnetwork\Collab\Control\Option\Trait\UpdateCollabChatTrait;
12
use Bitrix\Main\Result;
13
use Bitrix\Socialnetwork\Collab\Permission\UserRole;
14
15
class
ManageMessagesOption
extends
AbstractOption
16
{
17
use UpdateCollabChatTrait;
18
19
public
const
NAME
=
'manageMessages'
;
20
public
const
DB_NAME
=
'MANAGE_MESSAGES'
;
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_MESSAGES'
=> 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\ManageMessagesOption
Определения
ManageMessagesOption.php:16
Bitrix\Socialnetwork\Collab\Control\Option\Type\ManageMessagesOption\NAME
const NAME
Определения
ManageMessagesOption.php:19
Bitrix\Socialnetwork\Collab\Control\Option\Type\ManageMessagesOption\ROLE_MAP
const ROLE_MAP
Определения
ManageMessagesOption.php:25
Bitrix\Socialnetwork\Collab\Control\Option\Type\ManageMessagesOption\$value
string $value
Определения
ManageMessagesOption.php:32
Bitrix\Socialnetwork\Collab\Control\Option\Type\ManageMessagesOption\DEFAULT_VALUE
const DEFAULT_VALUE
Определения
ManageMessagesOption.php:22
Bitrix\Socialnetwork\Collab\Control\Option\Type\ManageMessagesOption\__construct
__construct(string $value)
Определения
ManageMessagesOption.php:34
Bitrix\Socialnetwork\Collab\Control\Option\Type\ManageMessagesOption\applyImplementation
applyImplementation(Collab $collab)
Определения
ManageMessagesOption.php:39
Bitrix\Socialnetwork\Collab\Control\Option\Type\ManageMessagesOption\DB_NAME
const DB_NAME
Определения
ManageMessagesOption.php:20
Bitrix\Im\V2\Chat\Collab
Определения
CollabInfo.php:3
bitrix
modules
socialnetwork
lib
Collab
Control
Option
Type
ManageMessagesOption.php
Создано системой
1.14.0