1C-Bitrix
25.700.0
Загрузка...
Поиск...
Не найдено
user.php
См. документацию.
1
<?php
2
3
namespace
Bitrix\Im\Model;
4
5
use Bitrix\Main\ORM\Fields\BooleanField;
6
use Bitrix\Main\ORM\Fields\ExpressionField;
7
24
class
UserTable
extends
\Bitrix\Main\UserTable
25
{
31
public
static
function
filterExternalUserTypes
(
array
$skipTypes = []):
array
32
{
33
$types =
\Bitrix\Main\UserTable::getExternalUserTypes
();
34
if
(empty($skipTypes))
35
{
36
return
$types;
37
}
38
39
$types = array_filter($types,
function
($authId) use ($skipTypes) {
40
return
!in_array($authId, $skipTypes,
true
);
41
});
42
43
return
$types;
44
}
45
46
public
static
function
getMap
()
47
{
48
$emptyValue = serialize([]);
49
$emptyValue2 = serialize([0]);
50
51
$additionalFields = [
52
(
new
ExpressionField
(
53
'IS_INTRANET_USER'
,
54
'CASE WHEN
55
((%s IS NOT NULL AND %s != \''
. $emptyValue .
'\'
AND %s != \
''
. $emptyValue2 .
'\'
) AND
56
(%s IS NULL OR %s NOT IN (\
''
. implode(
'\'
, \
''
, self::filterExternalUserTypes([
'bot'
])) .
'\'
)))
57
OR (%s = \
'bot\')
58
THEN \'Y\'
59
ELSE \'N\'
60
END'
,
61
[
'UF_DEPARTMENT'
,
'UF_DEPARTMENT'
,
'UF_DEPARTMENT'
,
'EXTERNAL_AUTH_ID'
,
'EXTERNAL_AUTH_ID'
,
'EXTERNAL_AUTH_ID'
],
62
[
'values'
=> [
'N'
,
'Y'
]]
63
))->configureValueType(BooleanField::class)
64
];
65
66
return
array_merge(parent::getMap(), $additionalFields);
67
}
68
}
Bitrix\Im\Model\UserTable\getMap
static getMap()
Определения
user.php:46
Bitrix\Im\Model\UserTable\filterExternalUserTypes
static filterExternalUserTypes(array $skipTypes=[])
Определения
user.php:31
Bitrix\Main\ORM\Fields\ExpressionField
Определения
expressionfield.php:25
Bitrix\Main\UserTable
Определения
user.php:48
Bitrix\Main\UserTable\getExternalUserTypes
static getExternalUserTypes()
Определения
user.php:307
array
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
Определения
file_new.php:804
bitrix
modules
im
lib
model
user.php
Создано системой
1.14.0