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/modules/main/interface/ |
Upload File : |
<?php /** * Bitrix Framework * @package bitrix * @subpackage main * @copyright 2001-2016 Bitrix */ class CAdminTabEngine { var $name; var $bInited = false; var $arEngines = array(); var $arArgs = array(); var $bVarsFromForm = false; public function __construct($name, $arArgs = array()) { $this->bInited = false; $this->name = $name; $this->arEngines = array(); $this->arArgs = $arArgs; foreach (GetModuleEvents("main", $this->name, true) as $arEvent) { $res = ExecuteModuleEventEx($arEvent, array($this->arArgs)); if (is_array($res)) { $res["TABSET"] = preg_replace('/[^A-Za-z0-9_-]/', '', $res["TABSET"]); $this->arEngines[$res["TABSET"]] = $res; } $this->bInited = true; } } function SetErrorState($bVarsFromForm = false) { $this->bVarsFromForm = $bVarsFromForm; } function SetArgs($arArgs = array()) { $this->arArgs = $arArgs; } function Check() { if (!$this->bInited) return true; $result = true; foreach ($this->arEngines as $value) { if (array_key_exists("Check", $value)) { $resultTmp = call_user_func_array($value["Check"], array($this->arArgs)); if ($result && !$resultTmp) $result = false; } } return $result; } function Action() { if (!$this->bInited) return true; $result = true; foreach ($this->arEngines as $value) { if (array_key_exists("Action", $value)) { $resultTmp = call_user_func_array($value["Action"], array($this->arArgs)); if ($result && !$resultTmp) $result = false; } } return $result; } function GetTabs() { if (!$this->bInited) return false; $arTabs = array(); foreach ($this->arEngines as $key => $value) { if (array_key_exists("GetTabs", $value)) { $arTabsTmp = call_user_func_array($value["GetTabs"], array($this->arArgs)); if (is_array($arTabsTmp)) { foreach ($arTabsTmp as $key1 => $value1) { $arTabsTmp[$key1]["DIV"] = $key."_".$arTabsTmp[$key1]["DIV"]; } $arTabs = array_merge($arTabs, $arTabsTmp); } } } return $arTabs; } function ShowTab($divName) { if (!$this->bInited) return false; foreach ($this->arEngines as $key => $value) { if (str_starts_with($divName, $key . "_")) { if (array_key_exists("ShowTab", $value)) call_user_func_array($value["ShowTab"], array(mb_substr($divName, mb_strlen($key."_")), $this->arArgs, $this->bVarsFromForm)); } } return null; } }