Exemple #1
0
 public function Save()
 {
     #-----------------------------------------------------------------------------
     $SessionID = $this->SessionID;
     #-----------------------------------------------------------------------------
     if (!$SessionID) {
         return ERROR | @Trigger_Error('[Session->Save]: пустой идентификатор сессии');
     }
     #-----------------------------------------------------------------------------
     $Tmp = System_Element('tmp');
     if (Is_Error($Tmp)) {
         return ERROR | @Trigger_Error('[Session->Save]: не удалось найти временную папку');
     }
     #-----------------------------------------------------------------------------
     #$IsWrited = IO_Write(SPrintF('%s/sessions/%s',$Tmp,$SessionID),Serialize($this->Data),TRUE);
     $IsWrited = IO_Write(SPrintF('%s/sessions/%s', $Tmp, $SessionID), JSON_Encode($this->Data), TRUE);
     if (Is_Error($IsWrited)) {
         return ERROR | @Trigger_Error('[Session->Save]: не удалось сохранить сессию');
     }
     #-----------------------------------------------------------------------------
     return TRUE;
 }
#-------------------------------------------------------------------------------
$Config = Config();
#-------------------------------------------------------------------------------
$Fields = $Config['Services']['Fields'];
#-------------------------------------------------------------------------------
$Types = $Fields['Types'];
#-------------------------------------------------------------------------------
$Options = array();
#-------------------------------------------------------------------------------
$Script = array('var Disabled = {};');
#-------------------------------------------------------------------------------
foreach ($Types as $TypeID => $Type) {
    #-----------------------------------------------------------------------------
    $Options[$TypeID] = $Type['Name'];
    #-----------------------------------------------------------------------------
    $Script[] = SPrintF("Disabled['%s'] = %s;", $TypeID, JSON_Encode($Type['Disabled']));
}
#-------------------------------------------------------------------------------
$DOM->AddChild('Head', new Tag('SCRIPT', array('force-escape' => 'yes'), Implode("\n", $Script)));
#-------------------------------------------------------------------------------
$DOM->AddAttribs('Body', array('onload' => 'DisabledUpdate();'));
#-------------------------------------------------------------------------------
$Comp = Comp_Load('Form/Select', array('name' => 'TypeID', 'onchange' => 'DisabledUpdate();'), $Options, $ServiceField['TypeID']);
if (Is_Error($Comp)) {
    return ERROR | @Trigger_Error(500);
}
#-------------------------------------------------------------------------------
$Table[] = array('Тип', $Comp);
#-------------------------------------------------------------------------------
$Comp = Comp_Load('Form/TextArea', array('name' => 'Options', 'rows' => 5, 'cols' => 25), $ServiceField['Options']);
if (Is_Error($Comp)) {
Exemple #3
0
foreach ($Files as $File) {
    #-------------------------------------------------------------------------------
    if ($File == 'names.txt') {
        continue;
    }
    #-------------------------------------------------------------------------------
    $Path = SPrintF('%s/%s', $Uploads, $File);
    #-------------------------------------------------------------------------------
    if (Time() - FileMTime($Path) > 600) {
        #-------------------------------------------------------------------------------
        if (isset($Names[$File])) {
            unset($Names[$File]);
        }
        #-------------------------------------------------------------------------------
        if (!UnLink($Path)) {
            return ERROR | @Trigger_Error(SPrintF('Не удалось удалить файл (%s)', $Path));
        }
        #-------------------------------------------------------------------------------
    }
    #-------------------------------------------------------------------------------
}
#-------------------------------------------------------------------------------
$IsWrite = IO_Write($NamesPath, JSON_Encode($Names), TRUE);
if (Is_Error($IsWrite)) {
    return ERROR | @Trigger_Error(500);
}
#-------------------------------------------------------------------------------
#-------------------------------------------------------------------------------
return $Hash;
#-------------------------------------------------------------------------------
#-------------------------------------------------------------------------------
Exemple #4
0
 foreach ($ContractsTypes as $ContractTypeID => $IsActive) {
     #-------------------------------------------------------------------------------
     if ($IsActive) {
         $ContractsTypesIDs[] = SPrintF("'%s'", $ContractTypeID);
     }
     #-------------------------------------------------------------------------------
 }
 #-------------------------------------------------------------------------------
 $Contracts = DB_Select('Contracts', array('ID', 'Customer'), array('Where' => SPrintF('`UserID` = %u AND `TypeID` IN (%s)', $GLOBALS['__USER']['ID'], Implode(',', $ContractsTypesIDs))));
 #-------------------------------------------------------------------------------
 switch (ValueOf($Contracts)) {
     case 'error':
         return ERROR | @Trigger_Error(500);
     case 'exception':
         #-------------------------------------------------------------------------------
         $Window = JSON_Encode(array('Url' => '/InvoiceMake', 'Args' => array('PaymentSystemID' => $PaymentSystemID, 'StepID' => 2)));
         #-------------------------------------------------------------------------------
         $ContractsTypesIDs = array();
         #-------------------------------------------------------------------------------
         foreach ($ContractsTypes as $ContractTypeID => $IsActive) {
             #-------------------------------------------------------------------------------
             if ($IsActive) {
                 $ContractsTypesIDs[] = $ContractTypeID;
             }
             #-------------------------------------------------------------------------------
         }
         #-------------------------------------------------------------------------------
         $Comp = Comp_Load('www/ContractMake', array('TypesIDs' => Implode(',', $ContractsTypesIDs), 'IsSimple' => TRUE, 'Window' => Base64_Encode($Window)));
         if (Is_Error($Comp)) {
             return ERROR | @Trigger_Error(500);
         }
Exemple #5
0
     if (Mb_StrLen($Customer) > 20) {
         $Customer = SPrintF('%s...', Mb_SubStr($Customer, 0, 20));
     }
     #-----------------------------------------------------------------------
     $Options[$Contract['ID']] = SPrintF('#%s / %s', $Number, $Customer);
     #-------------------------------------------------------------------------------
 }
 #-------------------------------------------------------------------------
 $Comp = Comp_Load('Form/Select', array('name' => 'ContractID'), $Options, $ContractID);
 if (Is_Error($Comp)) {
     return ERROR | @Trigger_Error(500);
 }
 #-------------------------------------------------------------------------
 $NoBody = new Tag('NOBODY', $Comp);
 #-------------------------------------------------------------------------
 $Window = JSON_Encode(array('Url' => '/VPSOrder', 'Args' => array()));
 #-------------------------------------------------------------------------
 $A = new Tag('A', array('href' => SPrintF("javascript:ShowWindow('/ContractMake',{Window:'%s'});", Base64_Encode($Window))), '[новый]');
 #-------------------------------------------------------------------------
 $NoBody->AddChild($A);
 #-------------------------------------------------------------------------
 $Table = array(array('Базовый договор', $NoBody));
 #-------------------------------------------------------------------------
 $UniqID = UniqID('VPSSchemes');
 #-------------------------------------------------------------------------
 $Comp = Comp_Load('Services/Schemes', 'VPSSchemes', $__USER['ID'], array('Name', 'ServersGroupID'), $UniqID);
 if (Is_Error($Comp)) {
     return ERROR | @Trigger_Error(500);
 }
 #-------------------------------------------------------------------------
 $Columns = array('ID', 'Name', 'ServersGroupID', 'Comment', 'CostMonth', 'CostInstall', 'disklimit', 'ncpu', 'cpu', 'mem', '(SELECT `Name` FROM `ServersGroups` WHERE `ServersGroups`.`ID` = `ServersGroupID`) as `ServersGroupName`', '(SELECT `Comment` FROM `ServersGroups` WHERE `ServersGroups`.`ID` = `ServersGroupID`) as `ServersGroupComment`', '(SELECT `SortID` FROM `ServersGroups` WHERE `ServersGroups`.`ID` = `ServersGroupID`) as `ServersGroupSortID`');
Exemple #6
0
function __Error_Handler__($Number, $Error, $File, $Line)
{
    #-------------------------------------------------------------------------------
    $Message = SPrintF('[!!%s]-%s в линии %s файла %s', $Number, $Error, $Line, $File);
    #-------------------------------------------------------------------------------
    $__ERR_CODE =& $GLOBALS['__ERR_CODE'];
    #-------------------------------------------------------------------------------
    if ((int) $Error && $__ERR_CODE == 100) {
        $__ERR_CODE = $Error;
    }
    #-------------------------------------------------------------------------------
    Debug(SPrintF('[!] %s', $Message));
    //Debug(SPrintF('[!] %s',debug_print_backtrace()));
    #-------------------------------------------------------------------------------
    //Error_Reporting(E_ALL);
    #-------------------------------------------------------------------------------
    if (Error_Reporting()) {
        #-------------------------------------------------------------------------------
        $JBsErrorID = SPrintF('%s[%s]', HOST_ID, Md5(Implode(':', array($Number, $Error, $Line, $File))));
        #-------------------------------------------------------------------------------
        $__SYSLOG =& $GLOBALS['__SYSLOG'];
        #-------------------------------------------------------------------------------
        $Log = Implode("\n", $__SYSLOG);
        #-------------------------------------------------------------------------------
        Report($JBsErrorID, $JBsErrorID);
        #-------------------------------------------------------------------------------
        foreach (array(SYSTEM_PATH, '/tmp') as $Folder) {
            #-------------------------------------------------------------------------------
            $Path = SPrintF('%s/jbs-errors.log', $Folder);
            #-------------------------------------------------------------------------------
            if (File_Exists($Path)) {
                if (FileSize($Path) > 1024 * 1024) {
                    UnLink($Path);
                }
            }
            #-------------------------------------------------------------------------------
            umask(077);
            #-------------------------------------------------------------------------------
            if (!@File_Put_Contents($Path, SPrintF("%s\n\n%s\n\n", $JBsErrorID, $Log), FILE_APPEND)) {
                #-------------------------------------------------------------------------------
                Debug(SPrintF('[__Error_Handler__]: не удалось осуществить запись ошибки в системный лог (%s)', $Path));
                #-------------------------------------------------------------------------------
                continue;
                #-------------------------------------------------------------------------------
            }
            #-------------------------------------------------------------------------------
            break;
            #-------------------------------------------------------------------------------
        }
        #-------------------------------------------------------------------------------
        if (File_Exists(SPrintF('%s/DEBUG.OUT', SYSTEM_PATH)) || !isset($_SERVER["REMOTE_PORT"])) {
            #-------------------------------------------------------------------------------
            exit($Log);
        } else {
            #-------------------------------------------------------------------------------
            $Errors = array(100 => 'Ошибка выполнения', 101 => 'Неизвестный результат', 201 => 'Неверные параметры', 400 => 'Ошибка данных', 500 => 'Системная ошибка', 600 => 'Ошибка политики безопасности', 601 => 'Неверный реферер', 602 => 'Отсутствует реферер', 603 => 'Неверный ключ CSRF', 700 => 'Нарушение политики прав');
            #-------------------------------------------------------------------------------
            $FilePath = SPrintF('%s/hosts/root/templates/modules/Trigger.Error.html', SYSTEM_PATH);
            #-------------------------------------------------------------------------------
            if (Is_Readable($FilePath)) {
                #-------------------------------------------------------------------------------
                $Result = @File_Get_Contents($FilePath);
                #-------------------------------------------------------------------------------
            } else {
                #-------------------------------------------------------------------------------
                $Result = SPrintF("Cannot read error file: %s<BR />\nError: %%s<BR />\n<!--%%s-->\nErrorID: %%s\n<!--%%s-->", $FilePath);
                #-------------------------------------------------------------------------------
            }
            #-------------------------------------------------------------------------------
            $String = SPrintF('%s (%s)', $Errors[$__ERR_CODE], $__ERR_CODE);
            #-------------------------------------------------------------------------------
            @Header(SPrintF('JBs-ErrorID: %s', $JBsErrorID));
            #-------------------------------------------------------------------------------
            if (isset($_POST['XMLHttpRequest'])) {
                #-------------------------------------------------------------------------------
                $Answer = array('Error' => array('CodeID' => $__ERR_CODE, 'String' => $String), 'Status' => 'Error');
                #-------------------------------------------------------------------------------
                exit(JSON_Encode($Answer));
                #-------------------------------------------------------------------------------
            } else {
                #-------------------------------------------------------------------------------
                exit(SPrintF($Result, $String, $String, $JBsErrorID, Date('Y', Time())));
                #-------------------------------------------------------------------------------
            }
            #-------------------------------------------------------------------------------
        }
        #-------------------------------------------------------------------------------
    }
    #-------------------------------------------------------------------------------
}
Exemple #7
0
         $Notes = $Result;
         #-------------------------------------------------------------------------------
     } else {
         #-------------------------------------------------------------------------------
         $Notes = Comp_Load($Path);
         if (Is_Error($Notes)) {
             return ERROR | @Trigger_Error(500);
         }
         #-------------------------------------------------------------------------------
         CacheManager::add($CacheID, $Notes, 60);
         #-------------------------------------------------------------------------------
     }
     #-------------------------------------------------------------------------------
     foreach ($Notes as $Note) {
         #-------------------------------------------------------------------------------
         $MessageID = SPrintF('note_%s_%s', $GLOBALS['__USER']['ID'], SubStr(Md5(JSON_Encode($Note)), 0, 6));
         #-------------------------------------------------------------------------------
         if (isset($_COOKIE[$MessageID])) {
             continue;
         }
         #-------------------------------------------------------------------------------
         $Comp = Comp_Load('Information', $Note, 'Warning', $MessageID);
         if (Is_Error($Comp)) {
             return ERROR | @Trigger_Error(500);
         }
         #-------------------------------------------------------------------------------
         $Table->AddChild(new Tag('TR', new Tag('TD', $Comp)));
         #-------------------------------------------------------------------------------
     }
     #-------------------------------------------------------------------------------
 }
Exemple #8
0
 case 'error':
     return ERROR | @Trigger_Error('[system/modules/Main]: не удалось загрузить основной компонент системы');
 case 'exception':
     #---------------------------------------------------------------------------
     $Answer = array('Exception' => $Result, 'Status' => 'Exception');
     #---------------------------------------------------------------------------
     echo JSON_Encode($Answer);
     break;
 case 'false':
     echo JSON_Encode(array('Status' => 'FALSE'));
     break;
 case 'true':
     echo JSON_Encode(array('Status' => 'TRUE'));
     break;
 case 'array':
     $Result = JSON_Encode($Result);
 case 'string':
     #---------------------------------------------------------------------------
     if (!Headers_Sent()) {
         #-------------------------------------------------------------------------
         list($Micro, $Seconds) = Explode(' ', MicroTime());
         #-------------------------------------------------------------------------
         Header(SPrintF('Waiting-Time: %01.2f sec', (double) $Micro + (double) $Seconds - START_TIME));
         #-------------------------------------------------------------------------
         $Size = MB_StrLen($Result, 'ASCII');
         #-------------------------------------------------------------------------
         if ($Size > 30720 && Preg_Match('/gzip/', (string) @$_SERVER['HTTP_ACCEPT_ENCODING'])) {
             #-----------------------------------------------------------------------
             Header(SPrintF('Real-Content-Length: %u', $Size));
             #-----------------------------------------------------------------------
             $Result = GzEncode($Result);
     if (Mb_StrLen($Customer) > 20) {
         $Customer = SPrintF('%s...', Mb_SubStr($Customer, 0, 20));
     }
     #-------------------------------------------------------------------------------
     $Options[$Contract['ID']] = SPrintF('#%s / %s', $Number, $Customer);
     #-------------------------------------------------------------------------------
 }
 #-------------------------------------------------------------------------------
 $Comp = Comp_Load('Form/Select', array('name' => 'ContractID'), $Options, $ContractID);
 if (Is_Error($Comp)) {
     return ERROR | @Trigger_Error(500);
 }
 #-------------------------------------------------------------------------------
 $NoBody = new Tag('NOBODY', $Comp);
 #-------------------------------------------------------------------------------
 $Window = JSON_Encode(array('Url' => '/ExtraIPOrder', 'Args' => array()));
 #-------------------------------------------------------------------------------
 $A = new Tag('A', array('href' => SPrintF("javascript:ShowWindow('/ContractMake',{Window:'%s'});", Base64_Encode($Window))), '[новый]');
 #-------------------------------------------------------------------------------
 $NoBody->AddChild($A);
 #-------------------------------------------------------------------------------
 $Table = array(array('Базовый договор', $NoBody));
 #-------------------------------------------------------------------------------
 $Comp = Comp_Load('Form/Input', array('type' => 'button', 'name' => 'Submit', 'onclick' => "ShowWindow('/ExtraIPOrder',FormGet(form));", 'value' => 'Продолжить'));
 #-------------------------------------------------------------------------------
 if (Is_Error($Comp)) {
     return ERROR | @Trigger_Error(500);
 }
 #-------------------------------------------------------------------------------
 $Table[] = $Comp;
 #-------------------------------------------------------------------------------
 }
 #---------------------------------------------------------
 $Options = array();
 #---------------------------------------------------------
 foreach ($Profiles as $Profile) {
     $Options[$Profile['ID']] = $Profile['Name'];
 }
 #---------------------------------------------------------
 $Comp = Comp_Load('Form/Select', array('name' => 'ProfileID'), $Options, $ProfileID);
 if (Is_Error($Comp)) {
     return ERROR | @Trigger_Error(500);
 }
 #---------------------------------------------------------
 $NoBody = new Tag('NOBODY', $Comp);
 #---------------------------------------------------------
 $Window = JSON_Encode(array('Url' => '/DomainSelectOwner', 'Args' => array('DomainOrderID' => $DomainOrder['ID'], 'StepID' => 1, 'OwnerTypeID' => 'Profile')));
 #---------------------------------------------------------
 $A = new Tag('A', array('href' => SPrintF("javascript:ShowWindow('/ProfileEdit',{Window:'%s',TemplatesIDs:'Natural,Juridical'});", Base64_Encode($Window))), '[новый]');
 #---------------------------------------------------------
 $NoBody->AddChild($A);
 #---------------------------------------------------------
 $Table[] = array('Использовать профиль', $NoBody);
 #---------------------------------------------------------
 #---------------------------------------------------------
 $Comp = Comp_Load('Form/Input', array('name' => 'Agree', 'type' => 'checkbox', 'value' => 'yes', 'prompt' => 'Подверждаю своё согласие на передачу моих персональных данных вышестоящему регистратору доменов'));
 if (Is_Error($Comp)) {
     return ERROR | @Trigger_Error(500);
 }
 #-------------------------------------------------------------------------------
 $Table[] = array('Согласен на передачу моих персональных данных регистратору', $Comp);
 #---------------------------------------------------------
