Your IP : 18.223.170.69
<?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))
$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 (SubStr($divName, 0, StrLen($key."_")) == $key."_")
{
if (array_key_exists("ShowTab", $value))
call_user_func_array($value["ShowTab"], array(SubStr($divName, StrLen($key."_")), $this->arArgs, $this->bVarsFromForm));
}
}
return null;
}
}