• Модуль: intranet
  • Путь к файлу: ~/bitrix/modules/intranet/lib/component/userprofile.php
  • Класс: BitrixIntranetComponentUserProfile
  • Вызов: UserProfile::setUserStatus
private function setUserStatus(&$user)
{
	$obUser = new CUser();
	$arGroups = $obUser->getUserGroup($user["ID"]);

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

	$user["IS_EXTRANET"] = false;

	if (in_array(1, $arGroups))
	{
		$user["STATUS"] = "admin";
	}
	else
	{
		$user["STATUS"] = "employee";

		if (
			!is_array($user['UF_DEPARTMENT'])
			|| empty($user['UF_DEPARTMENT'][0])
		)
		{
			if (
				$extranetGroupId
				&& in_array($extranetGroupId, $arGroups)
			)
			{
				$user["STATUS"] = "extranet";
				$user["IS_EXTRANET"] = true;
			}
			else
			{
				$user["STATUS"] = "visitor";
			}
		}
	}

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

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

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

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