Exemple #11
0
switch (ValueOf($Clauses)) {
    case 'error':
        return ERROR | @Trigger_Error(500);
    case 'exception':
        # No more...
        break;
    case 'array':
        #-------------------------------------------------------------------------------
        $Clause = Current($Clauses);
        #-------------------------------------------------------------------------------
        $Comp = Comp_Load('Clauses/Load', $Clause['ID']);
        if (Is_Error($Comp)) {
            return ERROR | @Trigger_Error(500);
        }
        #-------------------------------------------------------------------------------
        $MessageID = SPrintF('clause_%s_%s', isset($GLOBALS['__USER']['ID']) ? $GLOBALS['__USER']['ID'] : 10, SubStr(Md5(JSON_Encode($Comp)), 0, 6));
        #-------------------------------------------------------------------------------
        if (isset($_COOKIE[$MessageID])) {
            break;
        }
        #-------------------------------------------------------------------------------
        $Comp = Comp_Load('Information', $Comp['DOM'], 'Warning', $MessageID);
        if (Is_Error($Comp)) {
            return ERROR | @Trigger_Error(500);
        }
        #-------------------------------------------------------------------------------
        $DOM->AddChild('Into', new Tag('SPAN', $Comp, new Tag('BR')), TRUE);
        #-------------------------------------------------------------------------------
        break;
        #-------------------------------------------------------------------------------
    #-------------------------------------------------------------------------------
Exemple #12
0
    if (Mb_StrLen($Customer) > 20) {
        $Customer = SPrintF('%s...', Mb_SubStr($Customer, 0, 20));
    }
    #-------------------------------------------------------------------------------
    $Options[$Contract['ID']] = $Customer;
    #-------------------------------------------------------------------------------
}
#-------------------------------------------------------------------------------
$Comp = Comp_Load('Form/Select', array('name' => 'ContractID'), $Options, $ContractID);
if (Is_Error($Comp)) {
    return ERROR | @Trigger_Error(500);
}
#-------------------------------------------------------------------------------
$NoBody = new Tag('NOBODY', $Comp);
#-------------------------------------------------------------------------------
$Window = JSON_Encode(array('Url' => '/ServiceOrder', 'Args' => array('ServiceID' => $ServiceID)));
#-------------------------------------------------------------------------------
$A = new Tag('A', array('href' => SPrintF("javascript:ShowWindow('/ContractMake',{Window:'%s'});", Base64_Encode($Window))), '[новый]');
#-------------------------------------------------------------------------------
$NoBody->AddChild($A);
#-------------------------------------------------------------------------------
$Table = array(array('Базовый договор', $NoBody));
#-------------------------------------------------------------------------------
#-------------------------------------------------------------------------------
$Table[] = 'Параметры услуги';
#-------------------------------------------------------------------------------
if ($Service['Cost'] > 0) {
    #-------------------------------------------------------------------------------
    $Comp = Comp_Load('Formats/Currency', $Service['Cost']);
    if (Is_Error($Comp)) {
        return ERROR | @Trigger_Error(500);
Exemple #13
0
function __ShutDown_Function__()
{
    global $__SETTINGS, $__MESSAGES, $__ERRORS;
    echo '</TABLE>';
    if (Count($__MESSAGES)) {
        echo '<H2>Сообщения:</H2><UL class="Standard">';
        foreach ($__MESSAGES as $__MESSAGE) {
            echo SPrintF('<LI>%s</LI>', $__MESSAGE);
        }
        echo '</UL>';
    }
    if (Count($__ERRORS)) {
        echo '<H2>Ошибки выполнения:</H2><UL class="Standard">';
        foreach ($__ERRORS as $__ERROR) {
            echo SPrintF('<LI><PRE>%s</PRE></LI>', $__ERROR);
        }
        echo '</UL>';
    }
    if (File_Exists(SPrintF('%s/INSTALL', SYSTEM_PATH))) {
        if (!@File_Put_Contents(SETTINGS_FILE, JSON_Encode($__SETTINGS))) {
            echo SPrintF('<P>Не удалось сохранить текущие настройки установки в файле (%s)</P>', SETTINGS_FILE);
        }
    }
    echo <<<EOD
 </BODY>
</HTML>
EOD;
}
Exemple #14
0
         $Customer = SPrintF('%s...', Mb_SubStr($Customer, 0, 20));
     }
     #-------------------------------------------------------------------------------
     $Options[$Contract['ID']] = SPrintF('#%s / %s', $Number, $Customer);
     #-------------------------------------------------------------------------------
 }
 #-------------------------------------------------------------------------------
 $Comp = Comp_Load('Form/Select', array('name' => 'ContractID'), $Options, $ContractID);
 if (Is_Error($Comp)) {
     return ERROR | @Trigger_Error(500);
 }
 #-------------------------------------------------------------------------------
 $NoBody = new Tag('NOBODY', $Comp);
 #-------------------------------------------------------------------------------
 #-------------------------------------------------------------------------------
 $Window = JSON_Encode(array('Url' => '/HostingOrder', 'Args' => array()));
 #-------------------------------------------------------------------------------
 $A = new Tag('A', array('href' => SPrintF("javascript:ShowWindow('/ContractMake',{Window:'%s'});", Base64_Encode($Window))), '[новый]');
 #-------------------------------------------------------------------------------
 $NoBody->AddChild($A);
 #-------------------------------------------------------------------------------
 $Table = array(array('Базовый договор', $NoBody));
 #-------------------------------------------------------------------------------
 $UniqID = UniqID('HostingSchemes');
 #-------------------------------------------------------------------------------
 $Comp = Comp_Load('Services/Schemes', 'HostingSchemes', $__USER['ID'], array('Name', 'ServersGroupID'), $UniqID);
 if (Is_Error($Comp)) {
     return ERROR | @Trigger_Error(500);
 }
 #-------------------------------------------------------------------------------
 $Columns = array('ID', 'Name', 'ServersGroupID', 'Comment', 'CostMonth', 'QuotaDisk', 'QuotaEmail', 'QuotaDomains', 'QuotaDBs', '(SELECT `Name` FROM `ServersGroups` WHERE `ServersGroups`.`ID` = `ServersGroupID`) as `ServersGroupName`', '(SELECT `Comment` FROM `ServersGroups` WHERE `ServersGroups`.`ID` = `ServersGroupID`) as `ServersGroupComment`', '(SELECT `SortID` FROM `ServersGroups` WHERE `ServersGroups`.`ID` = `ServersGroupID`) as `ServersGroupSortID`');
