AnonSec Shell
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 :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     

Current File : /home/bitrix/www/bitrix/modules/bizproc/lib/integration/intranet/toolsmanager.php
<?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;
	}
}

Anon7 - 2022
AnonSec Team