1C-Bitrix
25.700.0
Загрузка...
Поиск...
Не найдено
CollabersOnly.php
См. документацию.
1
<?php
2
3
namespace
Bitrix\Im\V2\Recent\Initializer\Source\Filter
;
4
5
use Bitrix\Extranet\Enum\User\ExtranetRole;
6
use Bitrix\Extranet\Model\ExtranetUserTable;
7
use
Bitrix\Im\V2\Recent\Initializer\Source\Filter
;
8
use
Bitrix\Main\Loader
;
9
use
Bitrix\Main\ORM\Fields\Relations\Reference
;
10
use
Bitrix\Main\ORM\Query\Join
;
11
use
Bitrix\Main\ORM\Query\Query
;
12
13
class
CollabersOnly
implements
Filter
14
{
15
public
function
apply
(
Query
$query
,
string
$userIdFieldName): ?
Query
16
{
17
if
(!Loader::includeModule(
'extranet'
))
18
{
19
return
$query
;
20
}
21
22
return
$query
23
->registerRuntimeField(
24
'COLLABER_INFO'
,
25
new
Reference
(
26
'COLLABER_INFO'
,
27
ExtranetUserTable::class,
28
Join::on(
"this.{$userIdFieldName}"
,
'ref.USER_ID'
)
29
->where(
'ref.ROLE'
, ExtranetRole::Collaber->value),
30
[
'join_type'
=> Join::TYPE_INNER]
31
)
32
)
33
;
34
}
35
}
Bitrix\Im\V2\Chat\Filter\$query
Query $query
Определения
Filter.php:17
Bitrix\Im\V2\Recent\Initializer\Source\Filter\CollabersOnly
Определения
CollabersOnly.php:14
Bitrix\Im\V2\Recent\Initializer\Source\Filter\CollabersOnly\apply
apply(Query $query, string $userIdFieldName)
Определения
CollabersOnly.php:15
Bitrix\Main\Loader
Определения
loader.php:13
Bitrix\Main\ORM\Fields\Relations\Reference
Определения
reference.php:26
Bitrix\Main\ORM\Query\Join
Определения
join.php:19
Bitrix\Im\V2\Recent\Initializer\Source\Filter
Определения
CollabersOnly.php:3
Bitrix\Main\Filter
Bitrix\Main\ORM\Query
Определения
chain.php:3
bitrix
modules
im
lib
V2
Recent
Initializer
Source
Filter
CollabersOnly.php
Создано системой
1.14.0