public function Load() { #----------------------------------------------------------------------------- $SessionID = $this->SessionID; #----------------------------------------------------------------------------- if (!$SessionID) { return FALSE; } #----------------------------------------------------------------------------- $Tmp = System_Element('tmp'); if (Is_Error($Tmp)) { return ERROR | @Trigger_Error('[Session->Load]: не удалось найти временную папку'); } #----------------------------------------------------------------------------- $Path = SPrintF('%s/sessions/%s', $Tmp, $SessionID); #----------------------------------------------------------------------------- if (!File_Exists($Path)) { return FALSE; } #----------------------------------------------------------------------------- $Content = IO_Read($Path); if (Is_Error($Content)) { return ERROR | @Trigger_Error('[Session->Load]: не удалось прочитать файл сессии'); } #----------------------------------------------------------------------------- #$this->Data = @UnSerialize($Content); $this->Data = @JSON_Decode($Content, true); if ($this->Data === FALSE) { return ERROR | @Trigger_Error('[Session->Load]: не удалось восстановить данные из файла сессии'); } #----------------------------------------------------------------------------- return TRUE; }
public function Load($TemplateID) { /****************************************************************************/ $__args_types = array('string'); #----------------------------------------------------------------------------- $__args__ = Func_Get_Args(); eval(FUNCTION_INIT); /****************************************************************************/ foreach ($__args__ as $__arg__) { #--------------------------------------------------------------------------- $this->TemplateID = $__arg__; #--------------------------------------------------------------------------- $Path = System_Element(SPrintF('templates/%s.xml', $__arg__)); if (!Is_Error($Path)) { #------------------------------------------------------------------------- $Source = IO_Read($Path); if (Is_Error($Source)) { return ERROR | @Trigger_Error('[DOM->Load]: не удалось загрузить файл шаблона'); } #------------------------------------------------------------------------- $this->Object = String_XML_Parse($Source); if (Is_Exception($this->Object)) { return ERROR | @Trigger_Error('[DOM->Load]: не удалось преобразовать XML'); } #------------------------------------------------------------------------- $this->Object = Current($this->Object->Childs); #------------------------------------------------------------------------- $this->Linking(); #------------------------------------------------------------------------- break; } } #----------------------------------------------------------------------------- $Trigger = SPrintF('Triggers/DOM/Before/%s', $this->TemplateID); #----------------------------------------------------------------------------- if ($this->TemplateID) { #--------------------------------------------------------------------------- if (!Is_Error(System_Element(SPrintF('comp/%s.comp.php', $Trigger)))) { #------------------------------------------------------------------------- $LinkID = UniqID('DOM-'); #------------------------------------------------------------------------- $Links =& Links(); # Коллекция ссылок $Links[$LinkID] =& $this; #------------------------------------------------------------------------- $Comp = Comp_Load($Trigger, $LinkID, COMP_ALL_HOSTS); if (Is_Error($Comp)) { return ERROR | @Trigger_Error('[DOM->Load]: ошибка загрузки предобработчика'); } #------------------------------------------------------------------------- unset($Links[$LinkID]); } } #----------------------------------------------------------------------------- return TRUE; }
function TemplateReplace($Text, $Params = array(), $NoBody = TRUE) { #------------------------------------------------------------------------------- $Text = Trim($Text); #------------------------------------------------------------------------------- # проверяем что нам сунули - текст или файл if (!Preg_Match('/\\s/', $Text)) { #------------------------------------------------------------------------------- # достаём текст из файла $Path = System_Element(SPrintF('templates/modules/%s.html', $Text)); #------------------------------------------------------------------------------- if (Is_Error($Path)) { #------------------------------------------------------------------------------- $Text = SprintF('Отсутствует шаблон сообщения (templates/modules/%s.html)', $Text); #------------------------------------------------------------------------------- } else { #------------------------------------------------------------------------------- $Text = Trim(IO_Read($Path)); #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- if ($NoBody) { $Text = SPrintF('<NOBODY><SPAN>%s</SPAN></NOBODY>', $Text); } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- $Replace = Array_ToLine($Params, '%'); #------------------------------------------------------------------------------- foreach (Array_Keys($Replace) as $Key) { $Text = Str_Replace($Key, $Replace[$Key], $Text); } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- return $Text; #------------------------------------------------------------------------------- }
} #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- $Tr = new Tag('TR'); #------------------------------------------------------------------------------- if (!isset($GLOBALS['__USER'])) { #------------------------------------------------------------------------------- $Links['DOM']->AddChild('Head', new Tag('SCRIPT', array('type' => 'text/javascript', 'src' => 'SRC:{Js/Logon.js}'))); #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- $Path = System_Element('templates/TopPanel/Logon.xml'); if (Is_Error($Path)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- $Parse = IO_Read($Path); if (Is_Error($Parse)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- $Tr->AddHTML($Parse); #------------------------------------------------------------------------------- $Script = new Tag('SCRIPT', array('type' => 'text/javascript'), "function TopPanelLogon(){ Logon(document.getElementById('TopPanelEmail').value,document.getElementById('TopPanelPassword').value,document.getElementById('TopPanelIsRemember').checked); }"); #------------------------------------------------------------------------------- $Links['DOM']->AddChild('Head', $Script); #------------------------------------------------------------------------------- } else { #------------------------------------------------------------------------------- $__USER = $GLOBALS['__USER']; #------------------------------------------------------------------------------- if (Is_Null($__USER)) {
//---------------------------------------------------------------------------- var Element = document.getElementById(ElementID); if(!Element) return; //---------------------------------------------------------------------------- var Style = Element.style; //---------------------------------------------------------------------------- Style.display = (Style.display != 'none'?'none':''); //---------------------------------------------------------------------------- FadeIn(Element); } EOD; #------------------------------------------------------------------------------- $DOM->AddChild('Head', new Tag('SCRIPT', $JavaScript)); #------------------------------------------------------------------------------- $Parse = IO_Read('/work/joonte/Repository.xml'); if (Is_Error($Parse)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- $DB = new DOM($Parse); if (Is_Error($DB)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- function XML_Read($Object, $Level = 1) { #----------------------------------------------------------------------------- static $Index = 1; #----------------------------------------------------------------------------- $Md5 = Md5($Index++);
$Mime = (string) @$Args['Mime']; #------------------------------------------------------------------------------- if (!Preg_Match('/^[a-zA-Z0-9\\_\\.\\]\\[]+$/', $File)) { return 'Не верно указано имя файла'; } #------------------------------------------------------------------------------- $Tmp = System_Element('tmp'); if (Is_Error($Tmp)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- $Path = SPrintF('%s/files/%s', $Tmp, $File); #------------------------------------------------------------------------------- if (!File_Exists($Path)) { return 'Файл не существует'; } #------------------------------------------------------------------------------- $Source = IO_Read($Path); if (Is_Error($Source)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- $Length = MB_StrLen($Source, 'ASCII'); #------------------------------------------------------------------------------- Header(SPrintF('Content-Type: %s; charset=utf-8', $Mime ? $Mime : 'application')); Header(SPrintF('Content-Length: %u', $Length)); Header(SPrintF('Content-Disposition: attachment; filename="%s";', $Name ? AddSlashes($Name) : $File)); Header('Pragma: nocache'); #------------------------------------------------------------------------------- echo $Source; #-------------------------------------------------------------------------------
<?php #------------------------------------------------------------------------------- $Config = IO_Read($Path = SPrintF('%s/hosts/%s/host.ini', SYSTEM_PATH, HOST_ID)); if (Is_Error($Config)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- $Config = Str_Replace('JBsServer', 'jbs-server', $Config); #------------------------------------------------------------------------------- $IsWrite = IO_Write($Path, $Config, TRUE); if (Is_Error($IsWrite)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- return TRUE; #-------------------------------------------------------------------------------
#------------------------------------------------------------------------------- $Folder = SPrintF('%s/hosts/%s', SYSTEM_PATH, HOST_ID); #------------------------------------------------------------------------------- $Files = IO_Files($Folder); if (Is_Error($Files)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- foreach ($Files as $File) { #----------------------------------------------------------------------------- if (!Preg_Match('/\\.xml/', $File)) { continue; } #----------------------------------------------------------------------------- $Sourse = IO_Read($File); if (Is_Error($Sourse)) { return ERROR | @Trigger_Error(500); } #----------------------------------------------------------------------------- $Out = Str_Replace('path="MenuLeft"', 'path="Menus/Left"', $Sourse); #----------------------------------------------------------------------------- if ($Out != $Sourse) { #--------------------------------------------------------------------------- $IsWrite = IO_Write($File, $Out, TRUE); if (Is_Error($IsWrite)) { return ERROR | @Trigger_Error(500); } } } #-------------------------------------------------------------------------------
#------------------------------------------------------------------------------- $Search = "case\\s'xception\\'\\:\n\\s+return\\s\$"; #------------------------------------------------------------------------------- Header('Content-type: text/plain; charset=utf-8'); #------------------------------------------------------------------------------- $Files = IO_Files(SYSTEM_PATH); if (Is_Error($Files)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- $Count = Count($Files); #------------------------------------------------------------------------------- echo SPrintF("Finded %s files\n", $Count); #------------------------------------------------------------------------------- echo SPrintF("Search (%s)\n", $Search); #------------------------------------------------------------------------------- foreach ($Files as $File) { #----------------------------------------------------------------------------- $Source = IO_Read($File); if (Is_Error($Source)) { return ERROR | @Trigger_Error(500); } #----------------------------------------------------------------------------- #if(!Preg_Match('/\.comp.php/',$File)) # continue; #----------------------------------------------------------------------------- if (Preg_Match(SPrintF('/%s/sU', $Search), $Source)) { echo SPrintF("%s\n", $File); } } #-------------------------------------------------------------------------------
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 IO_Read($Path, $IsUseLinks = TRUE) { /******************************************************************************/ $__args_types = array('string', 'boolean'); #------------------------------------------------------------------------------- $__args__ = Func_Get_Args(); eval(FUNCTION_INIT); /******************************************************************************/ Debug(SPrintF('[IO_Read]: открытие файла (%s)', $Path)); #------------------------------------------------------------------------------- if (!File_Exists($Path)) { return ERROR | @Trigger_Error('[IO_Read]: файл не существует'); } #------------------------------------------------------------------------------- if (!($File = @Fopen($Path, 'r'))) { return ERROR | @Trigger_Error('[IO_Read]: ошибка открытия файла'); } #------------------------------------------------------------------------------- $Size = @FileSize($Path); if (!$Size) { return ''; } #------------------------------------------------------------------------------- if (!($Result = @Fread($File, $Size))) { return ERROR | @Trigger_Error('[IO_Read]: ошибка чтения файла'); } #------------------------------------------------------------------------------- if (!Fclose($File)) { return ERROR | @Trigger_Error('[IO_Read]: ошибка закрытия файла'); } #------------------------------------------------------------------------------- if (Mb_StrLen($Result) > 4) { #------------------------------------------------------------------------------- if (Mb_SubStr($Result, 1, 4) == 'link' && $IsUseLinks) { #------------------------------------------------------------------------------- $LinkPath = Trim(Mb_SubStr($Result, Mb_StrPos($Result, ':') + 1)); #------------------------------------------------------------------------------- switch ($Result[0]) { case '#': # Абсолюная ссылка # No more... break; case '@': # Относительная ссылка #------------------------------------------------------------------------------- $Folder = Mb_SubStr($Path, 0, Mb_StrrPos($Path, '/')); #------------------------------------------------------------------------------- $LinkPath = SPrintF('%s/%s', $Folder, $LinkPath); #------------------------------------------------------------------------------- break; #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- default: return ERROR | @Trigger_Error('[IO_Read]: тип ссылки не определён'); } #------------------------------------------------------------------------------- if ($Path == $LinkPath) { return ERROR | @Trigger_Error(SPrintF('[IO_Read]: ссылка сама на себя в файле(%s)', $Path)); } #------------------------------------------------------------------------------- Debug(SPrintF('[IO_Read]: символическая ссылка (%s) на (%s)', $Path, $LinkPath)); #------------------------------------------------------------------------------- $Result = IO_Read($LinkPath); if (Is_Error($Result)) { return ERROR | @Trigger_Error('[IO_Read]: ошибка рекурсивного вызова'); } #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- return $Result; #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- }
</TD> </TR> </TABLE> </FORM> </TD> <TD> <IFRAME name="Main" src="FileList.html" style="width:100%;height:100%;s" /> </TD> </TR> </TABLE> EOD; #------------------------------------------------------------------------------- $DOM->AddHTML('Into', $Parse); #------------------------------------------------------------------------------- $Out = $DOM->Build(); #------------------------------------------------------------------------------- $IsWrite = IO_Write(SPrintF('%s/Index.html', $JBsDocPath), $Out, TRUE); if (Is_Error($IsWrite)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- $File = IO_Read(SPrintF('%s/styles/root/Css/Standard.css', SYSTEM_PATH)); if (Is_Error($File)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- $IsWrite = IO_Write(SPrintF('%s/Standard.css', $JBsDocPath), $File, TRUE); if (Is_Error($IsWrite)) { return ERROR | @Trigger_Error(500); } #-------------------------------------------------------------------------------
#------------------------------------------------------------------------------- $DOM->AddAttribs('MenuLeft', array('args' => 'Administrator/AddIns')); #------------------------------------------------------------------------------- $DOM->AddText('Title', 'Дополнения → Мастера настройки → Базовый шаблон'); #------------------------------------------------------------------------------- $Script = new Tag('SCRIPT', array('type' => 'text/javascript', 'src' => 'SRC:{Js/Pages/Administrator/BaseEdit.js}')); #------------------------------------------------------------------------------- $DOM->AddChild('Head', $Script); #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- $Element = System_Element('templates/Base.xml'); if (Is_Error($Element)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- $Base = IO_Read($Element); if (Is_Error($Base)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- $Table = array(); #------------------------------------------------------------------------------- $Comp = Comp_Load('CodePress', 'Base', 'html', $Base); if (Is_Error($Comp)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- $Table[] = $Comp; #------------------------------------------------------------------------------- $Div = new Tag('DIV', array('align' => 'right')); #-------------------------------------------------------------------------------
#------------------------------------------------------------------------------- if (!File_Exists($Uploads)) { if (!@MkDir(SPrintF('%s/uploads', $Tmp), 0777, TRUE)) { return ERROR | @Trigger_Error(500); } } #------------------------------------------------------------------------------- if (!Copy($Path, SPrintF('%s/%s', $Uploads, $Hash))) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- $Name = $File['name']; #------------------------------------------------------------------------------- $NamesPath = SPrintF('%s/names.txt', $Uploads); #------------------------------------------------------------------------------- $Names = Is_Error($Names = IO_Read($NamesPath)) ? array() : JSON_Decode($Names, true); #------------------------------------------------------------------------------- $Names[$Hash] = $Name; #------------------------------------------------------------------------------- $IsWrite = IO_Write($NamesPath, JSON_Encode($Names), TRUE); if (Is_Error($IsWrite)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- $Size = Round($File['size'] / 1024); #------------------------------------------------------------------------------- # вывод для JS в браузере... if (!isset($GLOBALS['IsCron'])) { echo SPrintF('%s^%s^%s^', $Name, $Size, $Hash); } #-------------------------------------------------------------------------------
function System_Read($Element) { #----------------------------------------------------------------------------- $Path = System_Element($Element); if (Is_Error($Path)) { return ERROR | @Trigger_Error('[System_Read]: не удалось найти элемент'); } #----------------------------------------------------------------------------- $Result = IO_Read($Path); if (Is_Error($Result)) { return ERROR | @Trigger_Error('[System_Read]: не удалось прочитать данные'); } #----------------------------------------------------------------------------- return $Result; }
<?php #------------------------------------------------------------------------------- $Folder = $_SERVER['DOCUMENT_ROOT']; #------------------------------------------------------------------------------- $Link = SPrintF('%s/styles', $Folder); #------------------------------------------------------------------------------- if (!File_Exists($Link)) { #----------------------------------------------------------------------------- if (!SymLink(SPrintF('%s/styles', SYSTEM_PATH), $Link)) { return ERROR | @Trigger_Error(500); } } #------------------------------------------------------------------------------- $HtAccess = IO_Read(SPrintF('%s/.htaccess', $Folder)); if (Is_Error($HtAccess)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- $HtAccess = Str_Replace('Styles', 'styles', $HtAccess); #------------------------------------------------------------------------------- $IsWrite = IO_Write(SPrintF('%s/.htaccess', $Folder), $HtAccess, TRUE); if (Is_Error($IsWrite)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- @UnLink(SPrintF('%s/Styles', $Folder)); #------------------------------------------------------------------------------- return TRUE; #-------------------------------------------------------------------------------
<?php #------------------------------------------------------------------------------- $Real = SPrintF('%s/hosts/%s/domtemplates/Base.xml', SYSTEM_PATH, HOST_ID); #------------------------------------------------------------------------------- if (File_Exists($Real)) { #----------------------------------------------------------------------------- $Source = IO_Read($Real); if (Is_Error($Source)) { return ERROR | @Trigger_Error(500); } #----------------------------------------------------------------------------- $Replace = <<<EOD <TD id="Context"> <TABLE cellspacing="0" cellpadding="0" width="100%" height="100%"> <TR> <COMP id="MenuLeft" path="Menus/Left" /> <TD valign="top"> <DIV class="Title" id="Title" /> <TABLE width="100%" cellspacing="5" cellpadding="0"> <TR> <TD id="Into" /> </TR> </TABLE> </TD> </TR> </TABLE> </TD> EOD; #----------------------------------------------------------------------------- $Source = Str_Replace('<TD id="Main" />', $Replace, $Source);
function Started_Contract_Register($Settings, $PepsonID, $Person, $DomainZone) { /****************************************************************************/ $__args_types = array('array', 'string', 'array', 'string'); #----------------------------------------------------------------------------- $__args__ = Func_Get_Args(); eval(FUNCTION_INIT); /****************************************************************************/ $HTTP = array('Protocol' => $Settings['Protocol'], 'Port' => $Settings['Port'], 'Address' => $Settings['Address'], 'Host' => $Settings['Address'], 'IsLogging' => $Settings['Params']['IsLogging']); #----------------------------------------------------------------------------- $Reseller = new Tag('reseller'); $Reseller->AddChild(new Tag('login', $Settings['Login'])); $Reseller->AddChild(new Tag('password', $Settings['Password'])); #----------------------------------------------------------------------------- $Tmp = System_Element('tmp'); if (Is_Error($Tmp)) { return ERROR | @Trigger_Error(500); } #----------------------------------------------------------------------------- $pCountry = isset($Person['PasportCountry']) ? $Person['PasportCountry'] : $Person['pCountry']; #----------------------------------------------------------------------------- $Path = SPrintF('%s/started/states[%s].json', $Tmp, $pCountry); #----------------------------------------------------------------------------- if (File_Exists($Path)) { #--------------------------------------------------------------------------- $States = IO_Read($Path); if (Is_Error($States)) { return ERROR | @Trigger_Error(500); } #--------------------------------------------------------------------------- $States = JSON_Decode($States, TRUE); if (!$States) { return ERROR | @Trigger_Error(500); } } else { #--------------------------------------------------------------------------- $Request = new Tag('RequestBody', $Reseller); #--------------------------------------------------------------------------- $objCountry = new Tag('objCountry'); $objCountry->AddChild(new Tag('method', 'getRegions')); $objCountry->AddChild(new Tag('country', $pCountry)); #--------------------------------------------------------------------------- $Request->AddChild($objCountry); #--------------------------------------------------------------------------- $Post = SprintF("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n%s", $Request->ToXMLString()); #--------------------------------------------------------------------------- $Responce = HTTP_Send('/', $HTTP, array(), $Post, array('Content-type: text/xml')); if (Is_Error($Responce)) { return ERROR | @Trigger_Error(500); } #--------------------------------------------------------------------------- $Response = Trim($Responce['Body']); #--------------------------------------------------------------------------- $Answer = String_XML_Parse($Response); if (Is_Exception($Answer)) { return new gException('WRONG_ANSWER', $Response, $Answer); } #--------------------------------------------------------------------------- $States = Current($States->ToArray('item')); #--------------------------------------------------------------------------- $IsWrite = IO_Write($Path, JSON_Encode($States), TRUE); if (Is_Error($IsWrite)) { return ERROR | @Trigger_Error(500); } } #----------------------------------------------------------------------------- $objUser = new Tag('objUser'); $objUser->AddChild(new Tag('method', 'create')); #----------------------------------------------------------------------------- $objUser->AddChild(new Tag('email', $Person['Email'])); $objUser->AddChild(new Tag('password', SubStr(Md5(UniqID()), -8))); #----------------------------------------------------------------------------- $IsRussian = In_Array(isset($Person['PasportCountry']) ? $Person['PasportCountry'] : $Person['pCountry'], array('RU', 'BY', 'UA')); #----------------------------------------------------------------------------- switch ($PepsonID) { case 'Natural': #------------------------------------------------------------------------- $pStateID = 0; #------------------------------------------------------------------------- $pState = $Person['pState']; #------------------------------------------------------------------------- foreach ($States as $State) { #----------------------------------------------------------------------- if (Preg_Match(SPrintF('/%s/', StrToLower($State['title'])), StrToLower($pState))) { #--------------------------------------------------------------------- $pStateID = $State['id']; #--------------------------------------------------------------------- Debug(SPrintF('Найдена область: %s', $pStateID)); #--------------------------------------------------------------------- break; } } #------------------------------------------------------------------------- if (!$pStateID) { #----------------------------------------------------------------------- Debug(SPrintF('Область не найдена, проверьте название области (%s)', $pState)); #----------------------------------------------------------------------- return new gException('POST_REGION_NOT_FOUND', 'Область почтового адреса не найдена'); } #------------------------------------------------------------------------- $objUser->AddChild(new Tag('type', 'person')); #------------------------------------------------------------------------- if ($IsRussian) { #----------------------------------------------------------------------- $objUser->AddChild(new Tag('fname', $Person['Name'])); $objUser->AddChild(new Tag('lname', $Person['Lastname'])); $objUser->AddChild(new Tag('mname', $Person['Sourname'])); $objUser->AddChild(new Tag('doc_issued', $Person['PasportWhom'])); } else { $objUser->AddChild(new Tag('fname', Translit($Person['Name']))); $objUser->AddChild(new Tag('lname', Translit($Person['Lastname']))); $objUser->AddChild(new Tag('mname', Translit($Person['Sourname']))); $objUser->AddChild(new Tag('doc_issued', Translit($Person['PasportWhom']))); } #------------------------------------------------------------------------- $objUser->AddChild(new Tag('p_inn', '')); $objUser->AddChild(new Tag('doc_serial', $Person['PasportLine'])); $objUser->AddChild(new Tag('doc_number', $Person['PasportNum'])); $objUser->AddChild(new Tag('doc_date', $Person['PasportDate'])); $objUser->AddChild(new Tag('birth_date', $Person['BornDate'])); #------------------------------------------------------------------------- $objUser->AddChild(new Tag('country', StrToLower(isset($Person['PasportCountry']) ? $Person['PasportCountry'] : $Person['pCountry']))); #------------------------------------------------------------------------- $objUser->AddChild(new Tag('zip', $Person['pIndex'])); $objUser->AddChild(new Tag('state', $pStateID)); $objUser->AddChild(new Tag('city_type', 'city')); $objUser->AddChild(new Tag('addr_type', StrToLower($Person['pType']))); #------------------------------------------------------------------------- if ($IsRussian) { #----------------------------------------------------------------------- $objUser->AddChild(new Tag('city', $Person['pCity'])); $objUser->AddChild(new Tag('addr', SPrintF('%s %s', $Person['pType'], $Person['pAddress']))); } else { $objUser->AddChild(new Tag('city', Translit($Person['pCity']))); $objUser->AddChild(new Tag('addr', Translit(SPrintF('%s %s', $Person['pType'], $Person['pAddress'])))); } #------------------------------------------------------------------------- $objUser->AddChild(new Tag('pzip', $Person['pIndex'])); $objUser->AddChild(new Tag('pstate', $pStateID)); $objUser->AddChild(new Tag('pcity_type', 'city')); $objUser->AddChild(new Tag('paddr_type', StrToLower($Person['pType']))); #------------------------------------------------------------------------- if ($IsRussian) { #----------------------------------------------------------------------- $objUser->AddChild(new Tag('pcity', $Person['pCity'])); $objUser->AddChild(new Tag('paddr', SPrintF('%s %s', $Person['pType'], $Person['pAddress']))); $objUser->AddChild(new Tag('pto', $Person['pRecipient'])); } else { #----------------------------------------------------------------------- $objUser->AddChild(new Tag('pcity', Translit($Person['pCity']))); $objUser->AddChild(new Tag('paddr', Translit(SPrintF('%s %s', $Person['pType'], $Person['pAddress'])))); $objUser->AddChild(new Tag('pto', Translit($Person['pRecipient']))); } break; case 'Juridical': #------------------------------------------------------------------------- $objUser->AddChild(new Tag('type', 'organization')); #------------------------------------------------------------------------- if ($IsRussian) { #----------------------------------------------------------------------- $objUser->AddChild(new Tag('fname', $Person['dName'])); $objUser->AddChild(new Tag('lname', $Person['dLastname'])); $objUser->AddChild(new Tag('mname', $Person['dSourname'])); $objUser->AddChild(new Tag('org', SPrintF('%s "%s"', $Person['CompanyFormFull'], $Person['CompanyName']))); } else { $objUser->AddChild(new Tag('fname', Translit($Person['dName']))); $objUser->AddChild(new Tag('lname', Translit($Person['dLastname']))); $objUser->AddChild(new Tag('mname', Translit($Person['dSourname']))); $objUser->AddChild(new Tag('org', SPrintF('%s %s', Translit($Person['CompanyName']), Translit($Person['CompanyFormFull'])))); } #------------------------------------------------------------------------- $objUser->AddChild(new Tag('o_inn', $Person['Inn'])); $objUser->AddChild(new Tag('kpp', $Person['Kpp'])); #------------------------------------------------------------------------- $objUser->AddChild(new Tag('country', StrToLower($Person['jCountry']))); #------------------------------------------------------------------------- $objUser->AddChild(new Tag('zip', $Person['jIndex'])); #------------------------------------------------------------------------- $jStateID = 0; #------------------------------------------------------------------------- $jState = $Person['jState']; #------------------------------------------------------------------------- foreach ($States as $State) { #----------------------------------------------------------------------- if (Preg_Match(SPrintF('/%s/', StrToLower($State['title'])), StrToLower($jState))) { #--------------------------------------------------------------------- $jStateID = $State['id']; #--------------------------------------------------------------------- Debug(SPrintF('Найдена область: %s', $jStateID)); #--------------------------------------------------------------------- break; } } #------------------------------------------------------------------------- if (!$jStateID) { #----------------------------------------------------------------------- Debug(SPrintF('Область не найдена, проверьте название области (%s)', $jState)); #----------------------------------------------------------------------- return new gException('JURIDICAL_REGION_NOT_FOUND', 'Область юридического адреса не найдена'); } #------------------------------------------------------------------------- $objUser->AddChild(new Tag('state', $jStateID)); $objUser->AddChild(new Tag('city_type', 'city')); $objUser->AddChild(new Tag('addr_type', StrToLower($Person['jType']))); #------------------------------------------------------------------------- if ($IsRussian) { #----------------------------------------------------------------------- $objUser->AddChild(new Tag('city', $Person['jCity'])); $objUser->AddChild(new Tag('addr', SPrintF('%s %s', $Person['jType'], $Person['jAddress']))); } else { $objUser->AddChild(new Tag('city', Translit($Person['jCity']))); $objUser->AddChild(new Tag('addr', Translit(SPrintF('%s %s', $Person['jType'], $Person['jAddress'])))); } #------------------------------------------------------------------------- $objUser->AddChild(new Tag('pzip', $Person['pIndex'])); #------------------------------------------------------------------------- $pStateID = 0; #------------------------------------------------------------------------- $pState = $Person['pState']; #------------------------------------------------------------------------- foreach ($States as $State) { #----------------------------------------------------------------------- if (Preg_Match(SPrintF('/%s/', StrToLower($State['title'])), StrToLower($pState))) { #--------------------------------------------------------------------- $pStateID = $State['id']; #--------------------------------------------------------------------- Debug(SPrintF('Найдена область: %s', $pStateID)); #--------------------------------------------------------------------- break; } } #------------------------------------------------------------------------- if (!$pStateID) { #----------------------------------------------------------------------- Debug(SPrintF('Область не найдена, проверьте название области (%s)', $pState)); #----------------------------------------------------------------------- return new gException('POST_REGION_NOT_FOUND', 'Область почтового адреса не найдена'); } #------------------------------------------------------------------------- $objUser->AddChild(new Tag('pstate', $pStateID)); $objUser->AddChild(new Tag('pcity_type', 'city')); $objUser->AddChild(new Tag('paddr_type', StrToLower($Person['pType']))); #------------------------------------------------------------------------- if ($IsRussian) { #----------------------------------------------------------------------- $objUser->AddChild(new Tag('pcity', $Person['pCity'])); $objUser->AddChild(new Tag('paddr', SPrintF('%s %s', $Person['pType'], $Person['pAddress']))); $objUser->AddChild(new Tag('pto', SPrintF('%s "%s"', $Person['CompanyFormFull'], $Person['CompanyName']))); } else { $objUser->AddChild(new Tag('pcity', Translit($Person['pCity']))); $objUser->AddChild(new Tag('paddr', Translit(SPrintF('%s %s', $Person['pType'], $Person['pAddress'])))); $objUser->AddChild(new Tag('pto', SPrintF('%s %s', Translit($Person['CompanyName']), Translit($Person['CompanyFormFull'])))); } break; default: return ERROR | @Trigger_Error(101); } #----------------------------------------------------------------------------- $Phone = $Person['Phone']; #----------------------------------------------------------------------------- if ($Phone) { #--------------------------------------------------------------------------- $Phone = StrPBrk($Phone, ' '); #--------------------------------------------------------------------------- $objUser->AddChild(new Tag('tel', Trim($Phone))); } else { $objUser->AddChild(new Tag('tel')); } #----------------------------------------------------------------------------- $Fax = $Person['Fax']; #----------------------------------------------------------------------------- if ($Fax) { #--------------------------------------------------------------------------- $Fax = StrPBrk($Fax, ' '); #--------------------------------------------------------------------------- $objUser->AddChild(new Tag('fax', Trim($Fax))); } else { $objUser->AddChild(new Tag('fax')); } #----------------------------------------------------------------------------- $Request = new Tag('RequestBody', $Reseller); #----------------------------------------------------------------------------- $Request->AddChild($objUser); #----------------------------------------------------------------------------- $Post = SprintF("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n%s", $Request->ToXMLString()); #----------------------------------------------------------------------------- $Responce = HTTP_Send('/', $HTTP, array(), $Post, array('Content-type: text/xml; charset=utf-8')); if (Is_Error($Responce)) { return ERROR | @Trigger_Error(500); } #----------------------------------------------------------------------------- $Response = Trim($Responce['Body']); #----------------------------------------------------------------------------- $Answer = String_XML_Parse($Response); if (Is_Exception($Answer)) { return new gException('WRONG_ANSWER', $Response, $Answer); } #----------------------------------------------------------------------------- $Answer = $Answer->ToArray(); #----------------------------------------------------------------------------- $Answer = $Answer['AnswerBody']; #----------------------------------------------------------------------------- if (isset($Answer['statusCode'])) { return new gException('REGISTRATOR_ERROR', SPrintF('[%s]=(%s)', $Answer['statusCode'], $Answer['statusMessage'])); } #----------------------------------------------------------------------------- return array('TicketID' => $Answer['user_id']); }
<?php #------------------------------------------------------------------------------- /** @author Великодный В.В. (Joonte Ltd.) */ /******************************************************************************/ /******************************************************************************/ $__args_list = array('Element'); /******************************************************************************/ eval(COMP_INIT); /******************************************************************************/ /******************************************************************************/ $NoBody = new Tag('NOBODY'); #------------------------------------------------------------------------------- $Path = System_Element($Element); if (Is_Error($Path)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- $HTML = IO_Read($Path); if (Is_Error($HTML)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- $NoBody->AddHTML($HTML); #------------------------------------------------------------------------------- return $NoBody; #-------------------------------------------------------------------------------
Sort($PatchesIDs); #------------------------------------------------------------------------------- $File = SPrintF('%s/hosts/%s/.LastPatchFiles', SYSTEM_PATH, $HostID); #------------------------------------------------------------------------------- if (!File_Exists($File)) { #------------------------------------------------------------------------------- $LastPatchFiles = IntVal(End($PatchesIDs)); #------------------------------------------------------------------------------- $IsWrite = IO_Write($File, (string) $LastPatchFiles, TRUE); if (Is_Error($IsWrite)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- } else { #------------------------------------------------------------------------------- $LastPatchFiles = IO_Read($File); if (Is_Error($LastPatchFiles)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- $LastPatchFiles = IntVal($LastPatchFiles); #------------------------------------------------------------------------------- echo SPrintF("Последний патч файлов хоста (%s) (%u)\n", $HostID, $LastPatchFiles); #------------------------------------------------------------------------------- foreach ($PatchesIDs as $PatchID) { #------------------------------------------------------------------------------- $PatchInt = IntVal($PatchID); #------------------------------------------------------------------------------- if ($PatchInt > $LastPatchFiles) { #------------------------------------------------------------------------------- echo SPrintF("Применение патча файлов хоста (%s) (%s)\n", $HostID, $PatchID);
function GetUploadedFile($Table, $ID) { #------------------------------------------------------------------------------- $FilePaths = GetFilePath($Table, $ID); #------------------------------------------------------------------------------- # проверяем наличие файла if (File_Exists($FilePaths['FilePath'])) { #------------------------------------------------------------------------------- $Data = IO_Read($FilePaths['FilePath']); if (Is_Error($Data)) { return ERROR | @Trigger_Error('[Upload_Get]: не удалось прочитать файл'); } #------------------------------------------------------------------------------- return array('Data' => $Data); #------------------------------------------------------------------------------- } else { #------------------------------------------------------------------------------- return FALSE; #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- }
<?php #------------------------------------------------------------------------------- /** @author Великодный В.В. (Joonte Ltd.) */ /******************************************************************************/ /******************************************************************************/ $__args_list = array('Element'); /******************************************************************************/ eval(COMP_INIT); /******************************************************************************/ /******************************************************************************/ $Path = System_Element($Element); if (Is_Error($Path)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- $File = IO_Read($Path); if (Is_Error($File)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- return $File; #-------------------------------------------------------------------------------
<?php #------------------------------------------------------------------------------- /** @author Великодный В.В. (Joonte Ltd.) */ #------------------------------------------------------------------------------- $Path = Styles_Element('Images/Icon.png'); if (Is_Error($Path)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- $Icon = IO_Read($Path); if (Is_Error($Icon)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- Header('Content-Type: image/png'); #------------------------------------------------------------------------------- return $Icon; #-------------------------------------------------------------------------------
#------------------------------------------------------------------------------- $UserID = $UserID ? $UserID : @$GLOBALS['__USER']['ID']; #------------------------------------------------------------------------------- if (!$UserID) { return 'No user defined'; } #------------------------------------------------------------------------------- # проверяем наличие файла if (!GetUploadedFileSize('Users', $UserID)) { #------------------------------------------------------------------------------- $Path = Styles_Element('Images/UserFoto.jpg'); if (Is_Error($Path)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- $Foto = IO_Read($Path); if (Is_Error($Foto)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- } else { #------------------------------------------------------------------------------- $File = GetUploadedFile('Users', $UserID); #------------------------------------------------------------------------------- $Foto = $File['Data']; #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- Header('Content-Type: image/jpg'); #-------------------------------------------------------------------------------
# нету файла по стандартным путям хранения файлов $Service = DB_Select('Services', array('ID', 'Code'), array('UNIQ', 'ID' => $ServiceID)); #------------------------------------------------------------------------------- switch (ValueOf($Service)) { case 'error': return ERROR | @Trigger_Error(500); case 'exception': return ERROR | @Trigger_Error(400); case 'array': #------------------------------------------------------------------------------- $Emblem = Styles_Element(SPrintF('Images/Icons/%s.png', $Service['Code'])); if (Is_Error($Emblem)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- $Emblem = IO_Read($Emblem); if (Is_Error($Emblem)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- break; default: return ERROR | @Trigger_Error(101); } #------------------------------------------------------------------------------- } else { #------------------------------------------------------------------------------- $File = GetUploadedFile('Services', $ServiceID); #------------------------------------------------------------------------------- $Emblem = $File['Data']; #-------------------------------------------------------------------------------
<?php #------------------------------------------------------------------------------- /** @author Alex Keda, for www.host-food.ru */ /******************************************************************************/ /******************************************************************************/ $ConfigPath = SPrintF('%s/hosts/%s/config/Config.xml', SYSTEM_PATH, HOST_ID); #------------------------------------------------------------------------------- if (File_Exists($ConfigPath)) { #------------------------------------------------------------------------------- $File = IO_Read($ConfigPath); if (Is_Error($File)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- $XML = String_XML_Parse($File); if (Is_Exception($XML)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- $Config = $XML->ToArray(); #------------------------------------------------------------------------------- $Config = $Config['XML']; #------------------------------------------------------------------------------- } else { #------------------------------------------------------------------------------- $Config = array(); #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
} #----------------------------------------------------------------- $Command = SPrintF('convert -density 120 -compress group4 %s %s', $PDF, $Tiff = SPrintF('%s/%s.tiff', $Tmp, $UniqID)); #----------------------------------------------------------------- Debug($Command); #----------------------------------------------------------------- $ImageMagick = @Proc_Open($Command, array(array('pipe', 'r'), array('pipe', 'w'), array('file', SPrintF('%s/logs/ImageMagic.log', $Tmp), 'a')), $Pipes); if (!Is_Resource($ImageMagick)) { return ERROR | @Trigger_Error(500); } #----------------------------------------------------------------- Proc_Close($ImageMagick); #----------------------------------------------------------------- UnLink($PDF); #----------------------------------------------------------------- $File = IO_Read($Tiff); if (Is_Error($File)) { return ERROR | @Trigger_Error(500); } #----------------------------------------------------------------- UnLink($Tiff); #----------------------------------------------------------------- $Extension = 'tiff'; } else { $Extension = 'pdf'; } #------------------------------------------------------------------- $Length = MB_StrLen($File, 'ASCII'); #------------------------------------------------------------------- $Comp = Comp_Load('Formats/Invoice/Number', $Invoice['ID']); if (Is_Error($Comp)) {
<?php #------------------------------------------------------------------------------- $Config = IO_Read($Path = SPrintF('%s/hosts/%s/config/Config.xml', SYSTEM_PATH, HOST_ID)); if (Is_Error($Config)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- $Config = Str_Replace('Account', 'Invoice', $Config); #------------------------------------------------------------------------------- $IsWrite = IO_Write($Path, $Config, TRUE); if (Is_Error($IsWrite)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- return TRUE; #-------------------------------------------------------------------------------
function Image_Resize($Source, $Width, $Height) { /****************************************************************************/ $__args_types = array('string', 'integer'); #----------------------------------------------------------------------------- $__args__ = Func_Get_Args(); eval(FUNCTION_INIT); /****************************************************************************/ if (!Function_Exists('ImageCreateFromString')) { return ERROR | Trigger_Error('[Image_Resize]: модуль работы с изображениями не установлен'); } #----------------------------------------------------------------------------- $Real = @ImageCreateFromString($Source); if (!Is_Resource($Real)) { return ERROR | @Trigger_Error("[Image_Resize]: не возможно создать изображение"); } #----------------------------------------------------------------------------- if (Function_Exists('imageantialias')) { ImageAntiAlias($Real, TRUE); } #----------------------------------------------------------------------------- $Result = ImageCreateTrueColor($Width, $Height); if (!$Result) { return ERROR | @Trigger_Error('[Image_Resize]: не удалось создать пустое изображение'); } #----------------------------------------------------------------------------- $White = ImageColorAllocate($Result, 230, 230, 230); #----------------------------------------------------------------------------- if (!ImageFill($Result, 0, 0, $White)) { return ERROR | @Trigger_Error('[Image_Resize]: не удалось закрасить изображение'); } #----------------------------------------------------------------------------- $Sx = @ImageSx($Real); if (!$Sx) { return ERROR | @Trigger_Error("[Image_Resize]: не возможно получить ширину изображения"); } #----------------------------------------------------------------------------- $Sy = @ImageSy($Real); if (!$Sy) { return ERROR | @Trigger_Error("[Image_Resize]: не возможно получить высоту изображения"); } #----------------------------------------------------------------------------- $Folder = System_Element('tmp'); if (Is_Error($Folder)) { return ERROR | @Trigger_Error('[Image_Resize]: не удалось найти временную папку'); } #----------------------------------------------------------------------------- if ($Width < $Sx || $Height < $Sy) { #--------------------------------------------------------------------------- $HW = $Sy / $Sx; $WH = $Sx / $Sy; #--------------------------------------------------------------------------- $WNew = $Width; $HNew = $Height; #--------------------------------------------------------------------------- if ($Sx < $Sy) { $HNew = (int) ($WNew * $HW); } else { $WNew = (int) ($HNew * $WH); } #--------------------------------------------------------------------------- if (!Preg_Match('/no\\sconvert/', Exec('which convert'))) { #------------------------------------------------------------------------- $File = SPrintF('%s/%s', $Folder, UniqID('Image')); #------------------------------------------------------------------------- if (!ImageJpeg($Real, $File, 100)) { return ERROR | @Trigger_Error('[Image_Resize]: не удалось сохранить временное изображение'); } #------------------------------------------------------------------------- $Command = SPrintF('convert %s -thumbnail %ux%u^ -gravity North -extent %ux%u %s', $File, $Width, $Height, $Width, $Height, $File); #------------------------------------------------------------------------- Debug($Command); #------------------------------------------------------------------------- if (Exec($Command, $Log)) { return ERROR | @Trigger_Error(SPrintF("[Image_Resize]: ошибка выполнения команды:\n%s", Implode("\n", $Log))); } #------------------------------------------------------------------------- $Result = IO_Read($File); if (Is_Error($Result)) { return ERROR | @Trigger_Error('[Image_Resize]: не удалось прочитать изображение'); } #------------------------------------------------------------------------- if (!UnLink($File)) { return ERROR | @Trigger_Error('[Image_Resize]: не удалось удалить временный файл'); } #------------------------------------------------------------------------- return $Result; } else { #------------------------------------------------------------------------- if (!ImageCopyResized($Result, $Real, 0, 0, 0, 0, $WNew, $HNew, $Sx, $Sy)) { return ERROR | @Trigger_Error('[Image_Resize]: не удалось уменьшить изображение'); } } } else { #--------------------------------------------------------------------------- if (!ImageCopy($Result, $Real, ($Width - $Sx) / 2, ($Height - $Sy) / 2, 0, 0, $Sx, $Sy)) { return ERROR | @Trigger_Error('[Image_Resize]: не удалось уменьшить изображение'); } } #----------------------------------------------------------------------------- $File = SPrintF('%s/%s', $Folder, UniqID('Image')); #----------------------------------------------------------------------------- if (!ImageJpeg($Result, $File, 95)) { return ERROR | @Trigger_Error('[Image_Resize]: не удалось сохранить временное изображение'); } #----------------------------------------------------------------------------- if (!ImageDestroy($Result)) { return ERROR | @Trigger_Error('[Image_Resize]: не удалось освободить ресурс изображения'); } #----------------------------------------------------------------------------- $Result = IO_Read($File); if (Is_Error($Result)) { return ERROR | @Trigger_Error('[Image_Resize]: не удалось прочитать изображение'); } #----------------------------------------------------------------------------- if (!UnLink($File)) { return ERROR | @Trigger_Error('[Image_Resize]: не удалось удалить временный файл'); } #----------------------------------------------------------------------------- return $Result; }