Exemple #15
0
<?php

#-------------------------------------------------------------------------------
/** @author Великодный В.В. (Joonte Ltd.) */
/******************************************************************************/
/******************************************************************************/
$__args_list = array('Value');
/******************************************************************************/
eval(COMP_INIT);
/******************************************************************************/
/******************************************************************************/
return JSON_Encode($Value);
#-------------------------------------------------------------------------------
Exemple #16
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']);
}
Exemple #17
0
     if (Mb_StrLen($Customer) > 20) {
         $Customer = SPrintF('%s...', Mb_SubStr($Customer, 0, 20));
     }
     #-------------------------------------------------------------------------------
     $Options[$Contract['ID']] = SPrintF('#%s / %s', $Number, $Customer);
     #-------------------------------------------------------------------------------
 }
 #-------------------------------------------------------------------------------
 $Comp = Comp_Load('Form/Select', array('name' => 'ContractID'), $Options, $ContractID);
 if (Is_Error($Comp)) {
     return ERROR | @Trigger_Error(500);
 }
 #-------------------------------------------------------------------------------
 $NoBody = new Tag('NOBODY', $Comp);
 #-------------------------------------------------------------------------------
 $Window = JSON_Encode(array('Url' => '/DomainOrder', 'Args' => array()));
 #-------------------------------------------------------------------------------
 $A = new Tag('A', array('href' => SPrintF("javascript:ShowWindow('/ContractMake',{Window:'%s'});", Base64_Encode($Window))), '[новый]');
 #-------------------------------------------------------------------------------
 $NoBody->AddChild($A);
 #-------------------------------------------------------------------------------
 $Table = array(array('Базовый договор', $NoBody));
 #-------------------------------------------------------------------------------
 #-------------------------------------------------------------------------------
 $UniqID = UniqID('DomainSchemes');
 #-------------------------------------------------------------------------------
 $Comp = Comp_Load('Services/Schemes', 'DomainSchemes', $__USER['ID'], array('Name', 'ServerID'), $UniqID, "`IsActive` = 'yes'");
 if (Is_Error($Comp)) {
     return ERROR | @Trigger_Error(500);
 }
 #-------------------------------------------------------------------------------
