Your IP : 216.73.216.86


Current Path : /var/www/homesaver/www/bitrix/modules/ui/lib/FeaturePromoter/
Upload File :
Current File : /var/www/homesaver/www/bitrix/modules/ui/lib/FeaturePromoter/Slider.php

<?php

namespace Bitrix\UI\FeaturePromoter;

use Bitrix\Main\Loader;
use Bitrix\UI\Helpdesk;
use Bitrix\Bitrix24;

class Slider extends BaseProvider
{
	private const PATH_HELPDESK = '/widget2/show/code/';

	public function getRendererParameters(): array
	{
		$requestHelpdesk = new Helpdesk\Request(self::PATH_HELPDESK, [
			'url' => $this->configuration->currentUrl,
			'featurePromoterVersion' => 2,
			'isPromoEditionAvailable' => $this->isPromoEditionAvailable(),
		]);

		return [
			'frameUrlTemplate' => $requestHelpdesk->getPreparedUrl(),
			'code' => $this->configuration->code,
			'trialableFeatureList' => $this->getTrialableFeatureList(),
			'availableDomainList' => $requestHelpdesk->getUrl()->getDomain()->getList(),
		];
	}

	private function getTrialableFeatureList(): array
	{
		if (Loader::includeModule('bitrix24'))
		{
			return Bitrix24\Feature::getTrialableFeatureList();
		}

		return [];
	}

	private function isPromoEditionAvailable(): bool
	{
		if (Loader::includeModule('bitrix24'))
		{
			if (Loader::includeModule('extranet') && !\CExtranet::isIntranetUser())
			{
				return false;
			}

			return Bitrix24\Feature::isPromoEditionAvailableByFeature($this->configuration->featureId ?? '');
		}

		return false;
	}
}