• Модуль: intranet
  • Путь к файлу: ~/bitrix/modules/intranet/lib/util.php
  • Класс: BitrixIntranetUtil
  • Вызов: Util::getUserStatus
static function getUserStatus($id)
{
	global $USER;
	$status = "";

	$result = BitrixMainUserTable::getList([
		'select' => ['ID', 'ACTIVE', 'CONFIRM_CODE', 'EXTERNAL_AUTH_ID', 'UF_DEPARTMENT'],
		'filter' => ['=ID' => $id],
	]);

	if ($user = $result->fetch())
	{
		$groups = $USER->getUserGroup($id);

		$extranetGroupId = (
		Loader::includeModule('extranet')
			? intval(CExtranet::getExtranetUserGroupId())
			: 0
		);

		if(in_array(1, $groups))
		{
			$status = "admin";
		}
		else
		{
			$status = "employee";

			if(
				!is_array($user['UF_DEPARTMENT'])
				|| empty($user['UF_DEPARTMENT'][0])
			)
			{
				if (
					$extranetGroupId
					&& in_array($extranetGroupId, $groups)
				)
				{
					$status = "extranet";
				}
			}
		}

		if (Loader::includeModule("bitrix24") && BitrixBitrix24Integrator::isIntegrator($user["ID"]))
		{
			$status = "integrator";
		}

		if($user["ACTIVE"] == "N")
		{
			$status = "fired";
		}

		if (
			$user["ACTIVE"] == "Y"
			&& !empty($user["CONFIRM_CODE"])
		)
		{
			$status = "invited";
		}

		if (in_array($user["EXTERNAL_AUTH_ID"], [ 'email' ]))
		{
			$status = $user["EXTERNAL_AUTH_ID"];
		}
		elseif (in_array($user["EXTERNAL_AUTH_ID"], [ 'shop', 'sale', 'saleanonymous' ]))
		{
			$status = 'shop';
		}
	}

	return $status;
}