Exemple #18
0
        return ERROR | @Trigger_Error(500);
    case 'exception':
        # No more...
        break;
    case 'array':
        #---------------------------------------------------------------------------
        foreach ($Tasks as $Task) {
            #-------------------------------------------------------------------------
            $XML = String_XML_Parse($Task['Params']);
            if (Is_Exception($XML)) {
                continue;
            }
            #-------------------------------------------------------------------------
            $Array = $XML->ToArray();
            #-------------------------------------------------------------------------
            if (!isset($Array['XML'])) {
                return ERROR | @Trigger_Error(500);
            }
            #-------------------------------------------------------------------------
            $IsUpdate = DB_Update('Tasks', array('Params' => JSON_Encode($Array['XML'])), array('ID' => $Task['ID']));
            if (Is_Error($IsUpdate)) {
                return ERROR | @Trigger_Error(500);
            }
        }
        break;
    default:
        return ERROR | @Trigger_Error(101);
}
#-------------------------------------------------------------------------------
return TRUE;
#-------------------------------------------------------------------------------
     #-----------------------------------------------------------------------
     if (Mb_StrLen($Customer) > 20) {
         $Customer = SPrintF('%s...', Mb_SubStr($Customer, 0, 20));
     }
     #-----------------------------------------------------------------------
     $Options[$Contract['ID']] = $Customer;
 }
 #-------------------------------------------------------------------------
 $Comp = Comp_Load('Form/Select', array('name' => 'ContractID'), $Options);
 if (Is_Error($Comp)) {
     return ERROR | @Trigger_Error(500);
 }
 #-------------------------------------------------------------------------
 $NoBody = new Tag('NOBODY', $Comp);
 #-------------------------------------------------------------------------
 $Window = JSON_Encode(array('Url' => '/API/OrdersTransfer', 'Args' => array()));
 #-------------------------------------------------------------------------
 $A = new Tag('A', array('href' => SPrintF("javascript:ShowWindow('/ContractMake',{Window:'%s'});", Base64_Encode($Window))), '[новый]');
 #-------------------------------------------------------------------------
 $NoBody->AddChild($A);
 #-------------------------------------------------------------------------
 $Table = array(array('Базовый договор', $NoBody));
 #-------------------------------------------------------------------------
 $Comp = Comp_Load('Form/Input', array('type' => 'button', 'name' => 'Submit', 'onclick' => "FormEdit('/API/OrdersTransfer','OrdersTransferForm','Перенос услуги на выбранный договор');", 'value' => 'Перенести'));
 #---------------------------------------------------------------------
 if (Is_Error($Comp)) {
     return ERROR | @Trigger_Error(500);
 }
 #---------------------------------------------------------------------
 $Table[] = $Comp;
 #---------------------------------------------------------------------
