Esempio n. 1
1
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;
    #-------------------------------------------------------------------------------
    #-------------------------------------------------------------------------------
}
Esempio n. 2
0
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);
}
Esempio n. 3
0
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;
    #-------------------------------------------------------------------------------
}
Esempio n. 4
0
 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);
     }
 }
Esempio n. 5
0
     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...
Esempio n. 6
0
<?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;
#-------------------------------------------------------------------------------
Esempio n. 7
0
} 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)) {
        #---------------------------------------------------------------------------
Esempio n. 8
0
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;
}
Esempio n. 9
0
 /**
 * Формирует объект
 *
 * Сформировывает объект класса 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;
 }
Esempio n. 10
0
 #---------------------------------------------------------------------------
 $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));
Esempio n. 11
0
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;
}
Esempio n. 12
0
    $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));
        #---------------------------------------------------------------------------
Esempio n. 13
0
 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;
 }
Esempio n. 14
0
$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);
}
Esempio n. 15
0
#-------------------------------------------------------------------------------
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('&nbsp', '', $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);
        #---------------------------------------------------------------------------
Esempio n. 16
0
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);
}
Esempio n. 17
0
$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':
Esempio n. 18
0
/**
 * 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;
    #-------------------------------------------------------------------------------
}
Esempio n. 19
0
    #-------------------------------------------------------------------------------
    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;
Esempio n. 20
0
    #-------------------------------------------------------------------------------
    $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);
    #-------------------------------------------------------------------------------
Esempio n. 21
0
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']);
}
Esempio n. 22
0
    }
    #-----------------------------------------------------------------------------
    $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) {
            #-------------------------------------------------------------------------
Esempio n. 23
0
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;
}