1C-Bitrix
25.700.0
Загрузка...
Поиск...
Не найдено
BaseCollabSource.php
См. документацию.
1
<?php
2
3
namespace
Bitrix\Im\V2\Recent\Initializer\Source
;
4
5
use
Bitrix\Im\V2\Recent\Initializer\BaseSource
;
6
use
Bitrix\Im\V2\Recent\Initializer\Stage
;
7
use Bitrix\Im\V2\Recent\Initializer\StageType;
8
9
abstract
class
BaseCollabSource
extends
BaseSource
10
{
11
public
function
__construct
(
int
$targetId
, ?
int
$sourceId
,
Stage
$stage
)
12
{
13
parent::__construct(
$targetId
,
$sourceId
,
$stage
);
14
if
($this->stage::getType() === StageType::Target)
15
{
16
$this->stage->setGapTime(
Stage::MIN_GAP_TIME
);
17
}
18
}
19
20
public
function
setIsFirstInit
(
bool
$flag): static
21
{
22
if
($flag && $this->stage::getType() === StageType::Target)
23
{
24
// We set the time gap to 60 seconds here to account for the initial loading of the "recent".
25
// When a guest joins a collab, their join message might be sent to the collab chat
26
// before the "recent" is fully initialized. This increased gap ensures proper order.
27
$this->stage->setGapTime(
Stage::GAP_TIME
);
28
}
29
30
return
parent::setIsFirstInit($flag);
31
}
32
33
protected
function
isResultAffectedByStage
(): bool
34
{
35
return
true
;
36
}
37
}
Bitrix\Im\V2\Recent\Initializer\BaseSource
Определения
BaseSource.php:13
Bitrix\Im\V2\Recent\Initializer\BaseSource\$stage
Stage $stage
Определения
BaseSource.php:22
Bitrix\Im\V2\Recent\Initializer\BaseSource\$sourceId
int $sourceId
Определения
BaseSource.php:20
Bitrix\Im\V2\Recent\Initializer\BaseSource\$targetId
int $targetId
Определения
BaseSource.php:21
Bitrix\Im\V2\Recent\Initializer\Source\BaseCollabSource
Определения
BaseCollabSource.php:10
Bitrix\Im\V2\Recent\Initializer\Source\BaseCollabSource\isResultAffectedByStage
isResultAffectedByStage()
Определения
BaseCollabSource.php:33
Bitrix\Im\V2\Recent\Initializer\Source\BaseCollabSource\__construct
__construct(int $targetId, ?int $sourceId, Stage $stage)
Определения
BaseCollabSource.php:11
Bitrix\Im\V2\Recent\Initializer\Source\BaseCollabSource\setIsFirstInit
setIsFirstInit(bool $flag)
Определения
BaseCollabSource.php:20
Bitrix\Im\V2\Recent\Initializer\Stage\GAP_TIME
const GAP_TIME
Определения
Stage.php:7
Bitrix\Im\V2\Recent\Initializer\Stage\MIN_GAP_TIME
const MIN_GAP_TIME
Определения
Stage.php:8
Bitrix\Im\V2\Recent\Initializer\Source
Определения
BaseCollabSource.php:3
Bitrix\Im\V2\Recent\Initializer\Stage
Определения
OtherUsersStage.php:3
bitrix
modules
im
lib
V2
Recent
Initializer
Source
BaseCollabSource.php
Создано системой
1.14.0