• Модуль: 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;
}