示例#1
0
 # create message
 $n = 8 - StrLen($Result) % 8;
 #-------------------------------------------------------------------------------
 $pad = Str_Pad($Result, StrLen($Result) + $n, ' ');
 #-------------------------------------------------------------------------------
 # crypt message
 $crypted = mcrypt_encrypt(MCRYPT_3DES, $key, $pad, MCRYPT_MODE_ECB, "");
 #-------------------------------------------------------------------------------
 $Result = "qiwi" . Str_Pad($Settings['Send']['from'], 10, "0", STR_PAD_LEFT) . "\n";
 #-------------------------------------------------------------------------------
 $Result .= base64_encode($crypted);
 #-------------------------------------------------------------------------------
 # send message to QIWI server
 $HTTP = array('Protocol' => $Settings['Send']['UseSSL'] ? 'ssl' : 'tcp', 'Port' => $Settings['Send']['UseSSL'] ? '443' : '80', 'Address' => 'ishop.qiwi.ru', 'Host' => 'ishop.qiwi.ru', 'IsLogging' => $Settings['IsLogging']);
 #-------------------------------------------------------------------------------
 $Send = HTTP_Send('/xml', $HTTP, array(), $Result, array('Content-type: text/xml; encoding=utf-8'));
 #-------------------------------------------------------------------------------
 if (Is_Error($Send)) {
     return TRUE;
 }
 #-------------------------------------------------------------------------------
 # parse XML
 if (Mb_StrLen($Send['Body']) == 0) {
     #-------------------------------------------------------------------------------
     Debug(SPrintF('[comp/comp/Tasks/GC/QIWI]: Body zero size'));
     #-------------------------------------------------------------------------------
     return TRUE;
     #-------------------------------------------------------------------------------
 }
 #-------------------------------------------------------------------------------
 $XML = String_XML_Parse($Send['Body']);
