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