- Модуль: intranet
- Путь к файлу: ~/bitrix/modules/intranet/lib/controller/invitationwidget.php
- Класс: BitrixIntranetControllerInvitationWidget
- Вызов: InvitationWidget::getDataAction
public function getDataAction(): array
{
$currentUserCount = 0;
$currentExtranetUserCount = 0;
$maxUserCount = 0;
$currentExtranetUserCountMessage = '';
if (Loader::includeModule('bitrix24'))
{
$currentUserCount = CBitrix24::getActiveUserCount();
if (!CBitrix24BusinessTools::isAvailable())
{
$maxUserCount = CBitrix24::getMaxBitrix24UsersCount();
}
$currentExtranetUserCount = CBitrix24::getActiveExtranetUserCount();
$currentExtranetUserCountMessage = Loc::getMessage('INTRANET_INVITATION_WIDGET_USER_COUNT_EXTRANET', [
'#COUNT#' => $currentExtranetUserCount
]);
}
$leftCountMessage = "";
if ($maxUserCount > 0)
{
$currentUserCountMessage = Loc::getMessage('INTRANET_INVITATION_WIDGET_USER_COUNT', [
'#CURRENT_COUNT#' => $currentUserCount,
'#MAX_COUNT#' => $maxUserCount,
]);
if ($maxUserCount >= $currentUserCount)
{
$leftCountMessage = Loc::getMessage('INTRANET_INVITATION_WIDGET_USER_COUNT_LEFT', [
'#COUNT#' => $maxUserCount - $currentUserCount
]);
}
}
else
{
$currentUserCountMessage = Loc::getMessage('INTRANET_INVITATION_WIDGET_USER_COUNT_EMPLOYEES', [
'#COUNT#' => $currentUserCount
]);
}
return [
'users' => [
'rightType' => $this->getInvitationRight(),
'currentUserCountMessage' => $currentUserCountMessage,
'currentUserCount' => $currentUserCount,
'currentExtranetUserCountMessage' => $currentExtranetUserCountMessage,
'currentExtranetUserCount' => $currentExtranetUserCount,
'leftCountMessage' => $leftCountMessage,
'maxUserCount' => $maxUserCount,
'isLimit' => $maxUserCount > 0 && $currentUserCount > $maxUserCount,
],
];
}