function HTTP_Send($Target, $Settings, $Get = array(), $Post = array(), $Addins = array()) { /******************************************************************************/ $__args_types = array('string', 'array', 'array', 'string,array', 'array'); #------------------------------------------------------------------------------- $__args__ = Func_Get_Args(); eval(FUNCTION_INIT); /******************************************************************************/ $Default = array('Protocol' => 'tcp', 'Address' => 'localhost', 'Port' => 8080, 'Host' => 'localhost', 'Basic' => '', 'Charset' => 'UTF-8', 'Hidden' => '', 'IsLogging' => TRUE); #------------------------------------------------------------------------------- Array_Union($Default, $Settings); #------------------------------------------------------------------------------- $IsLogging = (bool) $Default['IsLogging']; #------------------------------------------------------------------------------- $Tmp = System_Element('tmp'); if (Is_Error($Tmp)) { return ERROR | @Trigger_Error('[HTTP_Send]: не удалось определить путь временной директории'); } #------------------------------------------------------------------------------- $Config = Config(); #------------------------------------------------------------------------------- $Address = $Default['Address']; #------------------------------------------------------------------------------- Debug(SPrintF('[HTTP_Send]: соединяемся с (%s:%u)', $Address, $Default['Port'])); #------------------------------------------------------------------------------- # https://bugs.php.net/bug.php?id=52913 # пришлось заменить: $Address -> $Default['Host'] $Socket = @FsockOpen(SPrintF('%s://%s', $Protocol = $Default['Protocol'], $Default['Host']), $Port = $Default['Port'], $nError, $sError, $Config['Other']['Libs']['HTTP']['SocketTimeout']); if (!Is_Resource($Socket)) { #------------------------------------------------------------------------------- $IsWrite = IO_Write(SPrintF('%s/logs/http-send.log', $Tmp), SPrintF("%s://%s:%u ошибка соединения\n\n", $Protocol, $Address, $Port)); if (Is_Error($IsWrite)) { return ERROR | @Trigger_Error('[HTTP_Send]: не удалось записать данные в лог файл'); } #------------------------------------------------------------------------------- return ERROR | @Trigger_Error('[HTTP_Send]: не удалось соединиться с удаленным хостом'); #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- # added by lissyara, 2012-01-04 in 08:42:54 MSK, for JBS-130 Stream_Set_TimeOut($Socket, $Config['Other']['Libs']['HTTP']['StreamTimeout']); #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- $Charset = $Default['Charset']; #------------------------------------------------------------------------------- $Method = Count($Post) > 0 ? 'POST' : 'GET'; #------------------------------------------------------------------------------- $Hidden = $Default['Hidden']; #------------------------------------------------------------------------------- if (Count($Get)) { $Target .= SPrintF('?%s', HTTP_Query($Get, $Charset, $Hidden, $IsLogging)); } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- $Headers[] = SPrintF('%s %s HTTP/1.0', $Method, $Target); #------------------------------------------------------------------------------- $Headers[] = SPrintF('Host: %s', $Default['Host']); #------------------------------------------------------------------------------- $Headers[] = 'Connection: close'; #------------------------------------------------------------------------------- $Headers = Array_Merge($Headers, $Addins); #------------------------------------------------------------------------------- if ($Basic = $Default['Basic']) { #------------------------------------------------------------------------------- $Basic = Base64_Encode($Basic); #------------------------------------------------------------------------------- $Headers[] = SPrintF('Authorization: Basic %s', $Basic); #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- $Body = ''; #------------------------------------------------------------------------------- if ($Post) { #------------------------------------------------------------------------------- if (Is_Array($Post)) { #------------------------------------------------------------------------------- if (Count($Post) > 0) { #------------------------------------------------------------------------------- $Headers[] = 'Content-Type: application/x-www-form-urlencoded'; #------------------------------------------------------------------------------- $Body = HTTP_Query($Post, $Charset, $Hidden, $IsLogging); #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- } else { #------------------------------------------------------------------------------- $Body = Mb_Convert_Encoding($Post, $Charset); #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- if ($Length = MB_StrLen($Body, 'ASCII')) { $Headers[] = SPrintF('Content-Length: %u', $Length); } #------------------------------------------------------------------------------- $Query = SPrintF("%s\r\n\r\n%s", Implode("\r\n", $Headers), $Body); #------------------------------------------------------------------------------- Debug(SPrintF("[HTTP_Send]: делаем запрос:\n%s", $Query)); #------------------------------------------------------------------------------- if (!@Fwrite($Socket, $Query)) { return ERROR | @Trigger_Error('[HTTP_Send]: не удалось записать в сокет'); } #------------------------------------------------------------------------------- # added by lissyara, 2014-01-28 in 14:19:08 MSK, for JBS-130 Stream_Set_TimeOut($Socket, $Config['Other']['Libs']['HTTP']['StreamTimeout']); #------------------------------------------------------------------------------- $Receive = ''; #------------------------------------------------------------------------------- do { #------------------------------------------------------------------------------- $Bytes = @FGets($Socket); #------------------------------------------------------------------------------- $Receive .= $Bytes; #------------------------------------------------------------------------------- } while ($Bytes); #------------------------------------------------------------------------------- @Fclose($Socket); #------------------------------------------------------------------------------- if (Preg_Match('/Content-Type:[\\sa-zA-Z0-9\\/\\-\\;]+charset\\=([a-zA-Z0-9\\-]+)/i', $Receive, $Matches)) { #------------------------------------------------------------------------------- $Receive = Mb_Convert_Encoding($Receive, 'UTF-8', Next($Matches)); #------------------------------------------------------------------------------- } else { #------------------------------------------------------------------------------- $Receive = Mb_Convert_Encoding($Receive, 'UTF-8', $Default['Charset']); #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- Debug(SPrintF("[HTTP_Send]: получили ответ:\n%s", $Receive)); #------------------------------------------------------------------------------- $Log = SPrintF("%s://%s:%u [%s]\n%s\n%s\n\n", $Protocol, $Address, $Port, Date('r'), $Query, $Receive); #------------------------------------------------------------------------------- if ($Hidden) { #------------------------------------------------------------------------------- if (!Is_Array($Hidden)) { $Hidden = array($Hidden); } #------------------------------------------------------------------------------- foreach ($Hidden as $Pattern) { #------------------------------------------------------------------------------- $Pattern = UrlEncode(Mb_Convert_Encoding($Pattern, $Charset)); #------------------------------------------------------------------------------- $Log = Str_Replace($Pattern, SPrintF('[HIDDEN=(%u)]', StrLen($Pattern)), $Log); #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- if ($Default['IsLogging']) { #------------------------------------------------------------------------------- $IsWrite = IO_Write(SPrintF('%s/logs/http-send.log', $Tmp), $Log); if (Is_Error($IsWrite)) { return ERROR | @Trigger_Error('[HTTP_Send]: не удалось записать данные в лог файл'); } #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- $Heads = $Body = array(); #------------------------------------------------------------------------------- foreach (Explode("\r\n\r\n", $Receive) as $Chunk) { #------------------------------------------------------------------------------- if (Preg_Match('#^HTTP/1\\.*#', $Chunk)) { #------------------------------------------------------------------------------- $Heads[] = $Chunk; #------------------------------------------------------------------------------- } else { #------------------------------------------------------------------------------- $Body[] = $Chunk; #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- if (SizeOf($Body) < 1) { return ERROR | @Trigger_Error('[HTTP_Send]: ответ от сервера не верен'); } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- return array('Heads' => Implode("\r\n\r\n", $Heads), 'Body' => Implode("\r\n\r\n", $Body)); #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- #$Receive = Preg_Split('/\r\n\r\n/',$Receive,PREG_SPLIT_DELIM_CAPTURE); #------------------------------------------------------------------------------- #if(Count($Receive) < 2) # return ERROR | @Trigger_Error('[HTTP_Send]: ответ от сервера не верен'); #------------------------------------------------------------------------------- #$Receive = Array_Combine(Array('Heads','Body'),$Receive); #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- #return $Receive; #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- }
function Upload_Get($Name, $Hash = FALSE) { /****************************************************************************/ #$__args_types = Array('string'); #----------------------------------------------------------------------------- $__args__ = Func_Get_Args(); eval(FUNCTION_INIT); /****************************************************************************/ $Args = Args(); #----------------------------------------------------------------------------- $Hash = isset($Args[$Name]) ? $Args[$Name] : $Hash; #----------------------------------------------------------------------------- if (!$Hash) { return new gException('HASH_IS_EMPTY', 'Хешь файла загрузки пуст'); } #----------------------------------------------------------------------------- $Tmp = System_Element('tmp'); if (Is_Error($Tmp)) { return ERROR | @Trigger_Error('[Upload_Get]: не удалось получить путь до временной директории'); } #----------------------------------------------------------------------------- $Uploads = SPrintF('%s/uploads', $Tmp); #----------------------------------------------------------------------------- if (!File_Exists($Uploads)) { return new gException('HASH_IS_EMPTY', 'Директория файлов загрузки не создана'); } #----------------------------------------------------------------------------- $Path = SPrintF('%s/%s', $Uploads, $Hash); #----------------------------------------------------------------------------- if (!File_Exists($Path)) { return new gException('FILE_NOT_FOUND', 'Файл не найден на сервере'); } #----------------------------------------------------------------------------- $Data = IO_Read($Path); if (Is_Error($Data)) { return ERROR | @Trigger_Error('[Upload_Get]: не удалось прочитать файл'); } #----------------------------------------------------------------------------- $Names = IO_Read(SPrintF('%s/names.txt', $Uploads)); if (Is_Error($Names)) { return ERROR | @Trigger_Error('[Upload_Get]: не удалось прочитать файл имен'); } #----------------------------------------------------------------------------- $Names = JSON_Decode($Names, TRUE); #----------------------------------------------------------------------------- $Name = isset($Names[$Hash]) ? $Names[$Hash] : 'Default'; #----------------------------------------------------------------------------- return array('Name' => $Name, 'Data' => $Data); }
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; #------------------------------------------------------------------------------- }
private function initLang() { if (isset($_GET['lang'])) { $this->currentLang = $_GET['lang']; } else { if (isset($_COOKIE['lang'])) { $this->currentLang = $_COOKIE['lang']; } else { $this->currentLang = self::DFLT_LANG; } } if (!in_array($this->currentLang, $this->supportedLang)) { $this->currentLang = self::DFLT_LANG; } setcookie('lang', $this->currentLang); $langPath = System_Element('templates/lang/' . $this->currentLang . '.php'); $langMsgs = (include_once $langPath); //die(print_r($langMsgs,true)); if (count($langMsgs) > 0) { $this->assign('a', "2.5.2"); $this->assign('LANG', $langMsgs); } }
continue; #------------------------------------------------------------------------------- } else { #------------------------------------------------------------------------------- Debug(SPrintF('[comp/Triggers/GLOBAL]: цена на услугу ноль (%s) или IsZeroPricePay = FALSE', $CostPay)); #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- # оплачиваем услугу на минимальное число дней (или юзать параметры? или юзать срок оплаты основной услуги?) $Array = array($OrderID => $ExistsOrderID, 'DaysPay' => $Scheme['MinDaysPay'], 'IsNoBasket' => TRUE, 'PayMessage' => SPrintF('Автоматическая оплата зависимой услуги, группа серверов #%u, "%s"', $ServersGroup['ID'], $ServersGroup['Name'])); #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- $Path = SPrintF('www/API/%sOrderPay', $Service['Code']); #------------------------------------------------------------------------------- if (Is_Error(System_Element(SPrintF('comp/%s.comp.php', $Path)))) { #------------------------------------------------------------------------------- Debug(SPrintF('[comp/Triggers/GLOBAL]: API для заказа сервиса не найдено: %s', $Path)); #------------------------------------------------------------------------------- continue; #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- $OrderPay = Comp_Load($Path, $Array); #------------------------------------------------------------------------------- switch (ValueOf($OrderPay)) { case 'error': return ERROR | @Trigger_Error(500); case 'exception': # No more...
<?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; #-------------------------------------------------------------------------------
} else { $Where = SPrintF("`Partition` = '%s'", addslashes($__URI)); #------------------------------------------------------------------------------- $Clauses = DB_Select('Clauses', 'ID', array('Where' => $Where)); #------------------------------------------------------------------------------- if (Is_Array($Clauses)) { #----------------------------------------------------------------------------- $Clause = Current($Clauses); #----------------------------------------------------------------------------- $Args['ClauseID'] = $Clause['ID']; #----------------------------------------------------------------------------- $__URI = '/Clause'; } } #------------------------------------------------------------------------------- $IsElement = System_Element(SPrintF('comp/www%s.comp.php', $__URI)); #------------------------------------------------------------------------------- if (Is_Error($IsElement)) { #----------------------------------------------------------------------------- $__URI =& $GLOBALS['__URI']; #----------------------------------------------------------------------------- $__URI = '/404'; } #------------------------------------------------------------------------------- if (!In_Array($__URI, array('/Update', '/Patches'))) { #----------------------------------------------------------------------------- $Session = new Session((string) @$_COOKIE['SessionID']); #----------------------------------------------------------------------------- $IsLoad = $Session->Load(); if (!Is_Error($IsLoad)) { #---------------------------------------------------------------------------
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; }
/** * Формирует объект * * Сформировывает объект класса DOM и подготавливает к выводу в браузер. После * вызова этой функции переменная, куда записывался результат выполнения функции * выводится с помощью оператора echo. * * @param boolean <необходимость преобразования в XML строку> */ public function Build($IsToXML = TRUE) { #----------------------------------------------------------------------------- if ($this->TemplateID) { #--------------------------------------------------------------------------- $Trigger = SPrintF('Triggers/DOM/After/%s', $this->TemplateID); #--------------------------------------------------------------------------- if (!Is_Error(System_Element(SPrintF('comp/%s.comp.php', $Trigger)))) { #------------------------------------------------------------------------- $LinkID = UniqID('DOM-'); #------------------------------------------------------------------------- $Links =& Links(); # Коллекция ссылок $Links[$LinkID] =& $this; #------------------------------------------------------------------------- if (Is_Error(Comp_Load($Trigger, $LinkID, COMP_ALL_HOSTS))) { return ERROR | @Trigger_Error('[DOM->Build]: ошибка загрузки предобработчика'); } #------------------------------------------------------------------------- unset($Links[$LinkID]); } } #----------------------------------------------------------------------------- # Номализация документа $this->Normalize(); #----------------------------------------------------------------------------- $this->Apply('Sources'); #----------------------------------------------------------------------------- if ($IsToXML) { #--------------------------------------------------------------------------- $Result = $this->Object->ToXMLString(); if (Is_Error($Result)) { return ERROR | Trigger_Error('[DOM->Build]: не удалось преобразовать DOM в строку'); } #--------------------------------------------------------------------------- return SPrintF("<!-- Joonte Billing System http://www.joonte.com -->\n%s", $Result); } #----------------------------------------------------------------------------- return TRUE; }
#--------------------------------------------------------------------------- $Items = DB_Select('InvoicesItems', $Columns, array('SortOn' => 'Summ', 'IsDesc' => TRUE, 'Where' => SPrintF('`InvoiceID` = %u', $Invoice['ID']))); #--------------------------------------------------------------------------- switch (ValueOf($Items)) { case 'error': return ERROR | @Trigger_Error(500); case 'exception': # No more... break; case 'array': #----------------------------------------------------------------------- foreach ($Items as $Item) { #--------------------------------------------------------------------- $Path = SPrintF('Services/%u', $Item['ServiceID']); #--------------------------------------------------------------------- $Element = System_Element(SPrintF('comp/%s.comp.php', $Path)); if (!Is_Error($Element)) { #------------------------------------------------------------------- $Comp = Comp_Load($Path, $Item); #------------------------------------------------------------------- switch (ValueOf($Comp)) { case 'error': return ERROR | @Trigger_Error(500); case 'exception': #--------------------------------------------------------------- $Number = Comp_Load('Formats/Order/Number', $Item['OrderID']); if (Is_Error($Number)) { return ERROR | @Trigger_Error(500); } #--------------------------------------------------------------- $Event = array('UserID' => $Invoice['UserID'], 'PriorityID' => 'Error', 'Text' => SPrintF('Не удалось произвести автоматическую оплату заказа №%s, причина (%s)', $Number, $Comp->String));
function HTMLDoc_CreatePDF($ModeID, $HTML, $Prefix = '/') { /****************************************************************************/ $__args_types = array('string', 'string,object', 'string'); #----------------------------------------------------------------------------- $__args__ = Func_Get_Args(); eval(FUNCTION_INIT); /****************************************************************************/ if (Is_Object($HTML)) { #--------------------------------------------------------------------------- $Tables = $HTML->GetByTagName('TABLE'); #--------------------------------------------------------------------------- for ($i = 0; $i < Count($Tables); $i++) { #------------------------------------------------------------------------- $Table =& $Tables[$i]; #------------------------------------------------------------------------- switch (@$Table->Attribs['class']) { case 'Standard': $Table->AddAttribs(array('border' => 2, 'cellspacing' => 0, 'cellpadding' => 5), TRUE); break; default: # No more... } } #--------------------------------------------------------------------------- $Tds = $HTML->GetByTagName('TD'); #--------------------------------------------------------------------------- for ($i = 0; $i < Count($Tds); $i++) { #------------------------------------------------------------------------- $Td =& $Tds[$i]; #------------------------------------------------------------------------- switch (@$Td->Attribs['class']) { case 'Head': $Td->AddAttribs(array('bgcolor' => '#ADC1F0'), TRUE); break; case 'Separator': $Td->AddAttribs(array('bgcolor' => '#EAEAEA'), TRUE); break; default: # No more... } } #--------------------------------------------------------------------------- $Imgs = $HTML->GetByTagName('IMG'); #--------------------------------------------------------------------------- for ($i = 0; $i < Count($Imgs); $i++) { #------------------------------------------------------------------------- $Img =& $Imgs[$i]; #------------------------------------------------------------------------- $Img->AddAttribs(array('src' => SPrintF('%s/%s', $Prefix, $Img->Attribs['src'])), TRUE); } #--------------------------------------------------------------------------- $HTML = $HTML->Build(); } #----------------------------------------------------------------------------- $Config = Config(); #----------------------------------------------------------------------------- $Settings = $Config['HTMLDOC']; #----------------------------------------------------------------------------- $Modes = $Settings['Modes']; #----------------------------------------------------------------------------- $Mode = isset($Modes[$ModeID]) ? $Modes[$ModeID] : $ModeID; #----------------------------------------------------------------------------- $Tmp = System_Element('tmp'); if (Is_Error($Tmp)) { return ERROR | @Trigger_Error('[HTMLDoc_CreatePDF]: временная папка не найдена'); } #----------------------------------------------------------------------------- $Logs = SPrintF('%s/logs', $Tmp); #----------------------------------------------------------------------------- if (!File_Exists($Logs)) { #--------------------------------------------------------------------------- if (!@MkDir($Logs, 0777, TRUE)) { return ERROR | @Trigger_Error(500); } } #----------------------------------------------------------------------------- $HTML = @Mb_Convert_Encoding($HTML, $Settings['ConvertToCharset']); if (!$HTML) { return ERROR | @Trigger_Error('[HTMLDoc_CreatePDF]: не удалось преобразовать кодировку'); } #----------------------------------------------------------------------------- $UniqID = UniqID('HTMLDOC'); #----------------------------------------------------------------------------- $File = IO_Write($Path = SPrintF('%s/%s', $Tmp, $UniqID), $HTML); Debug($File); if (Is_Error($File)) { return ERROR | @Trigger_Error('[HTMLDoc_CreatePDF]: не удалось создать временный файл'); } #----------------------------------------------------------------------------- $Command = SPrintF('htmldoc %s %s', $Mode, $Path); #----------------------------------------------------------------------------- Debug($Command); #----------------------------------------------------------------------------- if (!PutENV('HTMLDOC_NOCGI=1')) { return ERROR | @Trigger_Error('[HTMLDoc_CreatePDF]: не удалось установить переменную окружения HTMLDOC_NOCGI'); } #----------------------------------------------------------------------------- $HTMLDOC = @Proc_Open($Command, array(array('pipe', 'r'), array('pipe', 'w'), array('file', $Log = SPrintF('%s/HTMLDOC.log', $Logs), 'a')), $Pipes); if (!Is_Resource($HTMLDOC)) { return ERROR | @Trigger_Error('[HTMLDoc_CreatePDF]: не удалось открыть процесс'); } #----------------------------------------------------------------------------- $StdOut =& $Pipes[1]; #----------------------------------------------------------------------------- $Result = ''; #----------------------------------------------------------------------------- while (!Feof($StdOut)) { $Result .= FRead($StdOut, 1024); } #----------------------------------------------------------------------------- Proc_Close($HTMLDOC); #----------------------------------------------------------------------------- if (!UnLink($Path)) { return ERROR | @Trigger_Error('[HTMLDoc_CreatePDF]: не удалось удалить временный файл'); } #----------------------------------------------------------------------------- if (!$Result) { return ERROR | @Trigger_Error(SPrintF('[HTMLDoc_CreatePDF]: ошибка формирования PDF, смотрите (%s)', $Log)); } #----------------------------------------------------------------------------- return $Result; }
$Task['Result'] = NULL; $TaskResult = NULL; } #------------------------------------------------------------------------------- Debug(SPrintF("[Tasks/GC]: Массив задач: %s", Implode(', ', $TasksArray))); #------------------------------------------------------------------------------- if ($NowTask) { $TaskCount = 0; # Формируем массив параметров для передачи в задачу # $TaskParams = Array(); # foreach(Array_Keys($Settings) as $Key){ # if(!Is_Array($Settings[$Key])) # $TaskParams[$Key] = $Settings[$Key]; #----------------------------------------------------------------------------- # Ищем обработчик и если он есть вызываем его if (!Is_Error(System_Element(SPrintF('comp/Tasks/GC/%s.comp.php', $NowTask)))) { #--------------------------------------------------------------------------- Debug(SPrintF("[Tasks/GC]: Выполняем %s", $NowTask)); $GLOBALS['TaskReturnInfo'] = $NowTask; #--------------------------------------------------------------------------- $__SYSLOG =& $GLOBALS['__SYSLOG']; #--------------------------------------------------------------------------- $Index = Count($__SYSLOG); #--------------------------------------------------------------------------- # $Params = (array)$TaskParams; # Array_UnShift($Params,$TaskParams); # Array_UnShift($Params,$Path = SPrintF('Tasks/GC/%s',$NowTask)); $Params = $Settings; Array_UnShift($Params, $Settings); Array_UnShift($Params, $Path = SPrintF('Tasks/GC/%s', $NowTask)); #---------------------------------------------------------------------------
public function Delete() { #----------------------------------------------------------------------------- $SessionID = $this->SessionID; #----------------------------------------------------------------------------- if (!$SessionID) { return ERROR | @Trigger_Error('[Session->Delete]: пустой идентификатор сессии'); } #----------------------------------------------------------------------------- $Tmp = System_Element('tmp'); if (Is_Error($Tmp)) { return ERROR | @Trigger_Error('[Session->Delete]: не удалось найти временную папку'); } #----------------------------------------------------------------------------- if (!UnLink(SPrintF('%s/sessions/%s', $Tmp, $SessionID))) { return ERROR | @Trigger_Error('[Session->Delete]: не удалось удалить файл сессии'); } #----------------------------------------------------------------------------- return TRUE; }
$Links['DOM'] =& $DOM; #------------------------------------------------------------------------------- if (Is_Error($DOM->Load('Base'))) { 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); }
#------------------------------------------------------------------------------- if (!$Partition) { return new gException('PARTITION_IS_EMPTY', 'Введите раздел статьи'); } #------------------------------------------------------------------------------- if (!$Title) { return new gException('TITLE_IS_EMPTY', 'Введите заголовок статьи'); } #------------------------------------------------------------------------------- $Text = Str_Replace('<p>\\s{1,}</p>', '', Str_Replace(' ', '', $Text)); #------------------------------------------------------------------------------- if ($IsXML) { #----------------------------------------------------------------------------- if (Function_Exists('Tidy_Repair_String')) { #--------------------------------------------------------------------------- $Config = System_Element('config/tidy.conf'); if (Is_Error($Config)) { return ERROR | @Trigger_Error(500); } #--------------------------------------------------------------------------- $Tidy = @Tidy_Repair_String($Text, $Config, 'UTF8'); #--------------------------------------------------------------------------- if ($Tidy) { $Text = $Tidy; } } #----------------------------------------------------------------------------- if ($IsDOM) { #--------------------------------------------------------------------------- $Text = SPrintF('<NOBODY>%s</NOBODY>', $Text); #---------------------------------------------------------------------------
function LogicBoxes_Contract_Register($Settings, $PepsonID, $Person, $DomainZone) { /****************************************************************************/ $__args_types = array('array', 'string', 'array', 'string'); #----------------------------------------------------------------------------- $__args__ = Func_Get_Args(); eval(FUNCTION_INIT); /****************************************************************************/ $Wsdl = System_Element('config/Wsdl/Customer.wsdl'); if (Is_Error($Wsdl)) { return ERROR | @Trigger_Error(500); } #----------------------------------------------------------------------------- $AddCustomer = new SoapClient($Wsdl, array('exceptions' => 0)); #----------------------------------------------------------------------------- $Params = array('SERVICE_USERNAME' => $Settings['Login'], 'SERVICE_PASSWORD' => $Settings['Password'], 'SERVICE_ROLE' => 'reseller', 'SERVICE_LANGPREF' => 'ru', 'SERVICE_PARENTID' => $Settings['ParentID'], 'customerUserName' => $Person['Email'], 'customerPassword' => UniqID()); #----------------------------------------------------------------------------- switch ($PepsonID) { case 'Natural': #------------------------------------------------------------------------- $Params['name'] = SPrintF('%s %s %s', Translit($Person['Name']), Mb_SubStr(Translit($Person['Lastname']), 0, 1), Translit($Person['Sourname'])); $Params['company'] = 'N/A'; $Params['address1'] = Translit(SPrintF('%s %s', $Person['pType'], $Person['pAddress'])); $Params['address2'] = Translit(SPrintF('%s %s', $Person['pType'], $Person['pAddress'])); $Params['address3'] = Translit(SPrintF('%s %s', $Person['pType'], $Person['pAddress'])); $Params['city'] = Translit($Person['pCity']); $Params['state'] = Translit($Person['pState']); $Params['country'] = isset($Person['PasportCountry']) ? $Person['PasportCountry'] : $Person['pCountry']; $Params['zip'] = $Person['pIndex']; break; case 'Juridical': #------------------------------------------------------------------------- $Params['name'] = SPrintF('%s %s %s', Translit($Person['dName']), Translit($Person['dLastname']), Translit($Person['dSourname'])); $Params['company'] = SPrintF('%s %s', Translit($Person['CompanyName']), Translit($Person['CompanyFormFull'])); $Params['address1'] = Translit(SPrintF('%s %s', $Person['jType'], $Person['jAddress'])); $Params['address2'] = Translit(SPrintF('%s %s', $Person['pType'], $Person['pAddress'])); $Params['address3'] = Translit(SPrintF('%s %s', $Person['pType'], $Person['pAddress'])); $Params['city'] = Translit($Person['jCity']); $Params['state'] = Translit($Person['jState']); $Params['country'] = Translit($Person['jCountry']); $Params['zip'] = $Person['jIndex']; break; default: return ERROR | @Trigger_Error(400); } #----------------------------------------------------------------------------- $Phone = $Person['Phone']; #----------------------------------------------------------------------------- if ($Phone) { #--------------------------------------------------------------------------- $Phone = Preg_Split('/\\s+/', $Phone); #--------------------------------------------------------------------------- $Params['telNoCc'] = Trim(Current($Phone), '+'); $Params['telNo'] = SPrintF('%s%s', Next($Phone), Next($Phone)); #--------------------------------------------------------------------------- Reset($Phone); #--------------------------------------------------------------------------- $Params['altTelNoCc'] = Trim(Current($Phone), '+'); $Params['altTelNo'] = SPrintF('%s%s', Next($Phone), Next($Phone)); } else { #--------------------------------------------------------------------------- $Params['telNoCc'] = ''; $Params['telNo'] = ''; $Params['altTelNoCc'] = ''; $Params['altTelNo'] = ''; } #----------------------------------------------------------------------------- $Fax = $Person['Fax']; #----------------------------------------------------------------------------- if ($Fax) { #--------------------------------------------------------------------------- $Fax = Preg_Split('/\\s+/', $Fax); #--------------------------------------------------------------------------- $Params['faxNoCc'] = Trim(Current($Fax), '+'); $Params['faxNo'] = SPrintF('%s%s', Next($Fax), Next($Fax)); } else { #--------------------------------------------------------------------------- $Params['faxNoCc'] = ''; $Params['faxNo'] = ''; } #----------------------------------------------------------------------------- $Params['customerLangPref'] = 'ru'; #----------------------------------------------------------------------------- Debug(Print_R($Params, TRUE)); #----------------------------------------------------------------------------- $Response = $AddCustomer->__SoapCall('addCustomer', $Params); #----------------------------------------------------------------------------- if (Is_SOAP_Fault($Response)) { #--------------------------------------------------------------------------- Debug($Response->faultstring); #--------------------------------------------------------------------------- return new gException('ANSWER_ERROR', 'Ошибка обращения к регистратору'); } #----------------------------------------------------------------------------- $CustomerID = $Response; #----------------------------------------------------------------------------- $Wsdl = System_Element('config/Wsdl/DomContact.wsdl'); if (Is_Error($Wsdl)) { return ERROR | @Trigger_Error(500); } #----------------------------------------------------------------------------- $DefaultContact = new SoapClient($Wsdl, array('exceptions' => 0)); #----------------------------------------------------------------------------- $Response = $DefaultContact->addDefaultContact($Settings['Login'], $Settings['Password'], 'reseller', 'ru', $Settings['ParentID'], $CustomerID); #----------------------------------------------------------------------------- if (Is_SOAP_Fault($Response)) { #--------------------------------------------------------------------------- Debug($Response->faultstring); #--------------------------------------------------------------------------- return new gException('ANSWER_ERROR', 'Ошибка обращения к регистратору'); } #----------------------------------------------------------------------------- return array('TicketID' => $CustomerID); }
$Where = SPrintF('`ID` IN (%s)', Implode(',', $Array)); #------------------------------------------------------------------------------- $Rows = DB_Select(SPrintF('%sOwners', $TableID), '*', array('Where' => $Where)); #------------------------------------------------------------------------------- switch (ValueOf($Rows)) { case 'error': return ERROR | @Trigger_Error(500); case 'exception': return new gException('ROWS_NOT_FOUND', 'Записи не найдены'); case 'array': #-------------------------------TRANSACTION--------------------------------- if (Is_Error(DB_Transaction($TransactionID = UniqID('Delete')))) { return ERROR | @Trigger_Error(500); } #--------------------------------------------------------------------------- $Trigger = System_Element(SPrintF('comp/%s.comp.php', $Path = SPrintF('Triggers/OnDelete/%s', $TableID))); #--------------------------------------------------------------------------- $RowsIDs = array(); #--------------------------------------------------------------------------- foreach ($Rows as $Row) { #------------------------------------------------------------------------- $IsPermission = Permission_Check(SPrintF('%sDelete', $TableID), (int) $GLOBALS['__USER']['ID'], (int) $Row['UserID']); #------------------------------------------------------------------------- switch (ValueOf($IsPermission)) { case 'error': return ERROR | @Trigger_Error(500); case 'exception': return ERROR | @Trigger_Error(400); case 'false': return ERROR | @Trigger_Error(700); case 'true':
/** * Custom class loader. * * @param <type> $class Class name for load. */ function JoonteAutoLoad($class) { #------------------------------------------------------------------------------- $ClassPath = System_Element('system/classes/' . $class . '.class.php'); #------------------------------------------------------------------------------- if (Is_Error($ClassPath)) { throw new Exception("Coudn't load class: " . $ClassPath); } #------------------------------------------------------------------------------- include_once $ClassPath; #------------------------------------------------------------------------------- }
#------------------------------------------------------------------------------- foreach ($Courses as $Course) { #------------------------------------------------------------------------------- if (isset($PaymentSystems[$PaymentSystemID]) && @$Course['CharCode'] == $PaymentSystem['Valute'] && $PaymentSystem['IsCourseUpdate']) { #------------------------------------------------------------------------------- $Current = (string) SPrintF('%01.6g', FloatVal(Str_Replace(',', '.', @$Course['Value'])) / @$Course['Nominal']); #------------------------------------------------------------------------------- $PaymentSystems[$PaymentSystemID]['Course'] = $Current; #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- $Path = System_Element('config/Config.xml'); if (Is_Error($Path)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- $IsWrite = IO_Write($Path, To_XML_String($Config), TRUE); if (Is_Error($IsWrite)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- $IsFlush = CacheManager::flush(); if (!$IsFlush) { @Trigger_Error(500); } #------------------------------------------------------------------------------- return TRUE;
#------------------------------------------------------------------------------- $Script = '$(document).ready ( function(){$(\'#TopLogo\').css(\'display\',\'none\');});'; #------------------------------------------------------------------------------- $Links['DOM']->AddChild('Head', new Tag('SCRIPT', $Script)); #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- $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); #-------------------------------------------------------------------------------
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']); }
} #----------------------------------------------------------------------------- $DOM->AddChild('Into', new Tag('P', $Comp)); #----------------------------------------------------------------------------- echo <<<EOD <HTML> <HEAD> <TITLE>Формироване статистики</TITLE> <LINK href="/styles/root/Css/Standard.css" rel="stylesheet" type="text/css" /> <STYLE>body {margin:5px;} p {margin: 0px 0px 0px 0px;font-size:11px;}</STYLE> </HEAD> <BODY> <P>Очистка кэша</P> EOD; #----------------------------------------------------------------------------- $Tmp = System_Element('tmp'); if (Is_Error($Tmp)) { return ERROR | @Trigger_Error(500); } #----------------------------------------------------------------------------- $Public = SPrintF('%s/public', $Tmp); #----------------------------------------------------------------------------- if (File_Exists($Public)) { #--------------------------------------------------------------------------- $Contents = IO_Scan($Public); if (Is_Error($Contents)) { return ERROR | @Trigger_Error(500); } #--------------------------------------------------------------------------- foreach ($Contents as $Content) { #-------------------------------------------------------------------------
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; }