Server IP : 80.87.202.40 / Your IP : 216.73.216.169 Web Server : Apache System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64 User : bitrix ( 600) PHP Version : 8.2.27 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/bitrix/ext_www/rospirotorg.ru/bitrix/components/bitrix/landing.site_copilot/ |
Upload File : |
<?php if (!defined('B_PROLOG_INCLUDED') || B_PROLOG_INCLUDED !== true) { die(); } use Bitrix\Landing\Copilot; use Bitrix\Landing\Manager; use Bitrix\Main\Loader; use Bitrix\Main\Localization\Loc; use Bitrix\Main\ModuleManager; use Bitrix\Main\Web\Uri; use Bitrix\UI\Util; Loc::loadMessages(__FILE__); \CBitrixComponent::includeComponentClass('bitrix:landing.base'); class SiteCopilotComponent extends LandingBaseComponent { /** * Base executable method. * @return void */ public function executeComponent(): void { $isAvailable = Copilot\Manager::isAvailable(); $isEnabled = Copilot\Manager::isFeatureEnabled(); $isActive = Copilot\Manager::isActive(); if (!$isAvailable || !$isEnabled || !$isActive) { $url = new Uri($this->arParams['PAGE_URL_SITES']); if ($isAvailable) { $sliderCode = Copilot\Manager::getUnactiveSliderCode(); if (!$isEnabled) { $sliderCode = Copilot\Manager::getLimitSliderCode(); } $url->addParams([ 'feature_promoter' => $sliderCode, ]); } \localRedirect($url->getUri()); } if (Loader::includeModule('ai')) { // force chatbot registration Copilot\Connector\Chat\Chat::getCreateSiteChatBot(); } if (Loader::includeModule('ui')) { $this->arResult['HELPER_FRAME_OPEN_URL'] = $this->getHelperFrameOpenUrl(); } parent::executeComponent(); } /** * Returns the URL for the helper frame. * * @return string */ protected function getHelperFrameOpenUrl(): string { $baseUrl = Util::getHelpdeskUrl(true) . '/widget2/'; $params = [ 'url' => urlencode( (Manager::isHttps() ? 'https://' : 'http://') . Manager::getHttpHost() . Manager::getApplication()->getCurPageParam() ), 'user_id' => Manager::getUserId(), 'is_cloud' => ModuleManager::isModuleInstalled('bitrix24') ? '1' : '0', 'action' => 'open', ]; return $baseUrl . '?' . http_build_query($params); } }