Server IP : 85.193.89.191 / Your IP : 18.227.190.202 Web Server : Apache System : Linux 956367-cx40159.tmweb.ru 3.10.0-1160.105.1.el7.x86_64 #1 SMP Thu Dec 7 15:39:45 UTC 2023 x86_64 User : bitrix ( 600) PHP Version : 8.1.27 Disable Function : NONE MySQL : OFF | cURL : OFF | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /home/bitrix/www/bitrix/modules/bizproc/lib/integration/intranet/ |
Upload File : |
<?php namespace Bitrix\Bizproc\Integration\Intranet; use Bitrix\Intranet\Settings\Tools; use Bitrix\Main\Loader; final class ToolsManager { private static ?ToolsManager $instance = null; private bool $canUseIntranetToolsManager; private const AUTOMATION_TOOL_ID = 'automation'; private const BIZPROC_TOOL_ID = 'bizproc'; private const ROBOTS_TOOL_ID = 'robots'; private const SCRIPTS_TOOL_ID = 'bizproc_script'; public static function getInstance(): self { if (self::$instance === null) { self::$instance = new self(); } return self::$instance; } public function __construct() { $this->canUseIntranetToolsManager = ( Loader::includeModule('intranet') && class_exists(\Bitrix\Intranet\Settings\Tools\ToolsManager::class) ); } public function isAutomationAvailable(): bool { return $this->check(self::AUTOMATION_TOOL_ID); } public function isBizprocAvailable(): bool { return $this->check(self::BIZPROC_TOOL_ID) && $this->isAutomationAvailable(); } public function isRobotsAvailable(): bool { return $this->check(self::ROBOTS_TOOL_ID) && $this->isAutomationAvailable(); } public function isScriptsAvailable(): bool { return $this->check(self::SCRIPTS_TOOL_ID) && $this->isAutomationAvailable(); } public function getBizprocUnavailableContent() { ob_start(); global $APPLICATION; $APPLICATION->IncludeComponent( 'bitrix:intranet.tool.inaccessibility', '', [ 'SLIDER_CODE' => 'limit_automation_off', ], ); return ob_get_clean(); } private function check(string $toolId): bool { if ($this->canUseIntranetToolsManager) { return Tools\ToolsManager::getInstance()->checkAvailabilityByToolId($toolId); } return true; } }