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