• Модуль: intranet
  • Путь к файлу: ~/bitrix/modules/intranet/lib/controller/license.php
  • Класс: BitrixIntranetControllerLicense
  • Вызов: License::getBannerDataAction
public function getBannerDataAction()
{
	if ($bitrix24Controller = $this->getBitrix24Controller())
	{
		return method_exists($bitrix24Controller, 'getBannerDataAction')
			? $bitrix24Controller->getBannerDataAction() : [];
	}
	/* read response from cache if exists */
	$cache = Application::getInstance()->getManagedCache();
	if ($cache->read(self::CACHE_BANNER_TIME_TO_LIVE,self::CACHE_BANNER_ID))
	{
		return $cache->get(self::CACHE_BANNER_ID);
	}

	global $USER;

	$isBitrix24Cloud = Loader::includeModule('bitrix24');
	$isAdmin = ($isBitrix24Cloud && CBitrix24::isPortalAdmin($USER->getId())) || (!$isBitrix24Cloud && $USER->isAdmin());

	$httpClient = new HttpClient();
	$result = $httpClient->post(
		Util::getHelpdeskUrl() . '/widget2/license_widget_banners.php',
		array(
			'is_admin' => $isAdmin ? 1 : 0,
			'tariff' => Option::get('main', '~controller_group_name', ''),
			'is_cloud' => $isBitrix24Cloud ? '1' : '0',
			'host'  => defined('BX24_HOST_NAME') ? BX24_HOST_NAME : '',
			'languageId' => LANGUAGE_ID,
		)
	);

	if (false !== $result)
	{
		$data = Json::decode($result);

		if (is_array($data["notifications"]) && !empty($data["notifications"]))
		{
			$cache->set(self::CACHE_BANNER_ID, $data = $data["notifications"]);

			return $data;
		}
	}

	return [];
}