- Модуль: tasks
- Путь к файлу: ~/bitrix/modules/tasks/lib/util/user.php
- Класс: Bitrix\Tasks\Util\User
- Вызов: User::getData
static function getData(array $userIds, array $select = ['*'])
{
$users = [];
$current = static::getId();
if (empty($userIds))
{
$userIds = [$current];
}
$parsed = array_unique(array_filter($userIds, 'intval'));
if (empty($parsed))
{
return $users;
}
$departmentUFCode = Intranet\User::getDepartmentUFCode();
if (Userfield\User::checkFieldExists($departmentUFCode))
{
$select[] = $departmentUFCode;
}
if (Loader::includeModule('crm'))
{
$select[] = 'UF_USER_CRM_ENTITY';
}
$filter = ['ID' => $parsed];
$externalAuthIds = array_diff(
static::getArtificialExternalAuthIds(),
[
Mail\User::getExternalCode(),
Replica\User::getExternalCode(),
IMBot\User::getExternalCode(),
]
);
if (!empty($externalAuthIds))
{
$filter['!=EXTERNAL_AUTH_ID'] = $externalAuthIds;
}
$res = UserTable::getList([
'select' => $select,
'filter' => $filter,
]);
while ($user = $res->fetch())
{
$user['IS_EXTRANET_USER'] = Extranet\User::isExtranet($user);
$user['IS_EMAIL_USER'] = Mail\User::isEmail($user);
$user['IS_CRM_EMAIL_USER'] = ($user['IS_EMAIL_USER'] && !empty($user['UF_USER_CRM_ENTITY']));
$user['IS_NETWORK_USER'] = (isset($user['EXTERNAL_AUTH_ID']) && $user['EXTERNAL_AUTH_ID'] === Replica\User::getExternalCode());
$users[$user['ID']] = $user;
}
return $users;
}