• Модуль: intranet
  • Путь к файлу: ~/bitrix/modules/intranet/lib/controller/license.php
  • Класс: BitrixIntranetControllerLicense
  • Вызов: License::getLicenseDataAction
public function getLicenseDataAction()
{
	if ($bitrix24Controller = $this->getBitrix24Controller())
	{
		return method_exists($bitrix24Controller, 'getLicenseDataAction')
			? $bitrix24Controller->getLicenseDataAction() : [];
	}

	if (!MainLoader::includeModule('intranet'))
	{
		return false;
	}
	$license = MainApplication::getInstance()->getLicense();
	$expireDate = $license->getExpireDate();
	$daysLeft = null;
	if ($expireDate instanceof MainTypeDate)
	{
		$daysLeft = (new MainTypeDateTime())->getDiff($license->getExpireDate());
		$daysLeft = ($daysLeft->invert ? (-1) : 1) *  $daysLeft->days;
	}

	$licenseData = [
		'license' => [
			'ordersPath' => "/settings/order/",
			'isDemo' => $license->isDemo(),
			'isTimeBound' => $license->isTimeBound(),
			'expireDate' => $expireDate instanceof MainTypeDate ? $expireDate->toString() : null,
			'daysLeft' => $daysLeft,
			'canBuy' => $this->getCurrentUser()->isAdmin(),
			'allPath' => '',
			'demoPath' => '',
		],
		'market' => [
			'isMarketAvailable' => false,
		],
		'isAdmin' => $this->getCurrentUser()->isAdmin(),
		'partner' => [],
		'telephony' => $this->getVoximplantInfo()
	];

	if (Loader::includeModule('rest') && BitrixRestMarketplaceClient::isSubscriptionAccess())
	{
		$licenseData['market'] = array_merge(
			['isMarketAvailable' => false]/*,
 				TODO: make this info
			BitrixBitrix24LicenseMarket::getData()*/
		);
	}

	return $licenseData;
}