示例#2
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']);
}
示例#3
0
文件: Plesk.php 项目: carriercomm/jbs
function Plesk_Password_Change($Settings, $Login, $Password, $Params)
{
    /****************************************************************************/
    $__args_types = array('array', 'string', 'string', 'array');
    #-----------------------------------------------------------------------------
    $__args__ = Func_Get_Args();
    eval(FUNCTION_INIT);
    /****************************************************************************/
    $packet = new Tag('packet', array('version' => '1.4.2.0'));
    #-----------------------------------------------------------------------------
    $set = new Tag('set', new Tag('filter', new Tag('login', $Login)), new Tag('values', new Tag('gen_info', new Tag('passwd', $Password))));
    #-----------------------------------------------------------------------------
    $packet->AddChild(new Tag('client', $set));
    #-----------------------------------------------------------------------------
    $Request = SPrintF("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n%s", $packet->ToXMLString());
    #-----------------------------------------------------------------------------
    $Headers = array('Content-Type: text/xml', SPrintF('HTTP_AUTH_LOGIN: %s', $Settings['Login']), SPrintF('HTTP_AUTH_PASSWD: %s', $Settings['Password']));
    #-----------------------------------------------------------------------------
    $HTTP = array('Address' => $Settings['IP'], 'Port' => $Settings['Port'], 'Host' => $Settings['Address'], 'Protocol' => $Settings['Protocol'], 'Hidden' => $Settings['Password'], 'IsLogging' => $Settings['Params']['IsLogging']);
    #-----------------------------------------------------------------------------
    $Response = HTTP_Send('/enterprise/control/agent.php', $HTTP, array(), $Request, $Headers);
    if (Is_Error($Response)) {
        return ERROR | @Trigger_Error('[Plesk_Password_Change]: не удалось соедениться с сервером');
    }
    #-----------------------------------------------------------------------------
    $Response = Trim($Response['Body']);
    #-----------------------------------------------------------------------------
    $XML = String_XML_Parse($Response);
    if (Is_Exception($XML)) {
        return new gException('WRONG_SERVER_ANSWER', $Response, $XML);
    }
    #-----------------------------------------------------------------------------
    $XML = $XML->ToArray();
    #-----------------------------------------------------------------------------
    $Result = $XML['packet']['client']['set']['result'];
    #-----------------------------------------------------------------------------
    switch ($Result['status']) {
        case 'ok':
            return TRUE;
        case 'error':
            #--------------------------------------------------------------------------
            Debug(SPrintF('[%u]=(%s)', $Result['errcode'], $Result['errtext']));
            #--------------------------------------------------------------------------
            return new gException('SERVER_ERROR', Trim($Result['errtext']));
        default:
            return new gException('WRONG_ANSWER', 'Неизвестный ответ');
    }
}
示例#4
0
function IspManager4_Check_Version($Settings)
{
    /******************************************************************************/
    $__args_types = array('array', 'string');
    #-------------------------------------------------------------------------------
    $__args__ = Func_Get_Args();
    eval(FUNCTION_INIT);
    /******************************************************************************/
    $HTTP = IspManager4_Build_HTTP($Settings);
    #-------------------------------------------------------------------------------
    $authinfo = SPrintF('%s:%s', $Settings['Login'], $Settings['Password']);
    #-------------------------------------------------------------------------------
    # достаём информацию о лицензии
    $Response = HTTP_Send('/ispmgr', $HTTP, array(), array('authinfo' => $authinfo, 'out' => 'xml', 'func' => 'softinfo'));
    if (Is_Error($Response)) {
        return new gException('NOT_CONNECTED_TO_SERVER', 'Не удалось соедениться с сервером');
    }
    #-------------------------------------------------------------------------------
    $Response = Trim($Response['Body']);
    #-------------------------------------------------------------------------------
    $XML = String_XML_Parse($Response);
    if (Is_Exception($XML)) {
        return new gException('WRONG_SERVER_ANSWER', $Response, $XML);
    }
    #-------------------------------------------------------------------------------
    $XML = $XML->ToArray();
    #-------------------------------------------------------------------------------
    $Info = $XML['doc'];
    #-------------------------------------------------------------------------------
    if (isset($Info['error'])) {
        return new gException('GET_LICENSE_INFO_ERROR', $Info['error']);
    }
    #-------------------------------------------------------------------------------
    #-------------------------------------------------------------------------------
    return Preg_Match('/Lite/', $Info['mgrver']) ? 'Lite' : 'Pro';
    #-------------------------------------------------------------------------------
    #-------------------------------------------------------------------------------
}
示例#5
0
function InternetBS_Domain_Prolong($Settings, $DomainName, $DomainZone, $Years, $CustomerID, $DomainID)
{
    /****************************************************************************/
    $__args_types = array('array', 'string', 'string', 'integer', 'string');
    #-----------------------------------------------------------------------------
    $__args__ = Func_Get_Args();
    eval(FUNCTION_INIT);
    /****************************************************************************/
    $HTTP = array('Address' => $Settings['Address'], 'Port' => $Settings['Port'], 'Host' => $Settings['Address'], 'Protocol' => $Settings['Protocol'], 'Charset' => 'utf8', 'IsLogging' => $Settings['Params']['IsLogging']);
    $username = $Settings['Login'];
    $password = $Settings['Password'];
    $tld = $DomainZone;
    $sld = $DomainName;
    $regperiod = $Years;
    $domainName = $sld . '.' . $tld;
    $apiServerUrl = 'https://' . $Settings['Address'] . '/';
    $commandUrl = $apiServerUrl . 'Domain/Renew';
    $data = array('apikey' => $username, 'password' => $password, 'domain' => $domainName);
    if ($regperiod > 0) {
        $data['period'] = $regperiod . "Y";
    }
    $Result = HTTP_Send($commandUrl, $HTTP, array(), $data);
    if (Is_Error($Result)) {
        return ERROR | @Trigger_Error('[InternetBS_Domain_Register]:не удалось выполнить запрос к серверу');
    }
    #-----------------------------------------------------------------------------
    $Result = Trim($Result['Body']);
    #-----------------------------------------------------------------------------
    $Result = internetbs_parseResult($Result);
    #-----------------------------------------------------------------------------
    if (isset($Result['product_0_status'])) {
        if ($Result['product_0_status'] == 'SUCCESS') {
            return array('TicketID' => $domainName);
        }
    } else {
        if ($Result['status'] == 'FAILURE') {
            return new gException('REGISTRATOR_ERROR', 'Регистратор вернул ошибку');
        }
    }
    return new gException('WRONG_ANSWER', $Result);
}
示例#6
0
}
#-------------------------------------------------------------------------------
#-------------------------------------------------------------------------------
$IsInitDB = DB_Select('Config', 'Value', array('UNIQ', 'Where' => "`Param` = 'IsInitDB'"));
#-------------------------------------------------------------------------------
switch (ValueOf($IsInitDB)) {
    case 'error':
        return ERROR | @Trigger_Error(500);
    case 'exception':
        # No more...
        break;
    case 'array':
        #-------------------------------------------------------------------------------
        if ($IsInitDB['Value'] != 'TRUE') {
            #-------------------------------------------------------------------------------
            $Answer = HTTP_Send('/Patches', array('Address' => HOST_ID, 'Host' => HOST_ID, 'Port' => @$_SERVER['SERVER_PORT']));
            if (Is_Error($Answer)) {
                return ERROR | @Trigger_Error(500);
            }
            #-------------------------------------------------------------------------------
            $Answer = Explode("\n", $Answer['Body']);
            #-------------------------------------------------------------------------------
            $Result = $Answer[Count($Answer) - 1];
            #-------------------------------------------------------------------------------
            $__MESSAGES[] = $Result != '[OK]' ? SPrintF('Ошибка структурирования базы данных (%s)', $Result) : 'Обнаружен первый запуск системы. Произведено структурирование базы данных.';
            #-------------------------------------------------------------------------------
            # исправляем юзеров
            $Comp = Comp_Load('Tasks/RecoveryUsers', NULL, FALSE);
            #-------------------------------------------------------------------------------
            if (Is_Error($Comp)) {
                return ERROR | @Trigger_Error(500);
示例#7
0
function IspManager5_Service_Restart($Settings, $Service)
{
    /******************************************************************************/
    $__args_types = array('array', 'string');
    $__args__ = Func_Get_Args();
    eval(FUNCTION_INIT);
    /******************************************************************************/
    $HTTP = IspManager5_Build_HTTP($Settings);
    #-------------------------------------------------------------------------------
    $authinfo = SPrintF('%s:%s', $Settings['Login'], $Settings['Password']);
    #-------------------------------------------------------------------------------
    # достаём список сервисов
    $Response = HTTP_Send('/ispmgr', $HTTP, array(), array('authinfo' => $authinfo, 'out' => 'xml', 'func' => 'services'));
    if (Is_Error($Response)) {
        return new gException('NOT_CONNECTED_TO_SERVER', 'Не удалось соедениться с сервером');
    }
    #-------------------------------------------------------------------------------
    $Response = Trim($Response['Body']);
    #-------------------------------------------------------------------------------
    $XML = String_XML_Parse($Response);
    if (Is_Exception($XML)) {
        return new gException('WRONG_SERVER_ANSWER', $Response, $XML);
    }
    #-------------------------------------------------------------------------------
    $XML = $XML->ToArray('elem');
    #-------------------------------------------------------------------------------
    $Services = $XML['doc'];
    #-------------------------------------------------------------------------------
    if (isset($Services['error'])) {
        return new gException('GET_SERVCES_ERROR', $Services['error']);
    }
    #-------------------------------------------------------------------------------
    #Debug(SPrintF('[IspManager5_Service_Restart]: Services = %s',print_r($Services,true)));
    #-------------------------------------------------------------------------------
    # проверяем наличие такого сервиса
    foreach (Array_Keys($Services) as $ParamID) {
        if (isset($Services[$ParamID]['name'])) {
            if ($Services[$ParamID]['name'] == $Service) {
                $Exist = TRUE;
            }
        }
    }
    #-------------------------------------------------------------------------------
    # рестартуем сервис, при наличии
    if (isset($Exist)) {
        #-------------------------------------------------------------------------------
        $Request = array('authinfo' => $authinfo, 'out' => 'xml', 'func' => 'services.restart', 'elid' => $Service);
        #-------------------------------------------------------------------------------
        $Response = HTTP_Send('/ispmgr', $HTTP, array(), $Request);
        if (Is_Error($Response)) {
            return ERROR | @Trigger_Error('[IspManager5_Service_Restart]: не удалось соедениться с сервером');
        }
        #-------------------------------------------------------------------------------
    }
    #-------------------------------------------------------------------------------
    #-------------------------------------------------------------------------------
    return TRUE;
    #-------------------------------------------------------------------------------
    #-------------------------------------------------------------------------------
}
示例#8
0
function MasterName_Get_Contract($Settings, $TicketID)
{
    /****************************************************************************/
    $__args_types = array('array', 'string');
    #-----------------------------------------------------------------------------
    $__args__ = Func_Get_Args();
    eval(FUNCTION_INIT);
    /****************************************************************************/
    $HTTP = array('Address' => $Settings['Address'], 'Port' => $Settings['Port'], 'Host' => $Settings['Address'], 'Protocol' => $Settings['Protocol'], 'Charset' => 'CP1251', 'IsLogging' => $Settings['Params']['IsLogging']);
    #-----------------------------------------------------------------------------
    $Query = array();
    #-----------------------------------------------------------------------------
    $Query[] = '[request]';
    $Query[] = SPrintF('login: %s', $Settings['Login']);
    $Query[] = SPrintF('password: %s', $Settings['Password']);
    $Query[] = 'action: request_status';
    $Query[] = SPrintF('request-id: %s', $TicketID);
    #-----------------------------------------------------------------------------
    $Query = array('request' => Implode("\n", $Query));
    #-----------------------------------------------------------------------------
    $Result = HTTP_Send('/partner_gateway', $HTTP, array(), $Query);
    if (Is_Error($Result)) {
        return ERROR | @Trigger_Error('[MasterName_Check_Task]:не удалось выполнить запрос к серверу');
    }
    #-----------------------------------------------------------------------------
    $Result = Trim($Result['Body']);
    #-----------------------------------------------------------------------------
    if (Preg_Match('/status:\\s([0-9]+)\\s/', $Result, $CodeID)) {
        #---------------------------------------------------------------------------
        $CodeID = Next($CodeID);
        #---------------------------------------------------------------------------
        switch ($CodeID) {
            case '200':
                return FALSE;
            case '201':
                return FALSE;
            case '202':
                #-----------------------------------------------------------------------
                if (Preg_Match('/client:\\s([0-9]+\\/[A-Z\\-]+)\\n/', $Result, $Contract)) {
                    return array('ContractID' => Next($Contract));
                }
                #-----------------------------------------------------------------------
                return new gException('REQUEST_FAILED', 'Не удалось определить клиентский номер договора');
            case '203':
                return new gException('REQUEST_FAILED', 'Обработка запроса завершилась с ошибкой');
            case '400':
                return new gException('BAD_REQUEST', 'Неверный формат запроса');
            case '401':
                return new gException('AUTH_ERROR', 'Ошибка авторизации');
            case '402':
                return new gException('DATA_ERROR', 'Ошибка в данных запроса');
            case '403':
                return new gException('FORBIDDEN', 'Доступ к запрашиваемому объекту запрещен');
            case '404':
                return new gException('NOT_FOUND', 'Запрашиваемый объект не найден');
            case '405':
                return new gException('INVALID_REQUEST', 'Невозможно выполнить запрос');
            case '500':
                return new gException('SERVER_ERROR', 'Внутренняя ошибка сервера');
            default:
                return new gException('WRONG_ERROR', 'Неизвестный статус ошибки');
        }
    }
    #-----------------------------------------------------------------------------
    return new gException('WRONG_ANSWER', $Result);
}
示例#9
0
#-------------------------------------------------------------------------------
#-------------------------------------------------------------------------------
$Config = Config();
#-------------------------------------------------------------------------------
$Settings = $Config['Tasks']['Types']['GC']['CourseUpdateSettings'];
#-------------------------------------------------------------------------------
if (!$Settings['IsActive']) {
    return TRUE;
}
#-------------------------------------------------------------------------------
$Request = array('date_req' => SPrintF('%s/%s/%s', Date('d'), Date('m'), Date('Y')));
#-------------------------------------------------------------------------------
$HTTP = array('Address' => 'www.cbr.ru', 'Host' => 'www.cbr.ru', 'Port' => '80');
#-------------------------------------------------------------------------------
#$Response = HTTP_Send('/scripts/XML_daily.asp',$HTTP,$Request);
$Response = HTTP_Send('/scripts/XML_daily_eng.asp', $HTTP, $Request);
if (Is_Error($Response)) {
    return TRUE;
}
#-------------------------------------------------------------------------------
if (!Preg_Match('/HTTP\\/1\\.1\\s200/', $Response['Heads'])) {
    return TRUE;
}
#-------------------------------------------------------------------------------
#-------------------------------------------------------------------------------
$XML = String_XML_Parse($Response['Body']);
if (Is_Exception($XML)) {
    return ERROR | @Trigger_Error(500);
}
#-------------------------------------------------------------------------------
$XML = $XML->ToArray('Valute');
示例#10
0
function DNSmanager5_Password_Change($Settings, $Login, $Password, $Params)
{
    /******************************************************************************/
    $__args_types = array('array', 'string', 'string', 'array');
    #-------------------------------------------------------------------------------
    $__args__ = Func_Get_Args();
    eval(FUNCTION_INIT);
    /******************************************************************************/
    $authinfo = SPrintF('%s:%s', $Settings['Login'], $Settings['Password']);
    #-------------------------------------------------------------------------------
    $HTTP = array('Address' => $Settings['Address'], 'Port' => $Settings['Port'], 'Host' => $Settings['Address'], 'Protocol' => $Settings['Protocol'], 'Hidden' => $authinfo, 'IsLogging' => $Settings['Params']['IsLogging']);
    #-------------------------------------------------------------------------------
    $Request = array('authinfo' => $authinfo, 'out' => 'xml', 'func' => 'usrparam', 'su' => $Login, 'sok' => 'ok', 'atype' => 'atany', 'password' => $Password, 'confirm' => $Password);
    #-------------------------------------------------------------------------------
    $Response = HTTP_Send('/dnsmgr', $HTTP, array(), $Request);
    if (Is_Error($Response)) {
        return ERROR | @Trigger_Error('[DNSmanager5_Password_Change]: не удалось соедениться с сервером');
    }
    #-------------------------------------------------------------------------------
    $Response = Trim($Response['Body']);
    #-------------------------------------------------------------------------------
    $XML = String_XML_Parse($Response);
    if (Is_Exception($XML)) {
        return ERROR | @Trigger_Error('[DNSmanager5_Password_Change]: неверный ответ от сервера');
    }
    #-------------------------------------------------------------------------------
    $XML = $XML->ToArray();
    #-------------------------------------------------------------------------------
    $Doc = $XML['doc'];
    #-------------------------------------------------------------------------------
    if (isset($Doc['error'])) {
        return new gException('PASSWORD_CHANGE_ERROR', 'Не удалось изменить пароль для заказа вторичного DNS');
    }
    #-------------------------------------------------------------------------------
    return TRUE;
    #-------------------------------------------------------------------------------
}
示例#11
0
function VdsManager4_Get_DiskTemplates($Settings)
{
    /****************************************************************************/
    $__args_types = array('array');
    #-----------------------------------------------------------------------------
    $__args__ = Func_Get_Args();
    eval(FUNCTION_INIT);
    /****************************************************************************/
    $authinfo = SPrintF('%s:%s', $Settings['Login'], $Settings['Password']);
    #-----------------------------------------------------------------------------
    $HTTP = array('Address' => $Settings['Params']['IP'], 'Port' => $Settings['Port'], 'Host' => $Settings['Address'], 'Protocol' => $Settings['Protocol'], 'Hidden' => $authinfo, 'IsLogging' => $Settings['Params']['IsLogging']);
    #-----------------------------------------------------------------------------
    $Response = HTTP_Send('/manager/vdsmgr', $HTTP, array(), array('authinfo' => $authinfo, 'out' => 'xml', 'func' => 'disktempl'));
    if (Is_Error($Response)) {
        return ERROR | @Trigger_Error('[VdsManager4_Get_DiskTemplates]: не удалось соедениться с сервером');
    }
    #-----------------------------------------------------------------------------
    $Response = Trim($Response['Body']);
    #-----------------------------------------------------------------------------
    $XML = String_XML_Parse($Response);
    if (Is_Exception($XML)) {
        return new gException('WRONG_SERVER_ANSWER', $Response, $XML);
    }
    #-----------------------------------------------------------------------------
    $XML = $XML->ToArray('elem');
    #-----------------------------------------------------------------------------
    $Templates = $XML['doc'];
    #-----------------------------------------------------------------------------
    if (isset($Templates['error'])) {
        return new gException('GET_TEMPLATES_ERROR', $Templates['error']);
    }
    #-----------------------------------------------------------------------------
    $Result = array();
    #-----------------------------------------------------------------------------
    foreach ($Templates as $Template) {
        #-----------------------------------------------------------------------------
        if (!isset($Template['name'])) {
            continue;
        }
        #-----------------------------------------------------------------------------
        if ($Template['state'] != 'ok') {
            continue;
        }
        #-----------------------------------------------------------------------------
        $Result[] = $Template['name'];
        #-----------------------------------------------------------------------------
    }
    #-----------------------------------------------------------------------------
    return $Result;
    #-----------------------------------------------------------------------------
}
示例#12
0
function BillManager_Check_ISPsystem_IP($Settings, $ISPswInfo)
{
    /******************************************************************************/
    $__args_types = array('array', 'array');
    #-------------------------------------------------------------------------------
    $__args__ = Func_Get_Args();
    eval(FUNCTION_INIT);
    /******************************************************************************/
    $authinfo = SPrintF('%s:%s', $Settings['Login'], $Settings['Password']);
    #-------------------------------------------------------------------------------
    $HTTP = BillManager_Build_HTTP($Settings);
    #-------------------------------------------------------------------------------
    #-------------------------------------------------------------------------------
    # authinfo=USER:PASSWD&out=xml&func=soft.checkip&pricelist=7&period=1&ip=82.145.17.16
    $Request = array('authinfo' => $authinfo, 'out' => 'xml', 'sok' => 'yes', 'func' => 'soft.checkip', 'pricelist' => $ISPswInfo['pricelist_id'], 'period' => $ISPswInfo['period'], 'ip' => $ISPswInfo['IP']);
    #-------------------------------------------------------------------------------
    $Response = HTTP_Send($Settings['Params']['PrefixAPI'], $HTTP, array(), $Request);
    if (Is_Error($Response)) {
        return ERROR | @Trigger_Error('[BillManager_Check_ISPsystem_IP]: не удалось соедениться с сервером');
    }
    #-----------------------------------------------------------------------------
    $Response = Trim($Response['Body']);
    $XML = String_XML_Parse($Response);
    if (Is_Exception($XML)) {
        return new gException('WRONG_SERVER_ANSWER', $Response, $XML);
    }
    #-------------------------------------------------------------------------------
    $XML = $XML->ToArray();
    #-------------------------------------------------------------------------------
    $Doc = $XML['doc'];
    if (isset($Doc['error'])) {
        return FALSE;
    }
    #-------------------------------------------------------------------------------
    #-------------------------------------------------------------------------------
    return TRUE;
    #-------------------------------------------------------------------------------
    #-------------------------------------------------------------------------------
}
示例#13
0
function NauNet_Check_Task($Settings, $TicketID)
{
    /****************************************************************************/
    $__args_types = array('array', 'string');
    #-----------------------------------------------------------------------------
    $__args__ = Func_Get_Args();
    eval(FUNCTION_INIT);
    /****************************************************************************/
    $HTTP = array('Address' => $Settings['Address'], 'Port' => $Settings['Port'], 'Host' => $Settings['Address'], 'Protocol' => $Settings['Protocol'], 'Charset' => 'KOI8-R', 'IsLogging' => $Settings['Params']['IsLogging']);
    #-----------------------------------------------------------------------------
    $Query = array('action' => 'REQUEST', 'login' => $Settings['Login'], 'passwd' => $Settings['Password'], 'requestid' => $TicketID);
    #-----------------------------------------------------------------------------
    $Result = HTTP_Send('/c/registrar', $HTTP, array(), $Query);
    if (Is_Error($Result)) {
        return ERROR | @Trigger_Error('[NauNet_Check_Task]: не удалось выполнить запрос к серверу');
    }
    #-----------------------------------------------------------------------------
    $Result = Trim($Result['Body']);
    #-----------------------------------------------------------------------------
    if (Preg_Match('/:\\s[0-9]+\\sdone/', $Result)) {
        return array('DomainID' => 0);
    }
    #-----------------------------------------------------------------------------
    if (Preg_Match('/:\\s[0-9]+\\s(registrar_error|dns_check|tc_wait|tc_response|checked|in_progress)/', $Result)) {
        return FALSE;
    }
    #-----------------------------------------------------------------------------
    if (Preg_Match('/:\\s[0-9]+\\s[a-z_]+\\scanceled/', $Result)) {
        return new gException('CANCELED', 'От вас поступил запрос на отмену заявки');
    }
    #-----------------------------------------------------------------------------
    if (Preg_Match('/:\\s[0-9]+\\s[a-z_]+\\sabuse_domain_name/', $Result)) {
        return new gException('ABUSE_DOMAIN_NAME', 'Доменное имя противоречит принципам морали и т.п. Для уточнения деталей обратитесь к регистратору');
    }
    #-----------------------------------------------------------------------------
    if (Preg_Match('/:\\s[0-9]+\\sregistrar_error\\sdocuments_wait/', $Result)) {
        return new gException('DOCUMENTS_WAIT', 'Истек срок ожидания документов для подтверждения (30 дней). Обратитесь к регистратору.');
    }
    #-----------------------------------------------------------------------------
    if (Preg_Match('/:\\s[0-9]+\\sregistrar_error\\smoney_wait/', $Result)) {
        return new gException('DOCUMENTS_WAIT', 'Истек срок ожидания оплаты заявки (30 дней)');
    }
    #-----------------------------------------------------------------------------
    if (Preg_Match('/:\\s[0-9]+\\s[a-z_]+\\swrong_data/', $Result)) {
        return new gException('WRONG_DATA', 'Для выполнения заявки недостаточно данных');
    }
    #-----------------------------------------------------------------------------
    if (Preg_Match('/:\\s[0-9]+\\s[a-z_]+\\swrong_domain/', $Result)) {
        return new gException('WRONG_DOMAIN', 'Название домена не указано или указано неверно');
    }
    #-----------------------------------------------------------------------------
    if (Preg_Match('/:\\s[0-9]+\\s[a-z_]+\\sdomain_already_exist/', $Result)) {
        return new gException('DOMAIN_ALREADY_EXISTS', 'Запрошена регистрация уже существующего домена');
    }
    #-----------------------------------------------------------------------------
    if (Preg_Match('/:\\s[0-9]+\\s[a-z_]+\\sdomain_deleted/', $Result)) {
        return new gException('DOMAIN_DELETED', 'Ранее поступила заявка DELETE, по которой домен был удален. Выполение всех прочих заявок по этому домену отменено');
    }
    #-----------------------------------------------------------------------------
    if (Preg_Match('/:\\s[0-9]+\\s[a-z_]+\\swrong_e-mail/', $Result)) {
        return new gException('WRONG_E_MAIL', 'Не удалось определить email администратора ни из самой заявки, ни в значениях по умолчанию');
    }
    #-----------------------------------------------------------------------------
    if (Preg_Match('/:\\s[0-9]+\\s[a-z_]+\\swrong_date/', $Result)) {
        return new gException('WRONG_DATE', 'Заявка на продление домена подана слишком рано');
    }
    #-----------------------------------------------------------------------------
    if (Preg_Match('/:\\s[0-9]+\\s[a-z_]+\\sblocked_period/', $Result)) {
        return new gException('BLOCKED_PERIOD', 'Для домена, находящегося в периоде блокировки (месяц после окончания регистрации), была подана заявка, отличная от PROLONG');
    }
    #-----------------------------------------------------------------------------
    if (Preg_Match('/:\\s[0-9]+\\s[a-z_]+\\sdelete_period/', $Result)) {
        return new gException('DELETE_PERIOD', 'Для домена, находящегося в периоде блокировки (месяц после окончания регистрации), была подана заявка, отличная от PROLONG');
    }
    #-----------------------------------------------------------------------------
    if (Preg_Match('/:\\s[0-9]+\\s[a-z_]+\\swrong_key_/', $Result)) {
        return new gException('WRONG_KEY', 'Ошибка синтаксиса в каком-либо поле');
    }
    #-----------------------------------------------------------------------------
    if (Preg_Match('/:\\s[0-9]+\\s[a-z_]+\\swrong_dns/', $Result)) {
        return new gException('WRONG_DNS', 'Ошибка в ответах ваших серверов DNS');
    }
    #-----------------------------------------------------------------------------
    if (Preg_Match('/:\\s[0-9]+\\s[a-z_]+\\sunknown_domain/', $Result)) {
        return new gException('UNKNOWN_DOMAIN', 'Заявка по домену, который не зарегистрирован у данного регистратора');
    }
    #-----------------------------------------------------------------------------
    if (Preg_Match('/:\\s[0-9]+\\s[a-z_]+\\swrong_password_trycounter/', $Result)) {
        return new gException('WRONG_PASSWORD_TRYCOUNTER', 'Кол-во попыток ввода пароля превысило допустимое');
    }
    #-----------------------------------------------------------------------------
    if (Preg_Match('/:\\s[0-9]+\\s[a-z_]+\\swrong_password/', $Result)) {
        return new gException('WRONG_PASSWORD', 'Неверный пароль доступа к регистратору');
    }
    #-----------------------------------------------------------------------------
    if (Preg_Match('/:\\s[0-9]+\\s[a-z_]+\\swrong_ident/', $Result)) {
        return new gException('WRONG_IDENT', 'Ошибка идентификации пользователя');
    }
    #-----------------------------------------------------------------------------
    if (Preg_Match('/:\\s[0-9]+\\s[a-z_]+\\sunknown_login/', $Result)) {
        return new gException('WRONG_LOGIN', 'Указано неверное имя пользователя');
    }
    #-----------------------------------------------------------------------------
    if (Preg_Match('/:\\s[0-9]+\\smoney_wait/', $Result)) {
        return new gException('MONEY_WAIT', 'Заявка будет обработана после поступления на счет денежных средств. Пополните баланс.');
    }
    #-----------------------------------------------------------------------------
    return new gException('WRONG_ANSWER', $Result);
}
示例#14
0
文件: RegRu.php 项目: carriercomm/jbs
function RegRu_Domain_Check($Settings, $DomainName, $DomainZone)
{
    /******************************************************************************/
    $__args_types = array('array', 'string', 'string');
    #-------------------------------------------------------------------------------
    $__args__ = Func_Get_Args();
    eval(FUNCTION_INIT);
    /******************************************************************************/
    $Domain = SPrintF('%s.%s', $DomainName, $DomainZone);
    #-------------------------------------------------------------------------------
    $HTTP = RegRu_Build_HTTP($Settings);
    #-------------------------------------------------------------------------------
    $Query = array('username' => $Settings['Login'], 'password' => $Settings['Password'], 'domain_name' => $Domain);
    #-------------------------------------------------------------------------------
    $Settings['PrefixAPI'] = SprintF("https://api.reg.ru/api/regru2/%s", "domain/check");
    #-------------------------------------------------------------------------------
    $Result = HTTP_Send($Settings['PrefixAPI'], $HTTP, array(), $Query);
    if (Is_Error($Result)) {
        return ERROR | @Trigger_Error('[RegRu_Domain_Check]: не удалось выполнить запрос к серверу');
    }
    #-------------------------------------------------------------------------------
    $Result = Trim($Result['Body']);
    #-------------------------------------------------------------------------------
    $Result = Json_Decode($Result, TRUE);
    #-------------------------------------------------------------------------------
    if ($Result['result'] != 'success') {
        return new gException('REGISTRATOR_ERROR', 'Регистратор вернул ошибку');
    }
    #-------------------------------------------------------------------------------
    #Debug(SPrintF('[RegRu_Domain_Check]: %s',print_r($Result,true)));
    #-------------------------------------------------------------------------------
    # перебираем массив, составляем массив на выхлоп функции
    foreach ($Result['answer']['domains'] as $Value) {
        if ($Value['dname'] == $Domain) {
            return TRUE;
        }
    }
    #-------------------------------------------------------------------------------
    #Debug(SPrintF('[RegRu_Domain_Check]: Value = %s;',print_r($Value,true)));
    #-------------------------------------------------------------------------------
    #-------------------------------------------------------------------------------
    return FALSE;
    #-------------------------------------------------------------------------------
    #-------------------------------------------------------------------------------
}
示例#15
0
function Cpanel_Password_Change($Settings, $Login, $Password, $Params)
{
    /****************************************************************************/
    $__args_types = array('array', 'string', 'string', 'array');
    #-----------------------------------------------------------------------------
    $__args__ = Func_Get_Args();
    eval(FUNCTION_INIT);
    /****************************************************************************/
    $HTTP = array('Address' => $Settings['Params']['IP'], 'Port' => $Settings['Port'], 'Host' => $Settings['Address'], 'Protocol' => $Settings['Protocol'], 'Basic' => SPrintF('%s:%s', $Settings['Login'], $Settings['Password']), 'IsLogging' => $Settings['Params']['IsLogging']);
    #-----------------------------------------------------------------------------
    $Request = array('user' => $Login, 'pass' => $Password);
    #-----------------------------------------------------------------------------
    $Response = HTTP_Send('/xml-api/passwd', $HTTP, $Request);
    if (Is_Error($Response)) {
        return ERROR | @Trigger_Error('[Cpanel_Password_Change]: не удалось осуществить запрос');
    }
    #-----------------------------------------------------------------------------
    $Response = Trim($Response['Body']);
    #-----------------------------------------------------------------------------
    if (Preg_Match('/Password\\schanged/', $Response)) {
        return TRUE;
    }
    #-----------------------------------------------------------------------------
    return new gException('WRONG_ANSWER', $Response);
}
示例#16
0
resident:
person-r: Бреславский Антон Вадимович
person: Anton V Breslavskiy
email: anton@breslavsky.ru
phone: +7 905 1551336
fax: +7 905 1551336
birth-date: 1986-03-18
passport-series: 24 05
passport-number: 229835
passport-date: 2003-04-07
passport-org: ОВД Ленинского района г. Иваново
post-country: RU
post-zip-code: 153051
post-region: Ивановская область
post-city: Иваново
post-street: Кохомское, д. 7, кв. 52, Бреславскому Антону Вадимовичу
reg-country: RU
reg-region: Ивановская область
reg-city: Иваново
reg-street: Кохомское, д. 7, кв. 52
EOD;
#-------------------------------------------------------------------------------
$Query = array('request' => SPrintF($Request, UniqID('ID')));
#-------------------------------------------------------------------------------
$Result = HTTP_Send('/partner_gateway', $HTTP, array(), $Query);
if (Is_Error($Result)) {
    return ERROR | @Trigger_Error(500);
}
#-------------------------------------------------------------------------------
print_r($Result);
#-------------------------------------------------------------------------------
示例#17
0
function RuCenter_Contract_Register($Settings, $PepsonID, $Person, $DomainZone)
{
    /****************************************************************************/
    $__args_types = array('array', 'string', 'array', 'string');
    #-----------------------------------------------------------------------------
    $__args__ = Func_Get_Args();
    eval(FUNCTION_INIT);
    /****************************************************************************/
    $HTTP = array('Address' => $Settings['Address'], 'Port' => $Settings['Port'], 'Host' => $Settings['Address'], 'Protocol' => $Settings['Protocol'], 'Charset' => 'KOI8-R', 'IsLogging' => $Settings['Params']['IsLogging']);
    #-----------------------------------------------------------------------------
    $Query = array();
    #---------------------------------------------------------------------------
    $RequestID = UniqID('ID');
    #---------------------------------------------------------------------------
    $Query[] = 'lang: ru';
    $Query[] = 'request: contract';
    $Query[] = 'operation: create';
    $Query[] = SPrintF('login: %s', $Settings['Login']);
    $Query[] = SPrintF('password: %s', $Settings['Password']);
    $Query[] = SPrintF('request-id: %s', $RequestID);
    #---------------------------------------------------------------------------
    $Query[] = '';
    #---------------------------------------------------------------------------
    $Query[] = '[contract]';
    $Query[] = SPrintF('password: %s', UniqID());
    $Query[] = SPrintF('tech-password: %s', UniqID());
    $Query[] = 'currency-id: RUR';
    #---------------------------------------------------------------------------
    $Query[] = '';
    #---------------------------------------------------------------------------
    switch ($PepsonID) {
        case 'Natural':
            #-----------------------------------------------------------------------
            $Query[] = 'contract-type: PRS';
            $Query[] = SPrintF('person: %s %s %s', Translit($Person['Name']), Mb_SubStr(Translit($Person['Lastname']), 0, 1), Translit($Person['Sourname']));
            $Query[] = SPrintF('person-r: %s %s %s', $Person['Sourname'], $Person['Name'], $Person['Lastname']);
            $Query[] = SPrintF('country: %s', isset($Person['PasportCountry']) ? $Person['PasportCountry'] : $Person['pCountry']);
            $Query[] = SPrintF('phone: %s', $Person['Phone']);
            $Query[] = SPrintF('fax-no: %s', $Person['Fax']);
            $Query[] = SPrintF('birth-date: %s', $Person['BornDate']);
            $Query[] = SPrintF('passport: %s %s выдан %s, %s', $Person['PasportLine'], $Person['PasportNum'], $Person['PasportWhom'], $Person['PasportDate']);
            $Query[] = SPrintF('p-addr: %s, %s, %s, %s %s, %s', $Person['pIndex'], $Person['pState'], $Person['pCity'], $Person['pType'], $Person['pAddress'], $Person['pRecipient']);
            $Query[] = SPrintF('e-mail: %s', $Person['Email']);
            break;
        case 'Juridical':
            #-----------------------------------------------------------------------
            $Query[] = 'client-type: ORG';
            $Query[] = SPrintF('org: %s %s', Translit($Person['CompanyName']), Translit($Person['CompanyFormFull']));
            $Query[] = SPrintF('org-r: %s', SPrintF('%s "%s"', $Person['CompanyFormFull'], $Person['CompanyName']));
            $Query[] = SPrintF('country: %s', $Person['jCountry']);
            $Query[] = SPrintF('e-mail: %s', $Person['Email']);
            $Query[] = SPrintF('phone: %s', $Person['Phone']);
            $Query[] = SPrintF('fax-no: %s', $Person['Fax']);
            $Query[] = SPrintF('code: %s', $Person['Inn']);
            $Query[] = SPrintF('kpp: %s', $Person['Kpp']);
            $Query[] = SPrintF('address-r: %s, %s, %s, %s %s', $Person['jIndex'], $Person['jState'], $Person['jCity'], $Person['jType'], $Person['jAddress']);
            $Query[] = SPrintF('p-addr: %s, %s, %s, %s %s, %s "%s"', $Person['pIndex'], $Person['pState'], $Person['pCity'], $Person['pType'], $Person['pAddress'], $Person['CompanyFormFull'], $Person['CompanyName']);
            $Query[] = SPrintF('d-addr: %s, %s, %s, %s %s', $Person['jIndex'], $Person['jState'], $Person['jCity'], $Person['jType'], $Person['jAddress']);
            break;
        default:
            return new gException('WRONG_PROFILE_ID', 'Неверный идентификатор профиля');
    }
    #-----------------------------------------------------------------------------
    $Result = HTTP_Send('/dns/dealer', $HTTP, array(), array('SimpleRequest' => Implode("\n", $Query)));
    if (Is_Error($Result)) {
        return ERROR | @Trigger_Error('[RuCenter_Contract_Register]: не удалось выполнить запрос к серверу');
    }
    #-----------------------------------------------------------------------------
    if (Preg_Match('/HTTP\\/1.0\\s502/i', $Result['Heads'])) {
        return false;
    }
    #-----------------------------------------------------------------------------
    $Result = Trim($Result['Body']);
    #-----------------------------------------------------------------------------
    if (Preg_Match('/State:\\s([0-9]+)/', $Result, $CodeID)) {
        #---------------------------------------------------------------------------
        $CodeID = Next($CodeID);
        #---------------------------------------------------------------------------
        switch ($CodeID) {
            case '200':
                #-----------------------------------------------------------------------
                if (!Preg_Match('/nic-hdl:\\s([0-9]+\\/[A-Z\\-]+)/', $Result, $ContractID)) {
                    return new gException('LOGIN_NOT_FOUND', 'Неудалось получить номер договора');
                } else {
                    $ContractID = Next($ContractID);
                }
                break;
            case '500':
                return FALSE;
            default:
                return new gException('WRONG_ERROR', SPrintF('Неизвестный статус ошибки (%s)', $Result));
        }
    } else {
        return new gException('WRONG_ANSWER', $Result);
    }
    #-----------------------------------------------------------------------------
    # Делаем паузу перед запросом
    Sleep(10);
    #-----------------------------------------------------------------------------
    if (!In_Array($DomainZone, array('ru', 'su'))) {
        #---------------------------------------------------------------------------
        $Query = array();
        #---------------------------------------------------------------------------
        $RequestID = UniqID('ID');
        #---------------------------------------------------------------------------
        $Query[] = SPrintF('login: %s', $Settings['Login']);
        $Query[] = SPrintF('password: %s', $Settings['Password']);
        $Query[] = SPrintF('subject-contract: %s', $ContractID);
        $Query[] = 'request: contact';
        $Query[] = 'operation: create';
        $Query[] = 'lang: ru';
        $Query[] = SPrintF('request-id: %s', $RequestID);
        #---------------------------------------------------------------------------
        $Query[] = '';
        #---------------------------------------------------------------------------
        $Query[] = '[contact]';
        $Query[] = SPrintF('status:registrant');
        $Query[] = SPrintF('org:');
        $Query[] = SPrintF('name: %s, %s', Translit($Person['Name']), Translit($Person['Lastname']));
        $Query[] = SPrintF('country: %s', isset($Person['PasportCountry']) ? $Person['PasportCountry'] : $Person['pCountry']);
        $Query[] = SPrintF('region: %s', Translit($Person['pCity']));
        $Query[] = SPrintF('city: %s', Translit($Person['pCity']));
        $Query[] = SPrintF('street: %s', Translit(SPrintF('%s %s', $Person['pType'], $Person['pAddress'])));
        $Query[] = SPrintF('zipcode: %s', $Person['pIndex']);
        $Query[] = SPrintF('phone: %s', $Person['Phone']);
        $Query[] = SPrintF('fax: %s', $Person['Fax']);
        $Query[] = SPrintF('email: %s', $Person['Email']);
        #---------------------------------------------------------------------------
        $Result = HTTP_Send('/dns/dealer', $HTTP, array(), array('SimpleRequest' => Implode("\n", $Query)));
        if (Is_Error($Result)) {
            return ERROR | @Trigger_Error('[RuCenter_Contract_Register]: не удалось выполнить запрос к серверу');
        }
        #---------------------------------------------------------------------------
        if (Preg_Match('/HTTP\\/1.0\\s502/i', $Result['Heads'])) {
            return FALSE;
        }
        #---------------------------------------------------------------------------
        $Result = Trim($Result['Body']);
        #---------------------------------------------------------------------------
        if (Preg_Match('/State:\\s([0-9]+)/', $Result, $CodeID)) {
            #-------------------------------------------------------------------------
            $CodeID = Next($CodeID);
            #-------------------------------------------------------------------------
            switch ($CodeID) {
                case '200':
                    #-----------------------------------------------------------------------
                    if (!Preg_Match('/nic-hdl:([0-9A-Za-z\\-]+)/', $Result, $NicHDL)) {
                        return array('TicketID' => SPrintF('%s:%s', $ContractID, Next($NicHDL)));
                    }
                    #-----------------------------------------------------------------------
                    return new gException('LOGIN_NOT_FOUND', 'Неудалось получить номер договора');
                case '500':
                    return FALSE;
                default:
                    return new gException('WRONG_ERROR', SPrintF('Неизвестный статус ошибки (%s)', $Result));
            }
        } else {
            return new gException('WRONG_ANSWER', $Result);
        }
    }
    #-----------------------------------------------------------------------------
    return array('TicketID' => $ContractID);
}
示例#18
0
function VmManager5_KVM_Get_DiskTemplates($Settings)
{
    /****************************************************************************/
    $__args_types = array('array');
    #-----------------------------------------------------------------------------
    $__args__ = Func_Get_Args();
    eval(FUNCTION_INIT);
    /****************************************************************************/
    $authinfo = SPrintF('%s:%s', $Settings['Login'], $Settings['Password']);
    #-----------------------------------------------------------------------------
    $HTTP = VmManager5_KVM_Build_HTTP($Settings);
    #-----------------------------------------------------------------------------
    $Response = HTTP_Send('/vmmgr', $HTTP, array(), array('authinfo' => $authinfo, 'out' => 'xml', 'func' => 'osmgr'));
    if (Is_Error($Response)) {
        return ERROR | @Trigger_Error('[VmManager5_Get_DiskTemplates]: не удалось соедениться с сервером');
    }
    #-----------------------------------------------------------------------------
    $Response = Trim($Response['Body']);
    #-----------------------------------------------------------------------------
    $XML = String_XML_Parse($Response);
    if (Is_Exception($XML)) {
        return new gException('WRONG_SERVER_ANSWER', $Response, $XML);
    }
    #-----------------------------------------------------------------------------
    $XML = $XML->ToArray('elem');
    #-----------------------------------------------------------------------------
    $Templates = $XML['doc'];
    #-----------------------------------------------------------------------------
    if (isset($Templates['error'])) {
        return new gException('GET_TEMPLATES_ERROR', $Templates['error']);
    }
    #-----------------------------------------------------------------------------
    $Result = array();
    #-----------------------------------------------------------------------------
    foreach ($Templates as $Template) {
        #-----------------------------------------------------------------------------
        if (!isset($Template['id'])) {
            continue;
        }
        #-----------------------------------------------------------------------------
        if (!isset($Template['name'])) {
            continue;
        }
        #-----------------------------------------------------------------------------
        if (!isset($Template['installed']) || $Template['installed'] != 'on') {
            continue;
        }
        #-----------------------------------------------------------------------------
        if ($Template['restrict'] != 'off') {
            continue;
        }
        #-----------------------------------------------------------------------------
        $Result[] = $Template['name'];
        #-----------------------------------------------------------------------------
    }
    #-----------------------------------------------------------------------------
    #-----------------------------------------------------------------------------
    return $Result;
    #-----------------------------------------------------------------------------
    #-----------------------------------------------------------------------------
}
示例#19
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':
示例#20
0
function WebNames_Domain_Check($Settings, $DomainName, $DomainZone)
{
    /******************************************************************************/
    $__args_types = array('array', 'string', 'string');
    #-------------------------------------------------------------------------------
    $__args__ = Func_Get_Args();
    eval(FUNCTION_INIT);
    /******************************************************************************/
    $Domain = SPrintF('%s.%s', $DomainName, $DomainZone);
    #-------------------------------------------------------------------------------
    $HTTP = WebNames_Build_HTTP($Settings);
    #-------------------------------------------------------------------------------
    $Query = array('thisPage' => 'pispCheckDomain', 'domain_name' => $Domain, 'username' => $Settings['Login'], 'password' => $Settings['Password'], 'interface_revision' => 2);
    #-------------------------------------------------------------------------------
    $Result = HTTP_Send('/RegTimeSRS.pl', $HTTP, array(), $Query);
    if (Is_Error($Result)) {
        return ERROR | @Trigger_Error('[WebNames_Domain_Check]: не удалось выполнить запрос к серверу');
    }
    #-------------------------------------------------------------------------------
    $Result = Json_Decode($Result['Body'], TRUE);
    #-------------------------------------------------------------------------------
    #Debug(SPrintF('[system/libs/WebNames.php]: $Result = %s',print_r($Result,true)));
    #-------------------------------------------------------------------------------
    #-------------------------------------------------------------------------------
    if (isset($Result['error'])) {
        return new gException('REGISTRATOR_ERROR', 'Регистратор вернул ошибку');
    }
    #-------------------------------------------------------------------------------
    if (!isset($Result['success'])) {
        return ERROR | @Trigger_Error('[WebNames_Domain_Check]: неизвестный ответ');
    }
    #-------------------------------------------------------------------------------
    #-------------------------------------------------------------------------------
    $Out = array();
    #-------------------------------------------------------------------------------
    #-------------------------------------------------------------------------------
    if (isset($Result['success'])) {
        #-------------------------------------------------------------------------------
        $Success = $Result['success'];
        #-------------------------------------------------------------------------------
        foreach (Array_Keys($Success) as $Key) {
            #-------------------------------------------------------------------------------
            Debug(SPrintF('[system/libs/WebNames.php]: Success[%s] = %s', $Key, print_r($Success[$Key], true)));
            #-------------------------------------------------------------------------------
            if ($Key == 'unavail') {
                continue;
            }
            #-------------------------------------------------------------------------------
            foreach (Array_Keys($Success[$Key]) as $Key1) {
                #-------------------------------------------------------------------------------
                Debug(SPrintF('[system/libs/WebNames.php]: Success[%s][%s] = %s', $Key, $Key1, print_r($Success[$Key][$Key1], true)));
                #-------------------------------------------------------------------------------
                # не описание домена
                if (!isset($Success[$Key][$Key1]['dname'])) {
                    continue;
                }
                #-------------------------------------------------------------------------------
                # если не наш домен - пропускаем
                if ($Success[$Key][$Key1]['dname'] != $Domain) {
                    continue;
                }
                #-------------------------------------------------------------------------------
                #-------------------------------------------------------------------------------
                return TRUE;
                #-------------------------------------------------------------------------------
                #-------------------------------------------------------------------------------
            }
            #-------------------------------------------------------------------------------
        }
        #-------------------------------------------------------------------------------
    }
    #-------------------------------------------------------------------------------
    #-------------------------------------------------------------------------------
    return FALSE;
    #-------------------------------------------------------------------------------
    #-------------------------------------------------------------------------------
}