Exemple #20
0
                    break;
                case 'ContractEnclosure':
                    #---------------------------------------------------------------------
                    $UniqID = Explode(':', $MotionDocument['UniqID']);
                    #---------------------------------------------------------------------
                    $AjaxCall = array('Url' => '/ContractEnclosureDownload', 'Args' => array('ContractEnclosureID' => Next($UniqID)));
                    break;
                case 'WorksCompliteReport':
                    #---------------------------------------------------------------------
                    $UniqID = Explode(':', $MotionDocument['UniqID']);
                    #---------------------------------------------------------------------
                    $UniqID = Explode('/', Next($UniqID));
                    #---------------------------------------------------------------------
                    $AjaxCall = array('Url' => '/WorksCompliteReportDownload', 'Args' => array('ContractID' => $MotionDocument['ContractID'], 'Month' => Next($UniqID)));
                    break;
                default:
                    continue 2;
            }
            #-------------------------------------------------------------------------
            $IsUpdate = DB_Update('MotionDocuments', array('AjaxCall' => JSON_Encode($AjaxCall)), array('ID' => $MotionDocument['ID']));
            if (Is_Error($IsUpdate)) {
                return ERROR | @Trigger_Error(500);
            }
        }
        break;
    default:
        return ERROR | @Trigger_Error(101);
}
#-------------------------------------------------------------------------------
return TRUE;
#-------------------------------------------------------------------------------
         $Customer = SPrintF('%s...', Mb_SubStr($Customer, 0, 20));
     }
     #-------------------------------------------------------------------------------
     $Options[$Contract['ID']] = SPrintF('#%s / %s', $Number, $Customer);
     #-------------------------------------------------------------------------------
 }
 #-------------------------------------------------------------------------------
 $Comp = Comp_Load('Form/Select', array('name' => 'ContractID'), $Options, $ContractID);
 if (Is_Error($Comp)) {
     return ERROR | @Trigger_Error(500);
 }
 #-------------------------------------------------------------------------------
 $NoBody = new Tag('NOBODY', $Comp);
 #-------------------------------------------------------------------------------
 #-------------------------------------------------------------------------------
 $Window = JSON_Encode(array('Url' => '/DNSmanagerOrder', 'Args' => array()));
 #-------------------------------------------------------------------------------
 $A = new Tag('A', array('href' => SPrintF("javascript:ShowWindow('/ContractMake',{Window:'%s'});", Base64_Encode($Window))), '[новый]');
 #-------------------------------------------------------------------------------
 $NoBody->AddChild($A);
 #-------------------------------------------------------------------------------
 $Table = array(array('Базовый договор', $NoBody));
 #-------------------------------------------------------------------------------
 $UniqID = UniqID('DNSmanagerSchemes');
 #-------------------------------------------------------------------------------
 $Comp = Comp_Load('Services/Schemes', 'DNSmanagerSchemes', $__USER['ID'], array('Name', 'ServersGroupID'), $UniqID);
 if (Is_Error($Comp)) {
     return ERROR | @Trigger_Error(500);
 }
 #-------------------------------------------------------------------------------
 $Columns = array('ID', 'Name', 'ServersGroupID', 'Comment', 'CostMonth', 'DomainLimit', '(SELECT `Name` FROM `ServersGroups` WHERE `ServersGroups`.`ID` = `ServersGroupID`) as `ServersGroupName`', '(SELECT `Comment` FROM `ServersGroups` WHERE `ServersGroups`.`ID` = `ServersGroupID`) as `ServersGroupComment`', '(SELECT `SortID` FROM `ServersGroups` WHERE `ServersGroups`.`ID` = `ServersGroupID`) as `ServersGroupSortID`');
Exemple #22
0
     }
 }
 #-------------------------------------------------------------------------------
 #-------------------------------------------------------------------------------
 # строим массив параметров подстановки
 foreach (Array_Keys($Template) as $Key) {
     if ($Key != 'SystemID') {
         continue;
     }
     #-------------------------------------------------------------------------------
     if (Is_Array($Template[$Key])) {
         #-------------------------------------------------------------------------------
         $Script = array('var Settings = {};');
         #-------------------------------------------------------------------------------
         foreach (Array_Keys($Template[$Key]) as $SystemID) {
             $Script[] = SPrintF("Settings['%s'] = %s;", $SystemID, JSON_Encode($Template[$Key][$SystemID]['Settings']));
         }
         #-------------------------------------------------------------------------------
         $Script[] = "function SettingsUpdate(){\nvar \$Form = document.forms['ServerEditForm'];\nvar \$System = Settings[\$Form.{$Key}.value];\nfor(var i in \$System)\n\$Form[i].value = \$System[i];\n}";
         #-------------------------------------------------------------------------------
         $DOM->AddChild('Head', new Tag('SCRIPT', Implode("\n", $Script)));
         #-------------------------------------------------------------------------------
     }
     #-------------------------------------------------------------------------------
 }
 #-------------------------------------------------------------------------------
 #-------------------------------------------------------------------------------
 $Comp = Comp_Load('Form/Input', array('name' => 'TemplateID', 'type' => 'hidden', 'value' => $TemplateID));
 if (Is_Error($Comp)) {
     return ERROR | @Trigger_Error(500);
 }
 #-------------------------------------------------------------------------------
 $Server = DB_Select('Servers', array('*'), array('UNIQ', 'ID' => $Order['ServerID']));
 #-------------------------------------------------------------------------------
 switch (ValueOf($Server)) {
     case 'error':
         return ERROR | @Trigger_Error(500);
     case 'exception':
         break;
     case 'array':
         break;
     default:
         return ERROR | @Trigger_Error(101);
 }
 #-------------------------------------------------------------------------------
 #-------------------------------------------------------------------------------
 Exec(SPrintF('"%s" "%s" "OnCreate" "%s" "%s" "%s" 2>&1', $File, $Order['Email'], $Number, $Order['Keys'], Is_Array($Server) ? Base64_Encode(JSON_Encode($Server)) : 'server not exists'), $Out, $ReturnValue);
 #-------------------------------------------------------------------------------
 Debug(SPrintF('[comp/Tasks/ServiceCreate]: exec return code = %s, Out = %s', $ReturnValue, print_r($Out, true)));
 #-------------------------------------------------------------------------------
 if ($ReturnValue != 0) {
     return new gException('ERROR_EXECUTE_COMMAND', 'Произошла ошибка при выполнении команды назначенной статусу');
 }
 #-------------------------------------------------------------------------------
 #-------------------------------------------------------------------------------
 $Comp = Comp_Load('www/API/StatusSet', array('ModeID' => 'Orders', 'StatusID' => 'Active', 'RowsIDs' => $ServiceOrderID, 'Comment' => 'Заказ создан', 'IsNoTrigger' => TRUE));
 #-------------------------------------------------------------------------------
 switch (ValueOf($Comp)) {
     case 'error':
         return ERROR | @Trigger_Error(500);
     case 'exception':
         return ERROR | @Trigger_Error(400);
Exemple #24
0
        $PSA .= '<hr class="dotted">';
    }
    $PSA .= File_Get_Contents('psa.txt');
}
if ($PSA != false) {
    $Answer['psa'] = $PSA;
    unset($PSA);
}
$Raw = $Answer['report'];
foreach ($Raw as $Service => $Report) {
    $Downs = (int) $m->get('mc_status_' . $Service);
    if ($Report['status'] === MinecraftStatusChecker::STATUS_OFFLINE) {
        $Answer['report'][$Service]['downtime'] = '±' . ++$Downs;
    }
}
$m->set('mc_status', JSON_Encode($Answer), 1800);
unset($Downs, $Report, $Service, $Answer);
/*
 * Downtime reporting
 */
