/** * Конструктор класса * * Создает документ из XML строки. * * @param string <иницилиазирующая строка> */ public function DOM($Source = NULL) { /****************************************************************************/ $__args_types = array('string,object'); #----------------------------------------------------------------------------- $__args__ = Func_Get_Args(); eval(FUNCTION_INIT); /****************************************************************************/ if (!Is_Null($Source)) { #--------------------------------------------------------------------------- if (Is_Object($Source)) { #------------------------------------------------------------------------- $this->Object = $Source; #------------------------------------------------------------------------- $this->Linking(); } #--------------------------------------------------------------------------- if (Is_String($Source)) { #------------------------------------------------------------------------- if (Mb_StrLen($Source) > 1) { #----------------------------------------------------------------------- $this->Object = String_XML_Parse($Source); if (Is_Exception($this->Object)) { return ERROR | Trigger_Error('[DOM->DOM]: не удалось преобразовать XML'); } #----------------------------------------------------------------------- $this->Object = Current($this->Object->Childs); #----------------------------------------------------------------------- $this->Linking(); } } } }
} #------------------------------------------------------------------------------- foreach ($Rows as $Row) { #----------------------------------------------------------------------------- $Tr = new Tag('TR'); #----------------------------------------------------------------------------- switch (ValueOf($Row)) { case 'array': #------------------------------------------------------------------------- foreach ($Row as $Column) { #----------------------------------------------------------------------- if (Is_Scalar($Column)) { #--------------------------------------------------------------------- $Attribs = array('class' => 'Standard'); #--------------------------------------------------------------------- if (!Is_String($Column)) { $Attribs['align'] = 'right'; } #--------------------------------------------------------------------- $Column = new Tag('TD', $Attribs, $Column); } #----------------------------------------------------------------------- $Tr->AddChild($Column); } break; case 'object': #------------------------------------------------------------------------- if ($Row->Name != 'TR') { $Tr->AddChild(new Tag('TD', array('colspan' => $Max, 'align' => 'right'), $Row)); } else { $Tr = $Row;
function Bytes_Get($String, $Start, $Length = BUTE) { /****************************************************************************/ $__args_types = array('string', 'integer', 'integer'); #----------------------------------------------------------------------------- $__args__ = Func_Get_Args(); eval(FUNCTION_INIT); /****************************************************************************/ $Section = SubStr($String, $Start, $Length); if (Is_String($Section)) { return Bytes_Trim(Bytes_Decode($Section)); } #----------------------------------------------------------------------------- return FALSE; }
function Crypt_Decode1($String, $Key = HOST_ID) { /****************************************************************************/ $__args_types = array('string', 'string'); #----------------------------------------------------------------------------- $__args__ = Func_Get_Args(); eval(FUNCTION_INIT); /****************************************************************************/ $String = Base64_Decode($String); #----------------------------------------------------------------------------- if (empty($String)) { return $String; } #----------------------------------------------------------------------------- if (Extension_Loaded('mcrypt')) { #--------------------------------------------------------------------------- $Module = @MCrypt_Module_Open(MCRYPT_DES, '', MCRYPT_MODE_ECB, ''); if (!Is_Resource($Module)) { return ERROR | @Trigger_Error('[Crypt_Decode]: не удалось открыть дескриптор'); } #------------------------------------------------------------------------- $Iv = @MCrypt_Create_Iv(MCrypt_Enc_Get_Iv_Size($Module), MCRYPT_RAND); if (!$Iv) { return ERROR | @Trigger_Error('[Crypt_Decode]: не удалось создать IV'); } #------------------------------------------------------------------------- $Key = SubStr($Key, 0, MCrypt_Enc_Get_Key_Size($Module)); Debug(SPrintF("[Crypt_Decode1]: Decode Key = %s", $Key)); #------------------------------------------------------------------------- $IsInit = @MCrypt_Generic_Init($Module, $Key, $Iv); if (!Is_Integer($IsInit)) { return ERROR | @Trigger_Error('[Crypt_Decode]: не удалось инициализовать модуль дешифрования'); } #------------------------------------------------------------------------------- } #--------------------------------------------------------------------------- $String = @MDecrypt_Generic($Module, $String); if (!Is_String($String)) { return ERROR | @Trigger_Error('[Crypt_Decode]: не удалось дешифровать данные'); } #--------------------------------------------------------------------------- MCrypt_Generic_DeInit($Module); #--------------------------------------------------------------------------- $String = Trim($String); #--------------------------------------------------------------------------- return $String; #------------------------------------------------------------------------------- }
function Tree_Path($TableID, $RowID, $ColumnsIDs = 'ID') { /****************************************************************************/ $__args_types = array('string', 'integer', 'string,array'); #----------------------------------------------------------------------------- $__args__ = Func_Get_Args(); eval(FUNCTION_INIT); /****************************************************************************/ $Regulars = Regulars(); #----------------------------------------------------------------------------- if (!Preg_Match($Regulars['ID'], $TableID)) { return new gException('WRONG_TABLE_ID', 'Неверный идентификатор таблицы'); } #----------------------------------------------------------------------------- $CacheID = SPrintF('Tree_Path[%s]', Md5(SPrintF('%s:%u:%s', $TableID, $RowID, Is_String($ColumnsIDs) ? $ColumnsIDs : Implode(':', $ColumnsIDs)))); #----------------------------------------------------------------------------- $Result = CacheManager::get($CacheID); if (!$Result) { #--------------------------------------------------------------------------- $Row = DB_Select($TableID, '*', array('UNIQ', 'ID' => $RowID)); #--------------------------------------------------------------------------- switch (ValueOf($Row)) { case 'error': return ERROR | @Trigger_Error('[Tree_Path]: не возможно выбрать запись'); case 'exception': return new gException('ROW_NOT_FOUND', 'Запись не найдена'); case 'array': #----------------------------------------------------------------------- if (Is_Array($ColumnsIDs)) { #--------------------------------------------------------------------- $Adding = array(); #--------------------------------------------------------------------- foreach ($ColumnsIDs as $ColumnID) { $Adding[$ColumnID] = $Row[$ColumnID]; } } else { $Adding = $Row[$ColumnsIDs]; } #----------------------------------------------------------------------- $Result = array($Adding); #----------------------------------------------------------------------- if ($Row['ID'] != $Row['ParentID']) { #--------------------------------------------------------------------- $Parents = Tree_Path($TableID, (int) $Row['ParentID'], $ColumnsIDs); #--------------------------------------------------------------------- switch (ValueOf($Parents)) { case 'error': return ERROR | @Trigger_Error('[Tree_Path]: не удалось осуществить рекурсивный вызов'); case 'exception': return ERROR | @Trigger_Error('[Tree_Path]: при рекурсивном вызове произошла ошибка'); case 'array': $Result = Array_Merge($Result, $Parents); break; default: return ERROR | @Trigger_Error(101); } } #----------------------------------------------------------------------- CacheManager::add($CacheID, $Result); break; default: return ERROR | @Trigger_Error(101); } } #----------------------------------------------------------------------------- return $Result; }
public function Query($Query) { #------------------------------------------------------------------------------- if (!Is_String($Query)) { return ERROR | @Trigger_Error('[MySQL->Query]: первый параметр не является строкой'); } #------------------------------------------------------------------------------- if (!Is_Resource($this->Link)) { return ERROR | @Trigger_Error('[MySQL->Query]: нет соединения с MySQL'); } #------------------------------------------------------------------------------- Debug(SPrintF('[MySQL->Query]: %s', $Query)); #------------------------------------------------------------------------------- $this->Query = $Query; #------------------------------------------------------------------------------- $Result = MySQL_Query($Query, $this->Link); if ($Result) { return $Result; } #------------------------------------------------------------------------------- $Error = $this->GetError(); #------------------------------------------------------------------------------- return ERROR | @Trigger_Error(SPrintF('[MySQL->Query]: %s', $Error)); #------------------------------------------------------------------------------- }
} #----------------------------------------------------------------------- $Table[] = array('Дата выполнения', $Comp); #----------------------------------------------------------------------- $Config = Config(); #----------------------------------------------------------------------- $Type = $Config['Tasks']['Types'][$TypeID]; #----------------------------------------------------------------------- $Params = $Task['Params']; #----------------------------------------------------------------------- if (Count($Params)) { #--------------------------------------------------------------------- $Table[] = 'Параметры'; #--------------------------------------------------------------------- foreach (Array_Keys($Params) as $ParamID) { if (Is_String($Params[$ParamID])) { #------------------------------------------------------------------- $Text = Str_Replace("\n", '<BR />', HtmlSpecialChars(Trim($Params[$ParamID]))); #------------------------------------------------------------------- $Text = Preg_Replace('/(http\\:\\/\\/[a-zA-Z0-9\\/\\:\\?\\&\\=\\@\\-\\.\\;\\_]+)/', '<A href="\\1">[ссылка]</A>', $Text); #------------------------------------------------------------------- $Td = new Tag('TD', array('class' => 'Standard', 'style' => 'max-width:400px;')); #------------------------------------------------------------------- $Td->AddHTML(SPrintF('<SPAN>%s</SPAN>', $Text)); #------------------------------------------------------------------- if (isset($Type['Params'][$ParamID])) { $Table[] = array($Type['Params'][$ParamID], $Td); } else { $Table[] = array($ParamID, $Td); } }
#------------------------------------------------------------------------- $Value = $Row[Current($ColumnsIDs)]; #------------------------------------------------------------------------- $Td = new Tag('TD', array('class' => 'Comment', 'valign' => 'bottom'), $Value); #------------------------------------------------------------------------- $Tr->AddChild($Td); #------------------------------------------------------------------------- $Value = $Row[Next($ColumnsIDs)]; #------------------------------------------------------------------------- $Td = new Tag('TD', $Value); #------------------------------------------------------------------------- if (Is_Scalar($Value)) { #----------------------------------------------------------------------- $Td->AddAttribs(array('class' => 'Standard')); #----------------------------------------------------------------------- if (!Is_String($Value)) { $Td->AddAttribs(array('align' => 'right')); } } else { #----------------------------------------------------------------------- if ($Value->Name == 'TD') { $Td = $Value; } } #------------------------------------------------------------------------- $Tr->AddChild($Td); #------------------------------------------------------------------------- $Group->AddChild($Tr); break; case 'object': #-------------------------------------------------------------------------
} #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- $Div = new Tag('DIV', array('style' => 'overflow:scroll;overflow-x:auto;height:400px;padding-right:5px;')); #------------------------------------------------------------------------------- if (Count($Filters)) { #------------------------------------------------------------------------------- #Debug(print_r($Filters,true)); #------------------------------------------------------------------------------- foreach (Array_Keys($Filters) as $FilterID) { #------------------------------------------------------------------------------- Debug(SPrintF('[comp/www/Administrator/Dispatch]: FilterID = %s, Filter = %s', $FilterID, print_r($Filters[$FilterID], true))); #------------------------------------------------------------------------------- $Filter = $Filters[$FilterID]; #------------------------------------------------------------------------------- if (Is_String($Filter)) { #------------------------------------------------------------------------------- $Div->AddChild(new Tag('DIV', array('class' => 'Standard'), $Filter)); #------------------------------------------------------------------------------- continue; #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- $Comp = Comp_Load('Form/Input', array('name' => 'FiltersIDs[]', 'id' => $FilterID, 'type' => 'checkbox', 'value' => SPrintF('%s|%s', $Filter['Dispatch'], $FilterID))); if (Is_Error($Comp)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- $Name = Comp_Load('Formats/String', $Filter['Name'], 25); if (Is_Error($Name)) { return ERROR | @Trigger_Error(500);