function Comp_Load($Element) { /****************************************************************************/ $__args_types = array('string', '*'); #----------------------------------------------------------------------------- $__args__ = Func_Get_Args(); eval(FUNCTION_INIT); /****************************************************************************/ $HostsIDs = System_HostsIDs(SPrintF('comp/%s.comp.php', $Element)); if (Is_Error($HostsIDs)) { return ERROR | @Trigger_Error('[Comp_Load]: не возможно найти компонент'); } #----------------------------------------------------------------------------- $IsCascade = In_Array(COMP_ALL_HOSTS, $__args__, TRUE); #----------------------------------------------------------------------------- if ($IsCascade) { $HostsIDs = Array_Reverse($HostsIDs); } #----------------------------------------------------------------------------- $Result = array(); #----------------------------------------------------------------------------- foreach ($HostsIDs as $HostID) { #--------------------------------------------------------------------------- $Path = SPrintF('%s/hosts/%s/comp/%s.comp.php', SYSTEM_PATH, $HostID, $Element); #--------------------------------------------------------------------------- if (Is_Dir($Path)) { return ERROR | @Trigger_Error('[Comp_Load]: объект не является компонентом'); } #--------------------------------------------------------------------------- $Args = $__args__; #--------------------------------------------------------------------------- Array_UnShift($Args, $Path); #--------------------------------------------------------------------------- $Comp = Call_User_Func_Array('LoadComp', $Args); if (Is_Error($Comp)) { return ERROR | @Trigger_Error('[Comp_Load]: не возможно загрузить компонент'); } #--------------------------------------------------------------------------- if ($IsCascade) { $Result[] = $Comp; } else { #------------------------------------------------------------------------- $Result = $Comp; #------------------------------------------------------------------------- break; } } #----------------------------------------------------------------------------- $Loaded =& Link_Get('Comp/Loaded', 'array'); #----------------------------------------------------------------------------- $Loaded[] = $Element; #----------------------------------------------------------------------------- return $Result; }
if (Is_Error($Input)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- $Table[] = array(new Tag('SPAN', array('style' => 'cursor:pointer;', 'onclick' => 'ChangeCheckBox(\'ByMonth\'); return false;'), 'По месяцам'), $Input); #------------------------------------------------------------------------------- $Input = Comp_Load('Form/Input', array('type' => 'checkbox', 'name' => 'Details[]', 'value' => 'ByQuarter', 'id' => 'ByQuarter')); if (Is_Error($Input)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- $Table[] = array(new Tag('SPAN', array('style' => 'cursor:pointer;', 'onclick' => 'ChangeCheckBox(\'ByQuarter\'); return false;'), 'По кварталам'), $Input); #------------------------------------------------------------------------------- $Table[] = 'Виды отчетов'; #------------------------------------------------------------------------------- $HostsIDs = Array_Reverse($GLOBALS['HOST_CONF']['HostsIDs']); #------------------------------------------------------------------------------- foreach ($HostsIDs as $HostID) { #----------------------------------------------------------------------------- $Path = SPrintF('%s/hosts/%s/comp/Statistics', SYSTEM_PATH, $HostID); #----------------------------------------------------------------------------- if (!File_Exists($Path)) { continue; } #----------------------------------------------------------------------------- $Files = IO_Scan($Path); if (Is_Error($Files)) { return ERROR | @Trigger_Error(500); } #----------------------------------------------------------------------------- foreach ($Files as $File) {
$Form->AddChild($Comp); #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- if (!$ServerID) { $DOM->AddAttribs('Body', array('onload' => 'SettingsUpdate();')); } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- # IO_Scan по всем директориям servers - создать массив уникальных имён шаблонов $HostsIDs = $GLOBALS['HOST_CONF']['HostsIDs']; #------------------------------------------------------------------------------- $Templates = $Array = $Array1 = $ServiceIDs = array(); #------------------------------------------------------------------------------- foreach (Array_Reverse($HostsIDs) as $HostID) { #------------------------------------------------------------------------------- $Path = SPrintF('%s/hosts/%s/servers', SYSTEM_PATH, $HostID); #------------------------------------------------------------------------------- if (!Is_Dir($Path)) { continue; } #------------------------------------------------------------------------------- $Files = IO_Scan($Path); #------------------------------------------------------------------------------- if (Is_Error($Files)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- foreach ($Files as $File) { if (!In_Array($File, $Array)) {
default: return ERROR | @Trigger_Error(100); } #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- if (Count($Errors)) { #------------------------------------------------------------------------------- $Attribs = $Template['Attribs']; #------------------------------------------------------------------------------- $Parent = NULL; #------------------------------------------------------------------------------- $Errors = Array_Reverse($Errors); #------------------------------------------------------------------------------- foreach ($Errors as $AttribID) { #------------------------------------------------------------------------------- $Attrib = $Attribs[$AttribID]; #------------------------------------------------------------------------------- $Exception = new gException(StrToUpper($AttribID), $Attrib['Comment'], $Parent); #------------------------------------------------------------------------------- $Parent = $Exception; #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- if (isset($Exception)) { return new gException('FIELDS_WRONG_FILLED', 'Не верно заполнены поля', $Exception); }
#------------------------------------------------------------------------------- if (isset($_COOKIE[$MessageID])) { continue; } #------------------------------------------------------------------------------- $Comp = Comp_Load('Information', $Note, 'Warning', $MessageID); if (Is_Error($Comp)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- $Table->AddChild(new Tag('TR', new Tag('TD', $Comp))); #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- $Table->Childs = Array_Reverse($Table->Childs); #------------------------------------------------------------------------------- $Out = Count($Table->Childs) ? $Table : new Tag('NOBODY', 'No nodes...'); #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- return $Out; #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- return new Tag('NOBODY', 'User not authorisated...'); #------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
function Styles_XML($Element) { /****************************************************************************/ $__args_types = array('string'); #----------------------------------------------------------------------------- $__args__ = Func_Get_Args(); eval(FUNCTION_INIT); /****************************************************************************/ $CacheID = SPrintF('Styles_XML[%s]', Md5($Element)); #----------------------------------------------------------------------------- $Result = CacheManager::get($CacheID); if ($Result) { return $Result; } #----------------------------------------------------------------------------- $HostsIDs = Styles_HostsIDs($Element); if (Is_Error($HostsIDs)) { return ERROR | @Trigger_Error('[Styles_XML]: список хостов содержащих элемент не найдены'); } #----------------------------------------------------------------------------- $Result = array(); #----------------------------------------------------------------------------- foreach (Array_Reverse($HostsIDs) as $HostID) { #--------------------------------------------------------------------------- $Path = SPrintF('%s/styles/%s/%s', SYSTEM_PATH, $HostID, $Element); #--------------------------------------------------------------------------- $File = IO_Read($Path); if (Is_Error($File)) { return ERROR | @Trigger_Error('[Styles_XML]: не удалось прочитать XML-файл'); } #--------------------------------------------------------------------------- $XML = String_XML_Parse($File); if (Is_Exception($XML)) { return ERROR | @Trigger_Error('[Styles_XML]: не удалось разобрать XML-строку'); } #--------------------------------------------------------------------------- $Child = Current($XML->Childs); #--------------------------------------------------------------------------- if (isset($Child->Attribs['recursive'])) { $Result = array(); } #--------------------------------------------------------------------------- $Adding = $XML->ToArray(); #--------------------------------------------------------------------------- $Adding = $Adding['XML']; #--------------------------------------------------------------------------- Array_Union($Result, $Adding); } #----------------------------------------------------------------------------- CacheManager::add($CacheID, $Result); #----------------------------------------------------------------------------- return $Result; }
function dbgt() { if (e(',dbgt', 1)) { return; } e(',dbgt'); $y = debug_backtrace(); $y = Array_Reverse($y); #unset($y[0]);krsort($y); foreach ($y as $k => $t) { if (in_array($t['function'], array('include', 'require', 'require_once', 'av', 'pat', 'dbgt'))) { unset($y[$k]); continue; } $z[$k] = $t['file'] . ':' . $t['line'] . "\t" . $t['function']; $z[$k] .= gettype($t['args']) == 'array' ? implode(',', $t['args']) : gettype($t['args']); #retourner un print_r nettoyé ? } return $z; }
function AddHTML($Html, $IsAfter = FALSE) { /****************************************************************************/ $__args_types = array('string', 'boolean'); #----------------------------------------------------------------------------- $__args__ = Func_Get_Args(); eval(FUNCTION_INIT); /****************************************************************************/ $Object = String_XML_Parse($Html); if (Is_Exception($Object)) { return ERROR | Trigger_Error('[Tag->AddHTML]: не удалось преобразовать объект'); } #----------------------------------------------------------------------------- $Childs = $IsAfter ? Array_Reverse($Object->Childs) : $Object->Childs; #----------------------------------------------------------------------------- $Result = array(); #----------------------------------------------------------------------------- foreach ($Childs as $Child) { $Result[] =& $this->AddChild($Child, $IsAfter); } #----------------------------------------------------------------------------- return $Result; }
#------------------------------------------------------------------------------- break; #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- CacheManager::add($CacheID, $InterfaceID); #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- $User['InterfaceID'] = $InterfaceID; #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- $IsQuery = DB_Query(SPrintF("SET @local.__USER_GROUPS_PATH = '%s'", Implode(',', Array_Reverse($Path)))); if (Is_Error($IsQuery)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- $Entrance = Tree_Entrance('Groups', (int) $User['GroupID']); #------------------------------------------------------------------------------- switch (ValueOf($Entrance)) { case 'error': return ERROR | @Trigger_Error(500); case 'exception': return ERROR | @Trigger_Error(400); case 'array': break; default: