1C-Bitrix
25.700.0
Загрузка...
Поиск...
Не найдено
MessagesAutoDeleteDelay.php
См. документацию.
1
<?php
2
3
namespace
Bitrix\Socialnetwork\Collab\Control\Option\Type;
4
5
use Bitrix\Im\V2\Chat;
6
use Bitrix\Im\V2\Message\Delete\DisappearService;
7
use Bitrix\Main\Result;
8
use Bitrix\Main\Validation\Rule\InArray;
9
use Bitrix\Socialnetwork\Collab\Collab;
10
use Bitrix\Socialnetwork\Collab\Control\Option\AbstractOption;
11
12
class
MessagesAutoDeleteDelay
extends
AbstractOption
13
{
14
public
const
NAME
=
'messagesAutoDeleteDelay'
;
15
public
const
DB_NAME
=
'MESSAGES_AUTO_DELETE_DELAY'
;
16
20
public
const
DEFAULT_VALUE
=
''
;
21
25
public
const
ALLOWED_VALUES
= [
26
self::DEFAULT_VALUE,
27
'0'
,
28
'1'
,
29
'24'
,
30
'168'
,
31
'720'
,
32
];
33
34
#[InArray(self::ALLOWED_VALUES)]
35
protected
string
$value
;
36
37
protected
bool
$needUpdate
=
false
;
38
39
public
function
__construct
(
string
$value
)
40
{
41
$this->
checkNeedUpdate
($value);
42
parent::__construct(static::DB_NAME,
$value
);
43
}
44
45
protected
function
applyImplementation
(
Collab
$collab):
Result
46
{
47
if
(!$this->needUpdate)
48
{
49
return
new
Result
();
50
}
51
52
return \Bitrix\Socialnetwork\Collab\Integration\IM\Chat::updateMessagesAutoDelete(
53
$collab->getChatId(),
54
(
int
)$this->getValue()
55
);
56
}
57
58
protected
function
checkNeedUpdate
(
string
$value
): void
59
{
60
if
(
$value
!== self::DEFAULT_VALUE)
61
{
62
$this->needUpdate =
true
;
63
}
64
}
65
}
Bitrix\Main\DB\Result
Определения
result.php:20
Bitrix\Socialnetwork\Collab\Control\Option\AbstractOption
Определения
AbstractOption.php:16
Bitrix\Socialnetwork\Collab\Control\Option\Type\MessagesAutoDeleteDelay
Определения
MessagesAutoDeleteDelay.php:13
Bitrix\Socialnetwork\Collab\Control\Option\Type\MessagesAutoDeleteDelay\NAME
const NAME
Определения
MessagesAutoDeleteDelay.php:14
Bitrix\Socialnetwork\Collab\Control\Option\Type\MessagesAutoDeleteDelay\ALLOWED_VALUES
const ALLOWED_VALUES
Определения
MessagesAutoDeleteDelay.php:25
Bitrix\Socialnetwork\Collab\Control\Option\Type\MessagesAutoDeleteDelay\$value
string $value
Определения
MessagesAutoDeleteDelay.php:35
Bitrix\Socialnetwork\Collab\Control\Option\Type\MessagesAutoDeleteDelay\DEFAULT_VALUE
const DEFAULT_VALUE
Определения
MessagesAutoDeleteDelay.php:20
Bitrix\Socialnetwork\Collab\Control\Option\Type\MessagesAutoDeleteDelay\__construct
__construct(string $value)
Определения
MessagesAutoDeleteDelay.php:39
Bitrix\Socialnetwork\Collab\Control\Option\Type\MessagesAutoDeleteDelay\applyImplementation
applyImplementation(Collab $collab)
Определения
MessagesAutoDeleteDelay.php:45
Bitrix\Socialnetwork\Collab\Control\Option\Type\MessagesAutoDeleteDelay\$needUpdate
bool $needUpdate
Определения
MessagesAutoDeleteDelay.php:37
Bitrix\Socialnetwork\Collab\Control\Option\Type\MessagesAutoDeleteDelay\DB_NAME
const DB_NAME
Определения
MessagesAutoDeleteDelay.php:15
Bitrix\Socialnetwork\Collab\Control\Option\Type\MessagesAutoDeleteDelay\checkNeedUpdate
checkNeedUpdate(string $value)
Определения
MessagesAutoDeleteDelay.php:58
Bitrix\Im\V2\Chat\Collab
Определения
CollabInfo.php:3
bitrix
modules
socialnetwork
lib
Collab
Control
Option
Type
MessagesAutoDeleteDelay.php
Создано системой
1.14.0