$ProperNames = array('login' => 'Login Service', 'session' => 'Multiplayer Sessions', 'website' => 'Minecraft Website', 'skins' => 'Player Skins', 'realms' => 'Minecraft Realms');
$ProperNameAdj = array('login' => 'is', 'session' => 'are', 'website' => 'is', 'skins' => 'are', 'realms' => 'are');
if ($BackOnline = $m->get('mc_status_back_online')) {
    $m->delete('mc_status_back_online');
    foreach ($BackOnline as $Service => $Downs) {
        if ($Raw[$Service] === MinecraftStatusChecker::STATUS_OFFLINE) {
            $m->set('mc_status_' . $Service, ++$Downs, 120);
        } else {
            $Adj = $ProperNameAdj[$Service];
            //Tweet( ' ✔ ' . $ProperNames[ $Service ] . ' ' . $Adj . ' back online, ' . ( $Adj === 'is' ? 'it was' : 'they were' ) . ' down for ' . $Downs . ' minutes', Time( ) - 60 );
        }
Exemple #25
0
 private function HandleResponse($File, $Data)
 {
     if ($File === 'API/SupportedAPIList.json') {
         $Data = JSON_Decode($Data, true);
         if (!isset($Data['apilist']['interfaces'])) {
             return false;
         }
         foreach ($Data['apilist']['interfaces'] as $Interface) {
             $File = __DIR__ . '/API/' . $Interface['name'] . '.json';
             $Interface = JSON_Encode($Interface, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES) . PHP_EOL;
             if (!File_Exists($File) || StrCmp(File_Get_Contents($File), $Interface) !== 0) {
                 File_Put_Contents($File, $Interface);
             }
         }
         return true;
     } else {
         if ($File === 'ClientManifest/steam_client_publicbeta_osx' || $File === 'ClientManifest/steam_cmd_publicbeta_osx') {
             foreach ($this->ClientArchives as $Archive) {
                 if (Preg_Match('/"' . Str_Replace('.', '\\.', $Archive) . '\\.([a-f0-9]{40})"/m', $Data, $Test) === 1) {
                     $Test = $Test[1];
                     if (!isset($this->ETags[$Archive]) || $this->ETags[$Archive] !== $Test) {
                         $this->Log('Downloading {lightblue}' . $Archive . '{normal} - checksum: ' . $Test);
                         $this->ETags[$Archive] = $Test;
                         $this->URLsToFetch[] = array('URL' => 'https://steamcdn-a.akamaihd.net/client/' . $Archive . '.' . $Test, 'File' => '.support/' . $Archive);
                     } else {
                         $this->Log('Matched {lightblue}' . $Archive . '{normal}, but we already have it cached');
                     }
                 } else {
                     $this->Log('{yellow}Failed to find {lightblue}' . $Archive);
                 }
             }
             unset($Test);
         } else {
             if ($File === 'Random/ValveGroup.json' || $File === 'Random/SteamModerators.json') {
                 LibXML_Use_Internal_Errors(true);
                 $Data = SimpleXML_Load_String($Data);
                 if ($Data === false || empty($Data->members->steamID64)) {
                     return false;
                 }
                 $Data = Array_Values((array) $Data->members->steamID64);
                 Sort($Data);
                 $Data = JSON_Encode($Data, JSON_PRETTY_PRINT);
             } else {
                 if ($File === 'Scripts/Dota2/heropickerdata.json') {
                     $Data = JSON_Decode($Data, true);
                     $Data = JSON_Encode($Data, JSON_PRETTY_PRINT);
                 } else {
                     if ($File === 'Scripts/Dota2/heropedia.js') {
                         $Data = preg_replace('/\\?v=[0-9]+/', '?v=ayyvalve', $Data);
                     } else {
                         if (SubStr($File, 0, 13) === 'ItemSchemaURL') {
                             $Data = JSON_Decode($Data, true);
                             if (isset($Data['result']['items_game_url'])) {
                                 $this->URLsToFetch[] = array('URL' => $Data['result']['items_game_url'], 'File' => str_replace('ItemSchemaURL', 'ItemSchema', $File));
                             }
                             return true;
                         } else {
                             if (SubStr($File, -4) === '.zip') {
                                 $File = __DIR__ . '/' . $File;
                                 File_Put_Contents($File, $Data);
                                 $Archive = SubStr(StrrChr($File, '/'), 1);
                                 if (SHA1_File($File) !== $this->ETags[$Archive]) {
                                     $this->Log('{lightred}Checksum mismatch for ' . $Archive);
                                     return false;
                                 }
                                 $this->ExtractClientArchives = true;
                                 return true;
                             } else {
                                 if (SubStr($File, -5) === '.html') {
                                     if (StrrPos($Data, '</html>') === false) {
                                         return false;
                                     }
                                 }
                             }
                         }
                     }
                 }
             }
         }
     }
     $File = __DIR__ . '/' . $File;
     $Folder = dirname($File);
     if (!is_dir($Folder)) {
         $this->Log('{lightblue}Creating ' . $Folder);
         mkdir($Folder, 0755, true);
     }
     if (File_Exists($File) && StrCmp(File_Get_Contents($File), $Data) === 0) {
         return false;
     }
     File_Put_Contents($File, $Data);
     return true;
 }
Exemple #26
0
    }
    #-------------------------------------------------------------------------------
    $File = SubStr($File, StrLen(SYSTEM_PATH) + 1);
    #-------------------------------------------------------------------------------
    $Snapshot[SPrintF('MD5%s', MD5(SPrintF('%s-%s', $MD5, MD5($File))))] = $File;
    #-------------------------------------------------------------------------------
}
#-------------------------------------------------------------------------------
#-------------------------------------------------------------------------------
echo "Запрос обновлений\n";
#-------------------------------------------------------------------------------
$Config = Config();
#-------------------------------------------------------------------------------
$Server = $Config['Update']['Server'];
#-------------------------------------------------------------------------------
$Answer = HTTP_Send('/GetUpdate', $Server, array('HostsIDs' => Implode(',', $HostsIDs)), array('Snapshot' => JSON_Encode($Snapshot)));
if (Is_Error($Answer)) {
    return "ERROR: не удалось выполнить запрос к серверу\n";
}
#-------------------------------------------------------------------------------
echo "Ответ получен\n--\n";
#-------------------------------------------------------------------------------
$Answer = @JSON_Decode($Answer['Body'], TRUE);
if (!Is_Array($Answer)) {
    return SPrintF("---\n%s\n---\n", Implode("\n", Array_Slice($__SYSLOG, Count($__SYSLOG) - 20)));
}
#-------------------------------------------------------------------------------
switch ($Answer['Status']) {
    case 'Error':
        return SPrintF("---\n%s\n---\n", Implode("\n", Array_Slice($__SYSLOG, Count($__SYSLOG) - 20)));
    case 'Exception':
Exemple #27
0
     return ERROR | @Trigger_Error(500);
 case 'exception':
     #-------------------------------------------------------------------------
     $Args = array('TypeID' => $TypeID);
     #-------------------------------------------------------------------------
     if ($Window) {
         $Args['Window'] = $Window;
     }
     #-------------------------------------------------------------------------
     $Window = JSON_Encode(array('Url' => '/ContractMake', 'Args' => $Args));
     #-------------------------------------------------------------------------
     $Params = array('TemplateID' => $TypeID, 'Window' => Base64_Encode($Window));
     #-------------------------------------------------------------------------
     if ($IsSimple) {
         #-----------------------------------------------------------------------
         $Simple = @JSON_Encode($Type['Simple']);
         if (!$Simple) {
             return ERROR | @Trigger_Error(500);
         }
         #-----------------------------------------------------------------------
         $Params['Simple'] = Base64_Encode($Simple);
     }
     #-------------------------------------------------------------------------
     $Comp = Comp_Load('www/ProfileEdit', $Params);
     if (Is_Error($Comp)) {
         return ERROR | @Trigger_Error(500);
     }
     #-------------------------------------------------------------------------
     return $Comp;
 case 'array':
     #-------------------------------------------------------------------------