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