# 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']);
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']); }
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', 'Неизвестный ответ'); } }
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'; #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- }
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); }
} #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- $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);
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; #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- }
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); }
#------------------------------------------------------------------------------- #------------------------------------------------------------------------------- $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');
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; #------------------------------------------------------------------------------- }
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; #----------------------------------------------------------------------------- }
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; #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- }
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); }
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; #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- }
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); }
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); #-------------------------------------------------------------------------------
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); }
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; #----------------------------------------------------------------------------- #----------------------------------------------------------------------------- }
} #------------------------------------------------------------------------------- $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':
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; #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- }