function FormsCheckType($var, $typearr, &$error = null, &$filename = null) { if ($typearr[1] == 'file') { $file_save_dir = 'uploads/forms'; if (!is_dir($file_save_dir)) { mkdir($file_save_dir); } $UploadErrors = array(0 => '', 1 => 'Размер файла превышен', 2 => 'Размер файла превышен', 3 => 'Файл загружен только частично', 4 => 'Файл не был загружен.', 6 => 'Не найдена папка для временных файлов на сервере', 7 => 'Ошибка во время записи на диск', 8 => 'Загрузка файла была прервана расширением PHP', 9 => 'Ошибка во время записи на диск'); if ($var['error'] == UPLOAD_ERR_OK) { $filename = Translit($var['name'], true); $ext = GetFileExt($filename); $name = GetFileName($filename, true); $file_path = $file_save_dir . '/' . $name . '_' . GenRandomString(8) . $ext; copy($var['tmp_name'], $file_path); return $file_path; } else { if ($var['error'] != 4) { $error = $UploadErrors[$var['error']]; } return ''; } } if ($typearr[2] == 'false') { $strip_tags = false; } else { $strip_tags = true; } $r = SafeEnv($var, (int) $typearr[0], (string) $typearr[1], $strip_tags); if ($r === false) { $r = '0'; } elseif ($r === true) { $r = '1'; } return $r; }
function __construct(&$db, $list_sql, $join_sql, $inserted = false) { $this->db =& $db; $this->inserted = $inserted; $list_sql = new SelectSQL($list_sql); $this->join_sql = new SelectSQL($join_sql); if (count($list_sql->SelectArray()) != 2) { throw new Exception("Запрос '" . $list_sql->SQL() . "' должен выбирать 2 столбца!"); } if (count($this->join_sql->SelectArray()) != 1) { throw new Exception("Запрос '" . $this->join_sql->SQL() . "' должен выбирать 1 столбец!"); } if (!$this->join_sql->FromOneTable()) { throw new Exception("Запрос '" . $this->join_sql->SQL() . "' должен быть из одной таблицы!"); } $this->where_array = explode("=", $this->join_sql->WhereString()); if (!$this->inserted) { if (count($this->where_array) != 2) { throw new Exception("Запрос '" . $this->join_sql->SQL() . "' должен быть по одному условию!"); } if ($result = $this->db->Query_Fetch($this->join_sql->SQL())) { foreach ($result as $row) { $this->join_array[] = $row[0]; } $this->join_array = array_flip($this->join_array); } } foreach ($this->where_array as $k => $v) { $this->where_array[$k] = trim($v); } $table = Translit($this->join_sql->FromString()); $result = $this->db->Query_Fetch($list_sql->SQL()); foreach ($result as $row) { $name = $table . "_id_" . $row[0]; $this->elements[$name] = new FCheckbox($name, $row[1], isset($this->join_array[$row[0]]) ? true : false); } }
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']); }
/** @author Великодный В.В. (Joonte Ltd.) */ /******************************************************************************/ /******************************************************************************/ $__args_list = array('PaymentSystemID', 'InvoiceID', 'Summ'); /******************************************************************************/ eval(COMP_INIT); /******************************************************************************/ /******************************************************************************/ $Config = Config(); #------------------------------------------------------------------------------- $Settings = $Config['Invoices']['PaymentSystems'][$PaymentSystemID]; #------------------------------------------------------------------------------- $Send = $Settings['Send']; #------------------------------------------------------------------------------- $Send['LMI_PAYMENT_NO'] = $InvoiceID; #------------------------------------------------------------------------------- $Send['LMI_PAYMENT_AMOUNT'] = Round($Summ / $Settings['Course'], 2); #------------------------------------------------------------------------------- $Comp = Comp_Load('Formats/Invoice/Number', $InvoiceID); if (Is_Error($Comp)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- $__USER = $GLOBALS['__USER']; #------------------------------------------------------------------------------- $Send['LMI_PAYMENT_DESC'] .= SPrintF('%s, %s (%s)', $Comp, Translit($__USER['Name']), $__USER['Email']); #------------------------------------------------------------------------------- $Send['CLIENT_MAIL'] = $__USER['Email']; #------------------------------------------------------------------------------- return $Send; #-------------------------------------------------------------------------------
/******************************************************************************/ eval(COMP_INIT); /******************************************************************************/ /******************************************************************************/ $Config = Config(); #------------------------------------------------------------------------------- $Settings = $Config['Invoices']['PaymentSystems']['Moneybookers']; #------------------------------------------------------------------------------- $Send = $Settings['Send']; #------------------------------------------------------------------------------- $Send['transaction_id'] = $InvoiceID; #------------------------------------------------------------------------------- $Send['amount'] = Round($Summ / $Settings['Course'], 2); #------------------------------------------------------------------------------- $Comp = Comp_Load('Formats/Invoice/Number', $InvoiceID); if (Is_Error($Comp)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- $__USER = $GLOBALS['__USER']; #------------------------------------------------------------------------------- $Send['detail1_text'] = SPrintF('%s, %s (%s)', $Comp, Translit($__USER['Name']), $__USER['Email']); #------------------------------------------------------------------------------- $Protocol = @$_SERVER['SERVER_PORT'] != 80 ? 'https' : 'http'; #------------------------------------------------------------------------------- $Send['return_url'] = SPrintF('%s://%s/Invoices', $Protocol, HOST_ID); $Send['cancel_url'] = SPrintF('%s://%s/Invoices?Error=yes', $Protocol, HOST_ID); $Send['status_url'] = SPrintF('%s://%s/Merchant/Moneybookers', $Protocol, HOST_ID); #------------------------------------------------------------------------------- return $Send; #-------------------------------------------------------------------------------
$Settings = $Config['Invoices']['PaymentSystems']['Uniteller']; #------------------------------------------------------------------------------- $Send = $Settings['Send']; #------------------------------------------------------------------------------- $Send['Subtotal_P'] = Round($Summ / $Settings['Course'], 2); #------------------------------------------------------------------------------- $Send['Order_IDP'] = $InvoiceID; #------------------------------------------------------------------------------- $Comp = Comp_Load('Formats/Invoice/Number', $InvoiceID); if (Is_Error($Comp)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- $__USER = $GLOBALS['__USER']; #------------------------------------------------------------------------------- $Send['Comment'] .= SPrintF('%s, %s (%s)', $Comp, Translit($__USER['Name']), $__USER['Email']); #------------------------------------------------------------------------------- $Protocol = @$_SERVER['SERVER_PORT'] != 80 ? 'https' : 'http'; #------------------------------------------------------------------------------- $Send['URL_RETURN'] = SPrintF('%s://%s/Invoices', $Protocol, HOST_ID); $Send['URL_RETURN_OK'] = SPrintF('%s://%s/Invoices', $Protocol, HOST_ID); $Send['URL_RETURN_NO'] = SPrintF('%s://%s/Invoices?Error=yes', $Protocol, HOST_ID); #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- # а ещё в люобй форме есть CSRF #$Send['CSRF'] = $GLOBALS['CSRF']; #------------------------------------------------------------------------------- # мыло юзера $Send['Email'] = $__USER['Email']; #------------------------------------------------------------------------------- # и телефон, если есть
$Config = Config(); #------------------------------------------------------------------------------- $Settings = $Config['Invoices']['PaymentSystems']['InterKassa']; #------------------------------------------------------------------------------- $Send = $Settings['Send']; #------------------------------------------------------------------------------- $Send['ik_payment_id'] = $InvoiceID; #------------------------------------------------------------------------------- $Send['ik_payment_amount'] = Round($Summ / $Settings['Course'], 2); #------------------------------------------------------------------------------- $Comp = Comp_Load('Formats/Invoice/Number', $InvoiceID); if (Is_Error($Comp)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- $__USER = $GLOBALS['__USER']; #------------------------------------------------------------------------------- $Send['ik_payment_desc'] .= SPrintF('%s, %s (%s)', $Comp, Translit($__USER['Name']), $__USER['Email']); #------------------------------------------------------------------------------- #$Hash = Array( # #----------------------------------------------------------------------------- # $Send['MrchLogin'], # $Send['OutSum'], # $Send['InvId'], # $Settings['MerchantPass1'] #); #------------------------------------------------------------------------------- #$Send['SignatureValue'] = StrToUpper(MD5(Implode(':',$Hash))); #------------------------------------------------------------------------------- return $Send; #-------------------------------------------------------------------------------
function LogicBoxes_Contract_Register($Settings, $PepsonID, $Person, $DomainZone) { /****************************************************************************/ $__args_types = array('array', 'string', 'array', 'string'); #----------------------------------------------------------------------------- $__args__ = Func_Get_Args(); eval(FUNCTION_INIT); /****************************************************************************/ $Wsdl = System_Element('config/Wsdl/Customer.wsdl'); if (Is_Error($Wsdl)) { return ERROR | @Trigger_Error(500); } #----------------------------------------------------------------------------- $AddCustomer = new SoapClient($Wsdl, array('exceptions' => 0)); #----------------------------------------------------------------------------- $Params = array('SERVICE_USERNAME' => $Settings['Login'], 'SERVICE_PASSWORD' => $Settings['Password'], 'SERVICE_ROLE' => 'reseller', 'SERVICE_LANGPREF' => 'ru', 'SERVICE_PARENTID' => $Settings['ParentID'], 'customerUserName' => $Person['Email'], 'customerPassword' => UniqID()); #----------------------------------------------------------------------------- switch ($PepsonID) { case 'Natural': #------------------------------------------------------------------------- $Params['name'] = SPrintF('%s %s %s', Translit($Person['Name']), Mb_SubStr(Translit($Person['Lastname']), 0, 1), Translit($Person['Sourname'])); $Params['company'] = 'N/A'; $Params['address1'] = Translit(SPrintF('%s %s', $Person['pType'], $Person['pAddress'])); $Params['address2'] = Translit(SPrintF('%s %s', $Person['pType'], $Person['pAddress'])); $Params['address3'] = Translit(SPrintF('%s %s', $Person['pType'], $Person['pAddress'])); $Params['city'] = Translit($Person['pCity']); $Params['state'] = Translit($Person['pState']); $Params['country'] = isset($Person['PasportCountry']) ? $Person['PasportCountry'] : $Person['pCountry']; $Params['zip'] = $Person['pIndex']; break; case 'Juridical': #------------------------------------------------------------------------- $Params['name'] = SPrintF('%s %s %s', Translit($Person['dName']), Translit($Person['dLastname']), Translit($Person['dSourname'])); $Params['company'] = SPrintF('%s %s', Translit($Person['CompanyName']), Translit($Person['CompanyFormFull'])); $Params['address1'] = Translit(SPrintF('%s %s', $Person['jType'], $Person['jAddress'])); $Params['address2'] = Translit(SPrintF('%s %s', $Person['pType'], $Person['pAddress'])); $Params['address3'] = Translit(SPrintF('%s %s', $Person['pType'], $Person['pAddress'])); $Params['city'] = Translit($Person['jCity']); $Params['state'] = Translit($Person['jState']); $Params['country'] = Translit($Person['jCountry']); $Params['zip'] = $Person['jIndex']; break; default: return ERROR | @Trigger_Error(400); } #----------------------------------------------------------------------------- $Phone = $Person['Phone']; #----------------------------------------------------------------------------- if ($Phone) { #--------------------------------------------------------------------------- $Phone = Preg_Split('/\\s+/', $Phone); #--------------------------------------------------------------------------- $Params['telNoCc'] = Trim(Current($Phone), '+'); $Params['telNo'] = SPrintF('%s%s', Next($Phone), Next($Phone)); #--------------------------------------------------------------------------- Reset($Phone); #--------------------------------------------------------------------------- $Params['altTelNoCc'] = Trim(Current($Phone), '+'); $Params['altTelNo'] = SPrintF('%s%s', Next($Phone), Next($Phone)); } else { #--------------------------------------------------------------------------- $Params['telNoCc'] = ''; $Params['telNo'] = ''; $Params['altTelNoCc'] = ''; $Params['altTelNo'] = ''; } #----------------------------------------------------------------------------- $Fax = $Person['Fax']; #----------------------------------------------------------------------------- if ($Fax) { #--------------------------------------------------------------------------- $Fax = Preg_Split('/\\s+/', $Fax); #--------------------------------------------------------------------------- $Params['faxNoCc'] = Trim(Current($Fax), '+'); $Params['faxNo'] = SPrintF('%s%s', Next($Fax), Next($Fax)); } else { #--------------------------------------------------------------------------- $Params['faxNoCc'] = ''; $Params['faxNo'] = ''; } #----------------------------------------------------------------------------- $Params['customerLangPref'] = 'ru'; #----------------------------------------------------------------------------- Debug(Print_R($Params, TRUE)); #----------------------------------------------------------------------------- $Response = $AddCustomer->__SoapCall('addCustomer', $Params); #----------------------------------------------------------------------------- if (Is_SOAP_Fault($Response)) { #--------------------------------------------------------------------------- Debug($Response->faultstring); #--------------------------------------------------------------------------- return new gException('ANSWER_ERROR', 'Ошибка обращения к регистратору'); } #----------------------------------------------------------------------------- $CustomerID = $Response; #----------------------------------------------------------------------------- $Wsdl = System_Element('config/Wsdl/DomContact.wsdl'); if (Is_Error($Wsdl)) { return ERROR | @Trigger_Error(500); } #----------------------------------------------------------------------------- $DefaultContact = new SoapClient($Wsdl, array('exceptions' => 0)); #----------------------------------------------------------------------------- $Response = $DefaultContact->addDefaultContact($Settings['Login'], $Settings['Password'], 'reseller', 'ru', $Settings['ParentID'], $CustomerID); #----------------------------------------------------------------------------- if (Is_SOAP_Fault($Response)) { #--------------------------------------------------------------------------- Debug($Response->faultstring); #--------------------------------------------------------------------------- return new gException('ANSWER_ERROR', 'Ошибка обращения к регистратору'); } #----------------------------------------------------------------------------- return array('TicketID' => $CustomerID); }
function NauNet_Domain_Register($Settings, $DomainName, $DomainZone, $Years, $Ns1Name, $Ns1IP, $Ns2Name, $Ns2IP, $Ns3Name, $Ns3IP, $Ns4Name, $Ns4IP, $IsPrivateWhoIs, $ContractID = '', $PepsonID = 'Default', $Person = array()) { /****************************************************************************/ $__args_types = array('array', 'string', 'string', 'integer', 'string', 'string', 'string', 'string', 'string', 'string', 'string', 'string', 'boolean', 'string', 'string', 'array'); #----------------------------------------------------------------------------- $__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']); #----------------------------------------------------------------------------- $Domain = SPrintF('%s.%s', $DomainName, $DomainZone); #----------------------------------------------------------------------------- $Query = array('action' => 'NEW', 'login' => $Settings['Login'], 'passwd' => $Settings['Password'], 'domain' => $Domain, 'mode' => 'async'); #----------------------------------------------------------------------------- $Query['private-whois'] = $IsPrivateWhoIs ? 'yes' : 'no'; #----------------------------------------------------------------------------- if ($ContractID) { $Query['contact-login'] = $ContractID; } else { #--------------------------------------------------------------------------- switch ($PepsonID) { case 'Natural': #--------------------------------------------------------------------- $Query['person'] = SPrintF('%s %s %s', Translit($Person['Name']), Mb_SubStr(Translit($Person['Lastname']), 0, 1), Translit($Person['Sourname'])); $Query['person-r'] = SPrintF('%s %s %s', $Person['Sourname'], $Person['Name'], $Person['Lastname']); $Query['passport'] = SPrintF('%s %s выдан %s %s', $Person['PasportLine'], $Person['PasportNum'], $Person['PasportWhom'], $Person['PasportDate']); $Query['residence'] = SPrintF('%s, %s, %s, %s %s', $Person['pIndex'], $Person['pState'], $Person['pCity'], $Person['pType'], $Person['pAddress']); $Query['birth-date'] = $Person['BornDate']; $Query['address-r'] = SPrintF('%s, %s, %s, %s %s, %s', $Person['pIndex'], $Person['pState'], $Person['pCity'], $Person['pType'], $Person['pAddress'], $Person['pRecipient']); $Query['p-addr'] = SPrintF('%s, %s, %s, %s %s, %s', $Person['pIndex'], $Person['pState'], $Person['pCity'], $Person['pType'], $Person['pAddress'], $Person['pRecipient']); $Query['phone'] = $Person['Phone']; $Query['sms-phone'] = $Person['CellPhone']; $Query['fax-no'] = $Person['Fax']; $Query['e-mail'] = $Person['Email']; break; case 'Juridical': #--------------------------------------------------------------------- $Query['org'] = SPrintF('%s %s', Translit($Person['CompanyName']), Translit($Person['CompanyFormFull'])); $Query['org-r'] = SPrintF('%s "%s"', $Person['CompanyFormFull'], $Person['CompanyName']); $Query['code'] = $Person['Inn']; $Query['kpp'] = $Person['Kpp']; $Query['address-r'] = SPrintF('%s, %s, %s, %s %s', $Person['jIndex'], $Person['jState'], $Person['jCity'], $Person['jType'], $Person['jAddress']); $Query['p-addr'] = SPrintF('%s, %s, %s, %s %s, %s "%s"', $Person['pIndex'], $Person['pState'], $Person['pCity'], $Person['pType'], $Person['pAddress'], $Person['CompanyFormFull'], $Person['CompanyName']); $Query['ogrn'] = $Person['Ogrn']; $Query['regdocuments'] = ''; $Query['phone'] = $Person['Phone']; $Query['sms-phone'] = $Person['CellPhone']; $Query['fax-no'] = $Person['Fax']; $Query['e-mail'] = $Person['Email']; break; default: return new gException('WRONG_PROFILE_ID', 'Неверный идентификатор профиля'); } } #----------------------------------------------------------------------------- $NsServers = array(); #----------------------------------------------------------------------------- $NsServers[] = $Ns1IP ? SPrintF('%s %s', $Ns1Name, $Ns1IP) : $Ns1Name; $NsServers[] = $Ns2IP ? SPrintF('%s %s', $Ns1Name, $Ns2IP) : $Ns2Name; #----------------------------------------------------------------------------- if ($Ns3Name) { #--------------------------------------------------------------------------- $NsServers[] = $Ns3IP ? SPrintF('%s %s', $Ns3Name, $Ns3IP) : $Ns3Name; } #----------------------------------------------------------------------------- if ($Ns4Name) { #--------------------------------------------------------------------------- $NsServers[] = $Ns4IP ? SPrintF('%s %s', $Ns4Name, $Ns4IP) : $Ns4Name; } #----------------------------------------------------------------------------- $Query['nserver'] = $NsServers; #----------------------------------------------------------------------------- $Result = HTTP_Send('/c/registrar', $HTTP, array(), $Query); if (Is_Error($Result)) { return ERROR | @Trigger_Error('[NauNet_Domain_Register]: не удалось выполнить запрос к серверу'); } #----------------------------------------------------------------------------- $Result = Trim($Result['Body']); #----------------------------------------------------------------------------- if (Preg_Match('/NEW:\\s([0-9]+).+in\\sprogress/', $Result, $TicketID)) { #--------------------------------------------------------------------------- $Result = array('TicketID' => Next($TicketID)); #--------------------------------------------------------------------------- if (!$ContractID) { $Result['ContractID'] = SPrintF('admin@%s', $Domain); } #--------------------------------------------------------------------------- return $Result; } #----------------------------------------------------------------------------- if (Preg_Match('/NEW:\\s[0-9]+\\s[a-z_]+\\scanceled/', $Result)) { return new gException('CANCELED', 'От вас поступил запрос на отмену заявки'); } #----------------------------------------------------------------------------- if (Preg_Match('/NEW:\\s[0-9]+\\s[a-z_]+\\sabuse_domain_name/', $Result)) { return new gException('ABUSE_DOMAIN_NAME', 'Доменное имя противоречит принципам морали и т.п. Для уточнения деталей обратитесь к регистратору.'); } #----------------------------------------------------------------------------- if (Preg_Match('/NEW:\\s[0-9]+\\sregistrar_error\\sdocuments_wait/', $Result)) { return new gException('DOCUMENTS_WAIT', 'Истек срок ожидания документов для подтверждения (30 дней). Обратитесь к регистратору.'); } #----------------------------------------------------------------------------- if (Preg_Match('/NEW:\\s[0-9]+\\s[a-z_]+\\swrong_data/', $Result)) { return new gException('WRONG_DATA', 'Для выполнения заявки недостаточно данных'); } #----------------------------------------------------------------------------- if (Preg_Match('/NEW:\\s[0-9]+\\s[a-z_]+\\srequest_already_exists/', $Result)) { return new gException('REQUEST_ALREADY_EXISTS', 'Существует незавершенный запрос на регистрацию данного домена'); } #----------------------------------------------------------------------------- if (Preg_Match('/NEW:\\s[0-9]+\\s[a-z_]+\\swrong_client_id/', $Result)) { return new gException('WRONG_CLIENT_ID', 'Недостаточно данных для регистрации в cистеме управления услугами (наименование организации/ФИО иИНН/серия-номер паспорта)'); } #----------------------------------------------------------------------------- if (Preg_Match('/NEW:\\s[0-9]+\\s[a-z_]+\\swrong_domain/', $Result)) { return new gException('WRONG_DOMAIN', 'Название домена не указано или указано неверно'); } #----------------------------------------------------------------------------- if (Preg_Match('/NEW:\\s[0-9]+\\s[a-z_]+\\swrong_e-mail/', $Result)) { return new gException('WRONG_E_MAIL', 'Не удалось определить email администратора ни из самой заявки, ни в значениях по умолчанию'); } #----------------------------------------------------------------------------- if (Preg_Match('/NEW:\\s[0-9]+\\s[a-z_]+\\swrong_key_/', $Result)) { return new gException('WRONG_KEY', 'Ошибка синтаксиса в каком-либо поле'); } #----------------------------------------------------------------------------- if (Preg_Match('/NEW:\\s[0-9]+\\s[a-z_]+\\swrong_password_trycounter/', $Result)) { return new gException('WRONG_PASSWORD_TRYCOUNTER', 'Кол-во попыток ввода пароля превысило допустимое'); } #----------------------------------------------------------------------------- if (Preg_Match('/NEW:\\s[0-9]+\\s[a-z_]+\\swrong_password/', $Result)) { return new gException('WRONG_PASSWORD', 'Неверный пароль доступа к регистратору'); } #----------------------------------------------------------------------------- if (Preg_Match('/NEW:\\s[0-9]+\\s[a-z_]+\\swrong_ident/', $Result)) { return new gException('WRONG_IDENT', 'Ошибка идентификации пользователя'); } #----------------------------------------------------------------------------- if (Preg_Match('/NEW:\\s[0-9]+\\s[a-z_]+\\sunknown_login/', $Result)) { return new gException('WRONG_LOGIN', 'Указано неверное имя пользователя'); } #----------------------------------------------------------------------------- if (Preg_Match('/NEW:\\s[0-9]+\\smoney_wait/', $Result)) { return new gException('MONEY_WAIT', 'Заявка будет обработана после поступления на счет денежных средств. Пополните баланс.'); } #----------------------------------------------------------------------------- return new gException('WRONG_ANSWER', $Result); }
$Send = $Settings['Send']; #------------------------------------------------------------------------------- $Send['EP_OrderNo'] = $InvoiceID; #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- $Send['EP_Sum'] = Floor($Summ / $Settings['Course']); #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- $Comp = Comp_Load('Formats/Invoice/Number', $InvoiceID); if (Is_Error($Comp)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- $__USER = $GLOBALS['__USER']; #------------------------------------------------------------------------------- $Send['EP_OrderInfo'] .= SPrintF('%s, %s (%s)', $Comp, Translit($__USER['Name']), $__USER['Email']); #------------------------------------------------------------------------------- $Send['EP_Comment'] = SPrintF('#%s, %s', $Comp, $__USER['Email']); #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- $Hash = array($Send['EP_MerNo'], $Settings['Hash'], $Send['EP_OrderNo'], $Send['EP_Sum']); #------------------------------------------------------------------------------- $Send['EP_Hash'] = md5(Implode('', $Hash)); #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- # URL для возврата $Protocol = @$_SERVER['SERVER_PORT'] != 80 ? 'https' : 'http'; #------------------------------------------------------------------------------- $Send['EP_Cancel_URL'] = SPrintF('%s://%s/Invoices?Error=yes', $Protocol, HOST_ID); $Send['EP_Success_URL'] = SPrintF('%s://%s/Invoices', $Protocol, HOST_ID); # кодировка
function RegRu_Domain_Register($Settings, $DomainName, $DomainZone, $Years, $Ns1Name, $Ns1IP, $Ns2Name, $Ns2IP, $Ns3Name, $Ns3IP, $Ns4Name, $Ns4IP, $ContractID = '', $IsPrivateWhoIs, $PepsonID = 'Default', $Person = array()) { /****************************************************************************/ $__args_types = array('array', 'string', 'string', 'integer', 'string', 'string', 'string', 'string', 'string', 'string', 'string', 'string', 'boolean', 'string', 'string', 'array'); #----------------------------------------------------------------------------- $__args__ = Func_Get_Args(); eval(FUNCTION_INIT); /****************************************************************************/ $HTTP = RegRu_Build_HTTP($Settings); #----------------------------------------------------------------------------- $Domain = Mb_StrToLower(SPrintF('%s.%s', $DomainName, $DomainZone), 'UTF-8'); #----------------------------------------------------------------------------- $Query = array('username' => $Settings['Login'], 'password' => $Settings['Password'], 'domain_name' => $Domain, 'enduser_ip' => '127.0.0.1', 'pay_type' => 'prepay', 'private_person_flag' => $IsPrivateWhoIs); #----------------------------------------------------------------------------- $Query['period'] = $Years; #----------------------------------------------------------------------------- if (In_Array($DomainZone, array('ru', 'su', 'рф'))) { #--------------------------------------------------------------------------- switch ($PepsonID) { case 'Natural': #----------------------------------------------------------------------- $Query['person'] = SPrintF('%s %s %s', Translit($Person['Name']), Mb_SubStr(Translit($Person['Lastname']), 0, 1), Translit($Person['Sourname'])); $Query['private_person_flag'] = 1; $Query['person_r'] = SPrintF('%s %s %s', $Person['Sourname'], $Person['Name'], $Person['Lastname']); $Query['passport'] = SPrintF('%s %s выдан %s %s', $Person['PasportLine'], $Person['PasportNum'], $Person['PasportWhom'], $Person['PasportDate']); $Query['birth_date'] = $Person['BornDate']; $Query['country'] = isset($Person['PasportCountry']) ? $Person['PasportCountry'] : $Person['pCountry']; $Query['p_addr'] = SPrintF('%s, %s, %s, %s %s, %s', $Person['pIndex'], $Person['pState'], $Person['pCity'], $Person['pType'], $Person['pAddress'], $Person['pRecipient']); $Query['phone'] = $Person['Phone']; $Query['sms_security_number'] = $Person['CellPhone']; $Query['fax'] = $Person['Fax']; $Query['e_mail'] = $Person['Email']; break; case 'Juridical': #----------------------------------------------------------------------- $Query['org'] = SPrintF('%s %s', Translit($Person['CompanyName']), Translit($Person['CompanyFormFull'])); $Query['org_r'] = SPrintF('%s "%s"', $Person['CompanyFormFull'], $Person['CompanyName']); $Query['code'] = $Person['Inn']; $Query['kpp'] = $Person['Kpp']; $Query['country'] = $Person['jCountry']; $Query['address_r'] = SPrintF('%s, %s, %s, %s %s', $Person['jIndex'], $Person['jState'], $Person['jCity'], $Person['jType'], $Person['jAddress']); $Query['p_addr'] = SPrintF('%s, %s, %s, %s %s, %s "%s"', $Person['pIndex'], $Person['pState'], $Person['pCity'], $Person['pType'], $Person['pAddress'], $Person['CompanyFormFull'], $Person['CompanyName']); $Query['phone'] = $Person['Phone']; $Query['sms_security_number'] = $Person['CellPhone']; $Query['fax'] = $Person['Fax']; $Query['e_mail'] = $Person['Email']; break; default: return new gException('WRONG_PROFILE_ID', 'Неверный идентификатор профиля'); } #--------------------------------------------------------------------------- } elseif (In_Array($DomainZone, array('info', 'biz', 'org', 'com', 'net', 'be', 'cc', 'tv', 'pro', 'site'))) { #--------------------------------------------------------------------------- switch ($PepsonID) { case 'Natural': #----------------------------------------------------------------------- $Query['o_company'] = 'Private person'; $Query['a_company'] = 'Private person'; $Query['t_company'] = 'Private person'; $Query['b_company'] = 'Private person'; #----------------------------------------------------------------------- $Query['o_country_code'] = $Person['pCountry']; $Query['a_country_code'] = $Person['pCountry']; $Query['t_country_code'] = $Person['pCountry']; $Query['b_country_code'] = $Person['pCountry']; #----------------------------------------------------------------------- $Query['o_postcode'] = $Person['pIndex']; $Query['a_postcode'] = $Person['pIndex']; $Query['t_postcode'] = $Person['pIndex']; $Query['b_postcode'] = $Person['pIndex']; #----------------------------------------------------------------------- $Query['o_first_name'] = Translit($Person['Name']); $Query['a_first_name'] = Translit($Person['Name']); $Query['t_first_name'] = Translit($Person['Name']); $Query['b_first_name'] = Translit($Person['Name']); #----------------------------------------------------------------------- $Query['o_last_name'] = Translit($Person['Sourname']); $Query['a_last_name'] = Translit($Person['Sourname']); $Query['t_last_name'] = Translit($Person['Sourname']); $Query['b_last_name'] = Translit($Person['Sourname']); #----------------------------------------------------------------------- $Query['o_email'] = $Person['Email']; $Query['a_email'] = $Person['Email']; $Query['t_email'] = $Person['Email']; $Query['b_email'] = $Person['Email']; #----------------------------------------------------------------------- $Query['o_addr'] = Translit(SPrintF('%s %s', $Person['pType'], $Person['pAddress'])); $Query['a_addr'] = Translit(SPrintF('%s %s', $Person['pType'], $Person['pAddress'])); $Query['t_addr'] = Translit(SPrintF('%s %s', $Person['pType'], $Person['pAddress'])); $Query['b_addr'] = Translit(SPrintF('%s %s', $Person['pType'], $Person['pAddress'])); #----------------------------------------------------------------------- $Query['o_city'] = Translit($Person['pCity']); $Query['a_city'] = Translit($Person['pCity']); $Query['t_city'] = Translit($Person['pCity']); $Query['b_city'] = Translit($Person['pCity']); #----------------------------------------------------------------------- $Query['o_state'] = Translit($Person['pState']); $Query['a_state'] = Translit($Person['pState']); $Query['t_state'] = Translit($Person['pState']); $Query['b_state'] = Translit($Person['pState']); break; case 'Juridical': #----------------------------------------------------------------------- $CompanyEn = SPrintF('%s %s', Translit($Person['CompanyName']), Translit($Person['CompanyFormFull'])); #----------------------------------------------------------------------- $Query['o_company'] = $CompanyEn; $Query['a_company'] = $CompanyEn; $Query['t_company'] = $CompanyEn; $Query['b_company'] = $CompanyEn; #----------------------------------------------------------------------- $Query['o_country_code'] = $Person['jCountry']; $Query['a_country_code'] = $Person['jCountry']; $Query['t_country_code'] = $Person['jCountry']; $Query['b_country_code'] = $Person['jCountry']; #----------------------------------------------------------------------- $Query['o_postcode'] = $Person['jIndex']; $Query['a_postcode'] = $Person['jIndex']; $Query['t_postcode'] = $Person['jIndex']; $Query['b_postcode'] = $Person['jIndex']; #----------------------------------------------------------------------- $Query['o_first_name'] = Translit($Person['dName']); $Query['a_first_name'] = Translit($Person['dName']); $Query['t_first_name'] = Translit($Person['dName']); $Query['b_first_name'] = Translit($Person['dName']); #----------------------------------------------------------------------- $Query['o_last_name'] = Translit($Person['dSourname']); $Query['a_last_name'] = Translit($Person['dSourname']); $Query['t_last_name'] = Translit($Person['dSourname']); $Query['b_last_name'] = Translit($Person['dSourname']); #----------------------------------------------------------------------- $Query['o_email'] = $Person['Email']; $Query['a_email'] = $Person['Email']; $Query['t_email'] = $Person['Email']; $Query['b_email'] = $Person['Email']; #----------------------------------------------------------------------- $Query['o_addr'] = Translit(SPrintF('%s %s', $Person['jType'], $Person['jAddress'])); $Query['a_addr'] = Translit(SPrintF('%s %s', $Person['jType'], $Person['jAddress'])); $Query['t_addr'] = Translit(SPrintF('%s %s', $Person['jType'], $Person['jAddress'])); $Query['b_addr'] = Translit(SPrintF('%s %s', $Person['jType'], $Person['jAddress'])); #----------------------------------------------------------------------- $Query['o_city'] = Translit($Person['jCity']); $Query['a_city'] = Translit($Person['jCity']); $Query['t_city'] = Translit($Person['jCity']); $Query['b_city'] = Translit($Person['jCity']); #----------------------------------------------------------------------- $Query['o_state'] = Translit($Person['jState']); $Query['a_state'] = Translit($Person['jState']); $Query['t_state'] = Translit($Person['jState']); $Query['b_state'] = Translit($Person['jState']); break; default: return new gException('WRONG_PERSON_TYPE_ID', 'Неверный идентификатор типа персоны'); } #--------------------------------------------------------------------------- #--------------------------------------------------------------------------- if ($DomainZone == 'pro') { $Query['pro_profession'] = 'Other'; } #--------------------------------------------------------------------------- #--------------------------------------------------------------------------- $Phone = $Person['Phone']; #--------------------------------------------------------------------------- if ($Phone) { #------------------------------------------------------------------------- $Phone = Preg_Split('/\\s+/', $Phone); #------------------------------------------------------------------------- $Phone = SPrintF('%s.%s%s', Current($Phone), Next($Phone), Next($Phone)); #------------------------------------------------------------------------- $Query['o_phone'] = $Phone; $Query['a_phone'] = $Phone; $Query['t_phone'] = $Phone; $Query['b_phone'] = $Phone; } else { #------------------------------------------------------------------------- $Query['o_phone'] = ''; $Query['a_phone'] = ''; $Query['t_phone'] = ''; $Query['b_phone'] = ''; } #--------------------------------------------------------------------------- $Fax = $Person['Fax']; #--------------------------------------------------------------------------- if ($Fax) { #------------------------------------------------------------------------- $Fax = Preg_Split('/\\s+/', $Fax); #------------------------------------------------------------------------- $Fax = SPrintF('%s.%s%s', Current($Fax), Next($Fax), Next($Fax)); #------------------------------------------------------------------------- $Query['o_fax'] = $Fax; $Query['a_fax'] = $Fax; $Query['t_fax'] = $Fax; $Query['b_fax'] = $Fax; } else { #------------------------------------------------------------------------- $Query['o_fax'] = ''; $Query['a_fax'] = ''; $Query['t_fax'] = ''; $Query['b_fax'] = ''; } } else { return new gException('WRONG_ZONE_NAME', 'Указанная зона не поддерживается в автоматическом режиме'); } #----------------------------------------------------------------------------- $Query['ns0'] = $Ns1Name; $Query['ns1'] = $Ns2Name; #----------------------------------------------------------------------------- if ($Ns1IP && $Ns2IP) { #--------------------------------------------------------------------------- $Query['ns0ip'] = $Ns1IP; $Query['ns1ip'] = $Ns2IP; } #----------------------------------------------------------------------------- $Settings['PrefixAPI'] = SprintF("https://api.reg.ru/api/regru2/%s", "domain/create"); #----------------------------------------------------------------------------- $Result = HTTP_Send($Settings['PrefixAPI'], $HTTP, array(), $Query); if (Is_Error($Result)) { return ERROR | @Trigger_Error('[RegRu_Domain_Register]: не удалось выполнить запрос к серверу'); } #----------------------------------------------------------------------------- $Result = Trim($Result['Body']); #----------------------------------------------------------------------------- $Result = Json_Decode($Result, TRUE); #----------------------------------------------------------------------------- if ($Result['result'] == 'success') { if (isset($Result['error_code'])) { return new gException('REGISTRATOR_ERROR_1', $Result['error_code']); } else { foreach (Array_Keys($Result['answer']) as $Key) { Debug(SPrintF("[RegRu_Answer::Domain_Register]: %s => %s", $Key, $Result['answer'][$Key])); } #--------------------------------------------------------------------------- if ($Result['answer']['dname'] == $Domain) { return array('TicketID' => (int) $Result['answer']['service_id']); #--------------------------------------------------------------------------- } } } #----------------------------------------------------------------------------- if ($Result['result'] == 'error') { return new gException('REGISTRATOR_ERROR', 'Регистратор вернул ошибку'); } #----------------------------------------------------------------------------- return new gException('WRONG_ANSWER', $Result); }
public function quoteAttachmentFilename($filename) { #$replace = array('/\s/' => '_', '/[^0-9a-zA-Z_\.]/' => '', '/_+/' => '_', '/(^_)|(_$)/' => ''); #$name = preg_replace(array_keys($replace), $replace, $filename); $name = Translit($filename); // change unnessary to "-" $name = preg_replace('~[^-a-zA-Z0-9_\\.]+~u', '-', $name); // trim begin/end '-' $name = trim($name, "-"); #if(preg_match('/^\.[\w]+$/',$name)) # $name = SPrintF('%s%s',Md5(MicroTime()),$name); return $name; }
function AdminDownloadsSaveFile($action) { if ($_POST == array()) { AddTextBox('Ошибка', '<b>Внимание! Превышен максимальный размер POST данных. Изменения не сохранены.</b>'); return; } $Error = ''; if (!System::user()->CheckAccess2('downloads', 'edit_files')) { System::admin()->AccessDenied(); } $category = SafeEnv($_POST['category'], 11, int); if (in_array($category, AdminDownloadsGetTree()->GetAllChildId(0)) === false || $category == 0) { GO(ADMIN_FILE . '?exe=downloads'); } $title = SafeEnv($_POST['title'], 250, str); // Обрабатываем upload_file если загрузился файл $exts = explode(',', System::config('downloads/file_exts')); $exts2 = array(); foreach ($exts as $ext) { $exts2[trim($ext)] = true; } $UploadErrors = array(0 => '', 1 => 'Размер файла превышен', 2 => 'Размер файла превышен', 3 => 'Файл загружен только частично', 4 => 'Файл не был загружен.', 6 => 'Не найдена папка для временных файлов на сервере', 7 => 'Ошибка во время записи на диск', 8 => 'Загрузка файла была прервана расширением PHP', 9 => 'Ошибка во время записи на диск'); if ($_FILES['upload_file']['error'] == UPLOAD_ERR_OK) { if (isset($exts2[strtolower(GetFileExt($_FILES['upload_file']['name']))])) { // Загружаем файл $Dir = System::config('downloads/files_dir'); $file_name = Translit($_FILES['upload_file']['name'], true); $ext = GetFileExt($file_name); $name = GetFileName($file_name, true); $i = 1; while (is_file($Dir . $file_name)) { $i++; $file_name = $name . '_' . $i . $ext; } $FileName = $Dir . $file_name; copy($_FILES['upload_file']['tmp_name'], $FileName); $url = SafeEnv($FileName, 255, str); } else { $url = SafeEnv($_POST['url'], 255, str); } } else { if ($_FILES['upload_file']['error'] != 4) { $Error = $UploadErrors[$_FILES['upload_file']['error']]; } $url = SafeEnv($_POST['url'], 255, str); } if ($_POST['size'] > 0) { $file_size = SafeEnv($_POST['size'], 11, real); // Дробное число $size_type = SafeEnv($_POST['filesize_type'], 1, str); } elseif (file_exists($url)) { $file_size = filesize($url); $size_type = 'b'; } elseif (file_exists(System::config('general/site_url') . $url)) { $file_size = filesize(System::config('general/site_url') . $url); $size_type = 'b'; } else { $file_size = SafeEnv($_POST['size'], 11, int); $size_type = 'b'; } $shortdesc = SafeEnv($_POST['shortdesc'], 0, str); $description = SafeEnv($_POST['description'], 0, str); // Загружаем изображение $ImageUploadError = false; $image = LoadImage('up_image', System::config('downloads/images_dir'), System::config('downloads/images_dir') . 'thumbs/', System::config('downloads/thumb_max_width'), System::config('downloads/thumb_max_height'), $_POST['image'], $ImageUploadError); $author = SafeEnv($_POST['author'], 50, str); $author_site = SafeEnv(Url($_POST['author_site']), 250, str); $author_email = SafeEnv($_POST['author_email'], 50, str); $file_ver = SafeEnv($_POST['version'], 250, str); $allow_comments = EnToInt($_POST['allow_comments']); $allow_votes = EnToInt($_POST['allow_votes']); $view = ViewLevelToInt($_POST['view']); $active = EnToInt($_POST['active']); if ('editfilesave' == $action) { //Здесь генерируем Set запрос $set = "title='{$title}',category='{$category}',size='{$file_size}',size_type='{$size_type}',url='{$url}',shortdesc='{$shortdesc}',description='{$description}',image='{$image}',author='{$author}',author_site='{$author_site}',author_email='{$author_email}',file_version='{$file_ver}',allow_comments='{$allow_comments}',allow_votes='{$allow_votes}',view='{$view}',active='{$active}'"; $id = SafeEnv($_GET['id'], 11, int); $r = System::database()->Select('downloads', "`id`='{$id}'"); if ($r[0]['category'] != $category && $r[0]['active'] == '1') { AdminDownloadsGetTree()->CalcFileCounter($r[0]['category'], false); AdminDownloadsGetTree()->CalcFileCounter($category, true); } if ($r[0]['active'] != $active) { // Выключили / Включили if ($active == 0) { AdminDownloadsGetTree()->CalcFileCounter($category, false); } else { AdminDownloadsGetTree()->CalcFileCounter($category, true); } } System::database()->Update('downloads', $set, "`id`='{$id}'"); Audit('Архив файлов: Редактирование файла "' . $title . '"'); } elseif ('addfilesave' == $action) { $values = Values('', $category, time(), $file_size, $size_type, $title, $url, $shortdesc, $description, $image, $author, $author_site, $author_email, $file_ver, $allow_comments, 0, $allow_votes, 0, 0, 0, $view, $active); System::database()->Insert('downloads', $values); Audit('Архив файлов: Добавление файла "' . $title . '"'); if ($active) { AdminDownloadsGetTree()->CalcFileCounter($category, true); } } if ($ImageUploadError) { AddTextBox('Ошибка', '<p align="center">Неправильный формат файла. Можно загружать только изображения формата GIF, JPEG или PNG. Остальные изменения сохранены.</p><br><a href="' . GetRefererUrl($_REQUEST['back']) . '" class="button">Далее</a>'); return; } if ($Error != '') { AddTextBox('Ошибка', '<p align="center">Не удалось загрузить файл, изменения сохранены. Ошибка: ' . $Error . '.</p><br><a href="' . GetRefererUrl($_REQUEST['back']) . '" class="button">Далее</a>'); return; } GoRefererUrl($_REQUEST['back']); }
private function AddMenuItem($item_xml, $parent_id) { $pos = 0; foreach ($item_xml as $item) { if (isset($item->pos) && $item->pos > 0) { $pos = $item->pos; } else { $pos += 10; } $name = isset($item["full_name"]) ? $item["full_name"] : $item["name"]; $query = "INSERT INTO menus (name, translit_name" . (isset($item["full_name"]) && $item["full_name"] != "" ? ", full_name" : '') . (isset($item["script_name"]) && $item["script_name"] != "" ? ", script_name" : '') . ", parent_id, module_id, position) " . "VALUES ('" . $item["name"] . "', '" . Translit($name) . "'" . (isset($item["full_name"]) && $item["full_name"] != "" ? ", '" . $item["full_name"] . "'" : '') . (isset($item["script_name"]) && $item["script_name"] != "" ? ", '" . $item["script_name"] . "'" : '') . ", " . $parent_id . ", " . $this->id . ", " . $pos . ")"; $this->db->Query($query); $last_id = $this->db->Insert_ID(); // добавление прав - разрешить всем всё... на данный пункт меню $this->db->Query("INSERT INTO groups_menus (group_id, menu_id) VALUES (0, " . $last_id . ")"); if (isset($item->item)) { $this->AddMenuItem(&$item->item, &$last_id); } } }
#------------------------------------------------------------------------------- /** @author Великодный В.В. (Joonte Ltd.) */ /******************************************************************************/ /******************************************************************************/ $__args_list = array('SystemID', 'InvoiceID', 'Summ'); /******************************************************************************/ eval(COMP_INIT); /******************************************************************************/ /******************************************************************************/ $Config = Config(); #------------------------------------------------------------------------------- $Settings = $Config['Invoices']['PaymentSystems']['OKPAY']; #------------------------------------------------------------------------------- $Send = $Settings['Send']; #------------------------------------------------------------------------------- $Send['ok_invoice'] = $InvoiceID; #------------------------------------------------------------------------------- $Send['ok_item_1_price'] = Round($Summ / $Settings['Course'], 2); #------------------------------------------------------------------------------- $Comp = Comp_Load('Formats/Invoice/Number', $InvoiceID); if (Is_Error($Comp)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- $__USER = $GLOBALS['__USER']; #------------------------------------------------------------------------------- $Send['ok_item_1_name'] .= SPrintF('%s, %s (%s)', $Comp, Translit($__USER['Name']), $__USER['Email']); #------------------------------------------------------------------------------- return $Send; #-------------------------------------------------------------------------------
function R01_Contract_Register($Settings, $PepsonID, $Person, $DomainZone) { /****************************************************************************/ $__args_types = array('array', 'string', 'array', 'string'); #----------------------------------------------------------------------------- $__args__ = Func_Get_Args(); eval(FUNCTION_INIT); /****************************************************************************/ $AddCustomer = new SoapClient(null, array('location' => SPrintF('https://%s:%d/%s', $Settings['Address'], $Settings['Port'], $Settings['Params']['PrefixAPI']), 'uri' => 'urn:RegbaseSoapInterface', 'exceptions' => 1, 'user_agent' => 'RegbaseSoapInterfaceClient', 'trace' => 1)); #----------------------------------------------------------------------------- if (Is_SOAP_Fault($AddCustomer)) { #--------------------------------------------------------------------------- $Msg = SPrintF('Ошибка обращения к регистратору: %s', $AddCustomer->faultstring); #--------------------------------------------------------------------------- return new gException('REQUEST_ERROR', $Msg); } #----------------------------------------------------------------------------- $loginResult = $AddCustomer->logIn($Settings['Login'], $Settings['Password']); #----------------------------------------------------------------------------- if (Is_SOAP_Fault($loginResult)) { #--------------------------------------------------------------------------- $Msg = SPrintF('Ошибка при авторизации: %s', $loginResult->faultstring); #--------------------------------------------------------------------------- return new gException('REQUEST_ERROR', $Msg); } #----------------------------------------------------------------------------- if ($loginResult->status->code == '0') { #--------------------------------------------------------------------------- $Msg = SPrintF('Ошибка авторизации [name=%s, message=%s]', $loginResult->status->name, $loginResult->status->message); #--------------------------------------------------------------------------- return new gException('AUTHORIZATION_FAILED', $Msg); } #----------------------------------------------------------------------------- $AddCustomer->__setCookie('SOAPClient', $loginResult->status->message); #----------------------------------------------------------------------------- switch ($PepsonID) { case 'Natural': #------------------------------------------------------------------------- $Params = array(); #------------------------------------------------------------------------- $Params['NICHDL'] = SprintF('%s%s_%s-GPT', Mb_SubStr(Translit($Person['Name']), 0, 1), Translit($Person['Sourname']), Mb_SubStr(UniqID(), 0, 5)); #------------------------------------------------------------------------- Debug(Print_R($Params, TRUE)); #------------------------------------------------------------------------- $Response = $AddCustomer->addDadminPerson($Params['NICHDL'], SPrintF('%s %s %s', $Person['Sourname'], $Person['Name'], $Person['Lastname']), SPrintF('%s %s %s', Translit($Person['Name']), Mb_SubStr(Translit($Person['Lastname']), 0, 1), Translit($Person['Sourname'])), SPrintF('%s %s, %s, %s', $Person['PasportLine'], $Person['PasportNum'], $Person['PasportWhom'], $Person['PasportDate']), $Person['BornDate'], SPrintF('%d, %s, %s, %s, %s %s', $Person['pIndex'], $Person['pCountry'], $Person['pState'], $Person['pCity'], $Person['pType'], $Person['pAddress']), $Person['Phone'], $Person['Fax'], $Person['Email'], 1, 1); break; case 'Juridical': #------------------------------------------------------------------------- $Params['NICHDL'] = SprintF('%s_%s-ORG-GPT', Translit($Person['CompanyName']), Mb_SubStr(UniqID(), 0, 5)); #------------------------------------------------------------------------- $Response = $AddCustomer->addDadminOrg($Params['NICHDL'], SPrintF('%s %s', $Person['CompanyFormFull'], $Person['CompanyName']), SPrintF('%s %s', Translit($Person['CompanyFormFull']), Translit($Person['CompanyName'])), $Person['Inn'], $Person['Ogrn'], SPrintF('%d, %s, %s, %s, %s %s', $Person['jIndex'], $Person['jCountry'], $Person['jState'], $Person['jCity'], $Person['jType'], $Person['jAddress']), SPrintF('%d, %s, %s, %s, %s %s', $Person['jIndex'], $Person['jCountry'], $Person['jState'], $Person['jCity'], $Person['pType'], $Person['pAddress']), $Person['Phone'], $Person['Fax'], $Person['Email'], SPrintF('%s %s %s', $Person['dSourname'], $Person['dName'], $Person['dLastname']), $Person['BankName'], $Person['BankAccount'], $Person['Kor'], $Person['Bik'], 1); break; default: return ERROR | @Trigger_Error(400); } #----------------------------------------------------------------------------- Debug(Print_R($Response, TRUE)); #----------------------------------------------------------------------------- if (Is_SOAP_Fault($Response)) { #--------------------------------------------------------------------------- $Msg = SPrintF('Ошибка при выполнении запроса: %s', $Response->faultstring); #--------------------------------------------------------------------------- return new gException('REQUEST_ERROR', $Msg); } #----------------------------------------------------------------------------- if ($Response->status->code == '0') { #--------------------------------------------------------------------------- $Msg = SPrintF('Ошибка регистрации домена [name=%s, message=%s]', $Response->status->name, $Response->status->message); #--------------------------------------------------------------------------- return new gException('ADD_DOMAIN_FAILED', $Msg); } #----------------------------------------------------------------------------- $CustomerID = $Response->nic_hdl; #----------------------------------------------------------------------------- Debug($CustomerID); #----------------------------------------------------------------------------- $logoutResult = $AddCustomer->logOut(); #----------------------------------------------------------------------------- if (Is_SOAP_Fault($logoutResult)) { #--------------------------------------------------------------------------- $Msg = SPrintF('Ошибка закрытия сессии: %s', $logoutResult->faultstring); #--------------------------------------------------------------------------- return new gException('REQUEST_ERROR', $Msg); } #----------------------------------------------------------------------------- return array('TicketID' => $CustomerID); }
function MasterName_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' => 'CP1251', 'IsLogging' => $Settings['Params']['IsLogging']); #----------------------------------------------------------------------------- $Query = array(); #----------------------------------------------------------------------------- $Query[] = '[request]'; $Query[] = SPrintF('login: %s', $Settings['Login']); $Query[] = SPrintF('password: %s', $Settings['Password']); $Query[] = 'action: create_client'; #----------------------------------------------------------------------------- $RequestID = UniqID('ID'); #----------------------------------------------------------------------------- $Query[] = SPrintF('request-id: %s', $RequestID); #----------------------------------------------------------------------------- $Query[] = ''; #----------------------------------------------------------------------------- switch ($PepsonID) { case 'Natural': #------------------------------------------------------------------------- $Query[] = '[client]'; #------------------------------------------------------------------------- $Query[] = 'client-type: ФИЗЛИЦО'; $Query[] = $Person['PasportCountry'] != 'RU' ? 'non-resident:' : 'resident:'; #------------------------------------------------------------------------- $Query[] = SPrintF('person-r: %s %s %s', $Person['Sourname'], $Person['Name'], $Person['Lastname']); $Query[] = SPrintF('person: %s %s %s', Translit($Person['Name']), Mb_SubStr(Translit($Person['Lastname']), 0, 1), Translit($Person['Sourname'])); $Query[] = SPrintF('email: %s', $Person['Email']); #------------------------------------------------------------------------- $Phone = $Person['Phone']; #------------------------------------------------------------------------- $Query[] = SPrintF('phone: %s', $Phone); #------------------------------------------------------------------------- $Fax = $Person['Fax']; #------------------------------------------------------------------------- $Query[] = SPrintF('fax: %s', $Fax ? $Fax : $Phone); #------------------------------------------------------------------------- $BornDate = Explode('.', $Person['BornDate']); #------------------------------------------------------------------------- $Query[] = SPrintF('birth-date: %s-%s-%s', End($BornDate), Prev($BornDate), Prev($BornDate)); #------------------------------------------------------------------------- $PasportLine = Preg_Split('/^([0-9]{2})/', $Person['PasportLine'], -1, PREG_SPLIT_DELIM_CAPTURE); #------------------------------------------------------------------------- $Query[] = SPrintF('passport-series: %s %s', Next($PasportLine), Next($PasportLine)); $Query[] = SPrintF('passport-number: %s', $Person['PasportNum']); #------------------------------------------------------------------------- $PasportDate = Explode('.', $Person['PasportDate']); #------------------------------------------------------------------------- $Query[] = SPrintF('passport-date: %s-%s-%s', End($PasportDate), Prev($PasportDate), Prev($PasportDate)); $Query[] = SPrintF('passport-org: %s', $Person['PasportWhom']); #------------------------------------------------------------------------- $Query[] = SPrintF('post-country: %s', $Person['pCountry']); $Query[] = SPrintF('post-region: %s', $Person['pState']); $Query[] = SPrintF('post-zip-code: %s', $Person['pIndex']); $Query[] = SPrintF('post-city: %s', $Person['pCity']); $Query[] = SPrintF('post-street: %s %s, %s', $Person['pType'], $Person['pAddress'], $Person['pRecipient']); #------------------------------------------------------------------------- $Query[] = SPrintF('reg-country: %s', $Person['pCountry']); $Query[] = SPrintF('reg-region: %s', $Person['pState']); $Query[] = SPrintF('reg-city: %s', $Person['pCity']); $Query[] = SPrintF('reg-street: %s %s', $Person['pType'], $Person['pAddress']); break; case 'Juridical': #------------------------------------------------------------------------- $Query[] = '[client]'; #------------------------------------------------------------------------- $Query[] = 'client-type: ЮРЛИЦО'; $Query[] = 'resident:'; #------------------------------------------------------------------------- $Query[] = SPrintF('ownership: %s', $Person['CompanyFormFull']); $Query[] = SPrintF('org-r: %s', $Person['CompanyName']); #------------------------------------------------------------------------- $Query[] = SPrintF('org: %s %s', Translit($Person['CompanyName']), Translit($Person['CompanyFormFull'])); $Query[] = SPrintF('email: %s', $Person['Email']); #------------------------------------------------------------------------- $Phone = $Person['Phone']; #------------------------------------------------------------------------- $Query[] = SPrintF('phone: %s', $Phone); #------------------------------------------------------------------------- $Fax = $Person['Fax']; #------------------------------------------------------------------------- $Query[] = SPrintF('fax: %s', $Fax ? $Fax : $Phone); $Query[] = SPrintF('contact: %s %s %s', $Person['dSourname'], $Person['dName'], $Person['dLastname']); $Query[] = SPrintF('inn: %s', $Person['Inn']); $Query[] = SPrintF('kpp: %s', $Person['Kpp']); #------------------------------------------------------------------------- $Query[] = SPrintF('post-country: %s', $Person['pCountry']); $Query[] = SPrintF('post-zip-code: %s', $Person['pIndex']); $Query[] = SPrintF('post-region: %s', $Person['pState']); $Query[] = SPrintF('post-city: %s', $Person['pCity']); $Query[] = SPrintF('post-street: %s %s, %s "%s"', $Person['pType'], $Person['pAddress'], $Person['CompanyFormFull'], $Person['CompanyName']); #------------------------------------------------------------------------- $Query[] = SPrintF('jur-country: %s', $Person['jCountry']); $Query[] = SPrintF('jur-zip-code: %s', $Person['jIndex']); $Query[] = SPrintF('jur-region: %s', $Person['jState']); $Query[] = SPrintF('jur-city: %s', $Person['jCity']); $Query[] = SPrintF('jur-street: %s %s', $Person['jType'], $Person['jAddress']); #------------------------------------------------------------------------- $Query[] = SPrintF('real-country: %s', $Person['jCountry']); $Query[] = SPrintF('real-zip-code: %s', $Person['jIndex']); $Query[] = SPrintF('real-region: %s', $Person['jState']); $Query[] = SPrintF('real-city: %s', $Person['jCity']); $Query[] = SPrintF('real-street: %s %s', $Person['pType'], $Person['jAddress']); break; default: return new gException('WRONG_PROFILE_ID', 'Неверный идентификатор профиля'); } #----------------------------------------------------------------------------- $Query = array('request' => Implode("\n", $Query)); #----------------------------------------------------------------------------- $Result = HTTP_Send('/partner_gateway', $HTTP, array(), $Query); if (Is_Error($Result)) { return ERROR | @Trigger_Error('[MasterName_Contract_Register]:не удалось выполнить запрос к серверу'); } #----------------------------------------------------------------------------- $Result = Trim($Result['Body']); #----------------------------------------------------------------------------- if (Preg_Match('/status:\\s([0-9]+)\\s/', $Result, $CodeID)) { #--------------------------------------------------------------------------- $CodeID = Next($CodeID); #--------------------------------------------------------------------------- switch ($CodeID) { case '200': # No more... # No more... case '201': # No more... # No more... case '202': return array('TicketID' => $RequestID); 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); }
return ERROR | @Trigger_Error(500); case 'exception': # No more... break; case 'array': #--------------------------------------------------------------------------- foreach ($Profiles as $Profile) { #------------------------------------------------------------------------- $Attribs = $Profile['Attribs']; #------------------------------------------------------------------------- #------------------------------------------------------------------------- $Attribs['pCountry'] = $Attribs['Country']; $Attribs['pState'] = $Attribs['State']; $Attribs['pCity'] = $Attribs['City']; $Attribs['pAddress'] = Trim(Preg_Replace('/ул./iu', '', $Attribs['Address'])); $Attribs['AddressEn'] = Translit($Attribs['pAddress']); $Attribs['pIndex'] = $Attribs['PostIndex']; $Attribs['pRecipient'] = $Attribs['Recipient']; #------------------------------------------------------------------------- #------------------------------------------------------------------------- $Attribs['PasportWhom'] = $Attribs['PasportWhom']; $Attribs['PasportDate'] = $Attribs['PasportDate']; #------------------------------------------------------------------------- if (Preg_Match('/(.*)\\s(.*)$/', $Attribs['PasportNum'], $Matches)) { #----------------------------------------------------------------------- $Attribs['PasportLine'] = Str_Replace(' ', '', $Matches[1]); $Attribs['PasportNum'] = $Matches[2]; } #------------------------------------------------------------------------- #------------------------------------------------------------------------- $Template = System_XML(SPrintF('profiles/%s.xml', $Profile['TemplateID']));
$Send = $Settings['Send']; #------------------------------------------------------------------------------- # нули после точки - обязательны $Send['WMI_PAYMENT_AMOUNT'] = Number_Format($Summ / $Settings['Course'], 2, '.', ''); #$Send['WMI_PAYMENT_AMOUNT'] = Round($Summ/$Settings['Course'],2); #------------------------------------------------------------------------------- $Send['WMI_PAYMENT_NO'] = $InvoiceID; #------------------------------------------------------------------------------- $Comp = Comp_Load('Formats/Invoice/Number', $InvoiceID); if (Is_Error($Comp)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- $__USER = $GLOBALS['__USER']; #------------------------------------------------------------------------------- $Send['WMI_DESCRIPTION'] .= SPrintF('%s, %s (%s)', $Comp, Translit($__USER['Name']), $__USER['Email']); #------------------------------------------------------------------------------- $Protocol = @$_SERVER['SERVER_PORT'] != 80 ? 'https' : 'http'; #------------------------------------------------------------------------------- $Send['WMI_SUCCESS_URL'] = SPrintF('%s://%s/Invoices', $Protocol, HOST_ID); $Send['WMI_FAIL_URL'] = SPrintF('%s://%s/Invoices?Error=yes', $Protocol, HOST_ID); #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- # а ещё в люобй форме есть CSRF $Send['CSRF'] = $GLOBALS['CSRF']; #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- //Сортировка значений внутри полей foreach ($Send as $name => $val) { #------------------------------------------------------------------------------- if (Is_Array($val)) {
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); }
#------------------------------------------------------------------------------- /** @author Великодный В.В. (Joonte Ltd.) */ /******************************************************************************/ /******************************************************************************/ $__args_list = array('SystemID', 'InvoiceID', 'Summ'); /******************************************************************************/ eval(COMP_INIT); /******************************************************************************/ /******************************************************************************/ $Config = Config(); #------------------------------------------------------------------------------- $Settings = $Config['Invoices']['PaymentSystems']['Egold']; #------------------------------------------------------------------------------- $Send = $Settings['Send']; #------------------------------------------------------------------------------- $Send['PAYMENT_ID'] = $InvoiceID; #------------------------------------------------------------------------------- $Send['PAYMENT_AMOUNT'] = Round($Summ / $Settings['Course'], 2); #------------------------------------------------------------------------------- $Comp = Comp_Load('Formats/Invoice/Number', $InvoiceID); if (Is_Error($Comp)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- $__USER = $GLOBALS['__USER']; #------------------------------------------------------------------------------- $Send['SUGGESTED_MEMO'] .= SPrintF('%s, %s (%s)', $Comp, Translit($__USER['Name']), $__USER['Email']); #------------------------------------------------------------------------------- return $Send; #-------------------------------------------------------------------------------
public function ValidateItem(&$invalidItem) { global $db, $rootPath; $rootFiles = scandir($rootPath); $rootDirs = false; foreach ($rootFiles as $filename) { if ($filename != "." && $filename != ".." && is_dir($rootPath . $filename)) { $rootDirs[] = $filename; } } $reservedAlias = array("search"); $reservedAlias = array_merge($reservedAlias, $rootDirs); if (isset($_POST["page_alias"]) && trim($_POST["page_alias"])) { $alias = trim($_POST["page_alias"]); $aliasGenerated = false; } else { $alias = Translit($_POST["page_name"]); $aliasGenerated = true; } do { if (is_numeric($alias[0])) { if ($aliasGenerated) { $alias = substr($alias, 1); continue; } $this->SetError("Alias не может начинаться с цифры."); break; } elseif (in_array($alias, $reservedAlias)) { if ($aliasGenerated) { $alias .= "_"; continue; } $this->SetError("Alias - " . $alias . " зарезервирован и не может использоваться."); break; } else { $pageId = $_POST[$this->DbKey] ? $_POST[$this->DbKey] : 0; $sql = "SELECT page_alias\n\t\t\t\t\t\t\t\tFROM {$this->DbTable}\n\t\t\t\t\t\t\t\tWHERE page_id <> {$pageId}"; if (!($result = $db->sql_query($sql))) { $this->SetError("Ошибка при выборе записей", __FILE__, __LINE__, $db->sql_error()); return false; } else { $items = $db->sql_fetchrowset($result); $db->sql_freeresult($result); $pageAliases = GetArrayOfFields($items, "page_alias"); if ($pageAliases && in_array($alias, $pageAliases)) { if ($aliasGenerated) { $alias .= "_"; continue; } $this->SetError("Alias - " . $alias . " уже используется в другой странице."); break; } else { $_POST["page_alias"] = $alias; break; } } } } while (true); return parent::ValidateItem($invalidItem); }
function InternetBS_Domain_Register($Settings, $DomainName, $DomainZone, $Years, $Ns1Name, $Ns1IP, $Ns2Name, $Ns2IP, $Ns3Name, $Ns3IP, $Ns4Name, $Ns4IP, $ContractID = '', $IsPrivateWhoIs, $PepsonID = 'Default', $Person = array()) { /****************************************************************************/ $__args_types = array('array', 'string', 'string', 'integer', 'string', 'string', 'string', 'string', 'string', 'string', 'string', 'string', 'boolean', 'string', 'string', 'array'); #----------------------------------------------------------------------------- $__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; $RegistrantFirstName = Translit($Person['Name']); $RegistrantLastName = Translit($Person['Lastname']); $RegistrantAddress1 = Translit($Person['pAddress']); $RegistrantCity = Translit($Person['pCity']); $RegistrantCountry = $Person['pCountry']; $RegistrantStateProvince = Translit($Person['pState']); $RegistrantPostalCode = $Person['pIndex']; $RegistrantEmailAddress = $Person['Email']; $RegistrantPhone = internetbs_reformatPhone($Person['Phone'], $Person['pCountry']); $domainName = $sld . '.' . $tld; $apiServerUrl = 'https://' . $Settings['Address'] . '/'; $commandUrl = $apiServerUrl . 'Domain/Create'; $nsar = array('ns1' => $Ns1Name, 'ns2' => $Ns2Name, 'ns3' => $Ns3Name, 'ns4' => $Ns4Name); $nslist = array(); for ($i = 1; $i <= 4; $i++) { if (isset($nsar["ns{$i}"])) { array_push($nslist, $nsar["ns{$i}"]); } } $data = array('apikey' => $username, 'password' => $password, 'domain' => $domainName, 'registrant_firstname' => $RegistrantFirstName, 'registrant_lastname' => $RegistrantLastName, 'registrant_street' => $RegistrantAddress1, 'registrant_city' => $RegistrantCity, 'registrant_countrycode' => $RegistrantCountry, 'registrant_postalcode' => $RegistrantPostalCode, 'registrant_email' => $RegistrantEmailAddress, 'registrant_phonenumber' => $RegistrantPhone, 'technical_firstname' => $RegistrantFirstName, 'technical_lastname' => $RegistrantLastName, 'technical_street' => $RegistrantAddress1, 'technical_city' => $RegistrantCity, 'technical_countrycode' => $RegistrantCountry, 'technical_postalcode' => $RegistrantPostalCode, 'technical_email' => $RegistrantEmailAddress, 'technical_phonenumber' => $RegistrantPhone, 'admin_firstname' => $RegistrantFirstName, 'admin_lastname' => $RegistrantLastName, 'admin_street' => $RegistrantAddress1, 'admin_city' => $RegistrantCity, 'admin_countrycode' => $RegistrantCountry, 'admin_postalcode' => $RegistrantPostalCode, 'admin_email' => $RegistrantEmailAddress, 'admin_phonenumber' => $RegistrantPhone, 'billing_firstname' => $RegistrantFirstName, 'billing_lastname' => $RegistrantLastName, 'billing_street' => $RegistrantAddress1, 'billing_city' => $RegistrantCity, 'billing_countrycode' => $RegistrantCountry, 'billing_postalcode' => $RegistrantPostalCode, 'billing_email' => $RegistrantEmailAddress, 'billing_phonenumber' => $RegistrantPhone); if (!empty($Person['CompanyName'])) { $data["Registrant_Organization"] = trim(Translit($Person['CompanyName'])); $data["technical_Organization"] = trim(Translit($Person['CompanyName'])); $data["admin_Organization"] = trim(Translit($Person['CompanyName'])); $data["billing_Organization"] = trim(Translit($Person['CompanyName'])); } if (count($nslist)) { $data['ns_list'] = trim(implode(',', $nslist), ","); } if (!$IsPrivateWhoIs) { $data["privateWhois"] = "FULL"; } else { $data["privateWhois"] = "DISABLE"; } $extarr = explode('.', $tld); $ext = array_pop($extarr); if ($tld == 'eu' || $tld == 'be' || $ext == 'uk') { $data['registrant_language'] = 'en'; } if ($tld == 'eu') { $europianLanguages = array("cs", "da", "de", "el", "en", "es", "et", "fi", "fr", "hu", "it", "lt", "lv", "mt", "nl", "pl", "pt", "sk", "sl", "sv", "ro", "bg", "ga"); if (!in_array($data['registrant_language'], $europianLanguages)) { $data['registrant_language'] = 'en'; } $europianCountries = array('AT', 'AX', 'BE', 'BG', 'CZ', 'CY', 'DE', 'DK', 'ES', 'EE', 'FI', 'FR', 'GR', 'GB', 'GF', 'GI', 'GP', 'HU', 'IE', 'IT', 'LT', 'LU', 'LV', 'MT', 'MQ', 'NL', 'PL', 'PT', 'RE', 'RO', 'SE', 'SK', 'SI'); if (!in_array($RegistrantCountry, $europianCountries)) { $RegistrantCountry = 'IT'; } $data['registrant_countrycode'] = $RegistrantCountry; } if ($tld == 'be') { if (!in_array($data['registrant_language'], array('en', 'fr', 'nl'))) { $data['registrant_language'] = 'en'; } if (!in_array($RegistrantCountry, array("AF", "AX", "AL", "DZ", "AS", "AD", "AO", "AI", "AQ", "AG", "AR", "AM", "AW", "AU", "AT", "AZ", "BS", "BH", "BD", "BB", "BY", "BE", "BZ", "BJ", "BM", "BT", "BO", "BA", "BW", "BV", "BR", "IO", "VG", "BN", "BG", "BF", "BI", "KH", "CM", "CA", "CV", "KY", "CF", "TD", "CL", "CN", "CX", "CC", "CO", "KM", "CG", "CK", "CR", "HR", "CU", "CY", "CZ", "CD", "DK", "DJ", "DM", "DO", "TL", "EC", "EG", "SV", "GQ", "ER", "EE", "ET", "FK", "FO", "FM", "FJ", "FI", "FR", "GF", "PF", "TF", "GA", "GM", "GE", "DE", "GH", "GI", "GR", "GL", "GD", "GP", "GU", "GT", "GN", "GW", "GY", "HT", "HM", "HN", "HK", "HU", "IS", "IN", "ID", "IR", "IQ", "IE", "IM", "IL", "IT", "CI", "JM", "JP", "JO", "KZ", "KE", "KI", "KW", "KG", "LA", "LV", "LB", "LS", "LR", "LY", "LI", "LT", "LU", "MO", "MK", "MG", "MW", "MY", "MV", "ML", "MT", "MH", "MQ", "MR", "MU", "YT", "MX", "MD", "MC", "MN", "ME", "MS", "MA", "MZ", "MM", "NA", "NR", "NP", "NL", "AN", "NC", "NZ", "NI", "NE", "NG", "NU", "NF", "KP", "MP", "NO", "OM", "PK", "PW", "PS", "PA", "PG", "PY", "PE", "PH", "PN", "PL", "PT", "PR", "QA", "RE", "RO", "RU", "RW", "SH", "KN", "LC", "PM", "VC", "WS", "SM", "ST", "SA", "SN", "RS", "SC", "SL", "SG", "SK", "SI", "SB", "SO", "ZA", "GS", "KR", "ES", "LK", "SD", "SR", "SJ", "SZ", "SE", "CH", "SY", "TW", "TJ", "TZ", "TH", "TG", "TK", "TO", "TT", "TN", "TR", "TM", "TC", "TV", "VI", "UG", "UA", "AE", "GB", "US", "UM", "UY", "UZ", "VU", "VA", "VE", "VN", "WF", "EH", "YE", "ZM", "ZW"))) { $RegistrantCountry = 'IT'; } $data['registrant_countrycode'] = $RegistrantCountry; } if ($tld == 'us') { $data['registrant_uspurpose'] = 'P3'; $data['registrant_usnexuscategory'] = 'C31'; $data['registrant_usnexuscountry'] = $Person['pCountry']; } if ($ext == 'uk') { $data['registrant_dotUKOrgType'] = "FOTHER"; $data['registrant_dotUKLocality'] = $RegistrantCountry; } if ($tld == 'asia') { return new gException('WRONG_ZONE_NAME', 'Указанная зона не поддерживается в автоматическом режиме'); } if (in_array($ext, array('fr', 're', 'pm', 'tf', 'wf', 'yt'))) { return new gException('WRONG_ZONE_NAME', 'Указанная зона не поддерживается в автоматическом режиме'); } if ($tld == 'tel') { $data['telHostingAccount'] = md5($RegistrantLastName . $RegistrantFirstName . time() . rand(0, 99999)); $data['telHostingPassword'] = '******' . rand(0, 99999); } if ($tld == 'it') { return new gException('WRONG_ZONE_NAME', 'Указанная зона не поддерживается в автоматическом режиме'); } if (isset($Years) && $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); #----------------------------------------------------------------------------- #Debug(print_r($data, true)); #Debug(print_r($Result, true)); 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); }
/******************************************************************************/ eval(COMP_INIT); /******************************************************************************/ /******************************************************************************/ $Config = Config(); #------------------------------------------------------------------------------- $Settings = $Config['Invoices']['PaymentSystems']['MailRu']; #------------------------------------------------------------------------------- $Send = $Settings['Send']; #------------------------------------------------------------------------------- $Send['sum'] = Round($Summ / $Settings['Course'], 2); #------------------------------------------------------------------------------- $Send['issuer_id'] = $InvoiceID; #------------------------------------------------------------------------------- $Comp = Comp_Load('Formats/Invoice/Number', $InvoiceID); if (Is_Error($Comp)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- $__USER = $GLOBALS['__USER']; $Send['description'] .= SPrintF('%s, %s (%s)', $Comp, Translit($__USER['Name']), $__USER['Email']); #------------------------------------------------------------------------------- $Send['message'] = $Send['description']; #------------------------------------------------------------------------------- $sha = sha1($Settings['Hash']); $Hash = array($Send['currency'], $Send['description'], $Send['issuer_id'], $Send['message'], $Send['shop_id'], $Send['sum'], $sha); #------------------------------------------------------------------------------- $Send['signature'] = sha1(Implode('', $Hash)); #------------------------------------------------------------------------------- return $Send; #-------------------------------------------------------------------------------
function Build_Query($Query = array(), $Params) { #------------------------------------------------------------------------------- if (In_Array($Params['DomainZone'], array('ru', 'su', 'рф'))) { #------------------------------------------------------------------------------- switch ($Params['PersonID']) { case 'Natural': #------------------------------------------------------------------------------- $Query['person'] = SPrintF('%s %s %s', Translit($Params['Person']['Name']), Mb_SubStr(Translit($Params['Person']['Lastname']), 0, 1), Translit($Params['Person']['Sourname'])); $Query['private_person'] = $Params['IsPrivateWhoIs'] ? '1' : '0'; $Query['person_r'] = SPrintF('%s %s %s', $Params['Person']['Sourname'], $Params['Person']['Name'], $Params['Person']['Lastname']); $Query['passport'] = SPrintF('%s %s выдан %s %s', $Params['Person']['PasportLine'], $Params['Person']['PasportNum'], $Params['Person']['PasportWhom'], $Params['Person']['PasportDate']); $Query['residence'] = SPrintF('%s, %s, %s, %s %s', $Params['Person']['pIndex'], $Params['Person']['pState'], $Params['Person']['pCity'], $Params['Person']['pType'], $Params['Person']['pAddress']); $Query['birth_date'] = $Params['Person']['BornDate']; $Query['country'] = isset($Params['Person']['PasportCountry']) ? $Params['Person']['PasportCountry'] : $Params['Person']['pCountry']; $Query['p_addr'] = SPrintF('%s, %s, %s, %s %s, %s', $Params['Person']['pIndex'], $Params['Person']['pState'], $Params['Person']['pCity'], $Params['Person']['pType'], $Params['Person']['pAddress'], $Params['Person']['pRecipient']); $Query['phone'] = $Params['Person']['Phone']; $Query['cell_phone'] = Preg_Replace('/\\s+/', '', $Params['Person']['CellPhone']); $Query['fax'] = $Params['Person']['Fax']; $Query['e_mail'] = $Params['Person']['Email']; #------------------------------------------------------------------------------- break; #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- case 'Juridical': #------------------------------------------------------------------------------- $Query['org'] = SPrintF('%s %s', Translit($Params['Person']['CompanyName']), Translit($Params['Person']['CompanyFormFull'])); $Query['org_r'] = SPrintF('%s "%s"', $Params['Person']['CompanyFormFull'], $Params['Person']['CompanyName']); $Query['code'] = $Params['Person']['Inn']; $Query['kpp'] = $Params['Person']['Kpp']; $Query['country'] = $Params['Person']['jCountry']; $Query['address_r'] = SPrintF('%s, %s, %s, %s %s', $Params['Person']['jIndex'], $Params['Person']['pState'], $Params['Person']['jCity'], $Params['Person']['jType'], $Params['Person']['jAddress']); $Query['p_addr'] = SPrintF('%s, %s, %s, %s, %s %s, %s "%s"', $Params['Person']['pIndex'], $Params['Person']['pState'], $Params['Person']['pCountry'], $Params['Person']['pCity'], $Params['Person']['pType'], $Params['Person']['pAddress'], $Params['Person']['CompanyFormFull'], $Params['Person']['CompanyName']); $Query['phone'] = $Params['Person']['Phone']; $Query['cell_phone'] = Preg_Replace('/\\s+/', '', $Params['Person']['CellPhone']); $Query['fax'] = $Params['Person']['Fax']; $Query['e_mail'] = $Params['Person']['Email']; #------------------------------------------------------------------------------- if (In_Array($Params['DomainZone'], array('ru', 'su', 'рф'))) { $Query['ogrn_org'] = $Params['Person']['Ogrn']; } #------------------------------------------------------------------------------- break; #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- default: return new gException('WRONG_PROFILE_ID', 'Неверный идентификатор профиля'); } #------------------------------------------------------------------------------- } elseif (In_Array($Params['DomainZone'], array('moscow', 'москва', 'by', 'tatar', 'дети'))) { #------------------------------------------------------------------------------- # Общие поля для организации и физ.лица $Phone = $Params['Person']['Phone']; #------------------------------------------------------------------------------- $Phone = Preg_Split('/\\s+/', $Phone); #------------------------------------------------------------------------------- $Phone = SPrintF('%s.%s%s', Current($Phone), Next($Phone), Next($Phone)); #------------------------------------------------------------------------------- $Query['o_phone'] = $Phone; $Query['addr_lang'] = isset($Params['Person']['jCountry']) ? $Params['Person']['jCountry'] : (isset($Params['Person']['PasportCountry']) ? $Params['Person']['PasportCountry'] : $Params['Person']['pCountry']); $Query['o_email'] = $Params['Person']['Email']; $Query['addr_cc'] = $Query['addr_lang']; $Query['country'] = $Query['addr_lang']; $Query['descr'] = 'Для представительских функций'; #------------------------------------------------------------------------------- switch ($Params['PersonID']) { case 'Natural': #------------------------------------------------------------------------------- $Query['person_r'] = SPrintF('%s %s %s', $Params['Person']['Sourname'], $Params['Person']['Name'], $Params['Person']['Lastname']); $Query['birth_date'] = $Params['Person']['BornDate']; $Query['passport'] = SPrintF('%s %s выдан %s %s', $Params['Person']['PasportLine'], $Params['Person']['PasportNum'], $Params['Person']['PasportWhom'], $Params['Person']['PasportDate']); $Query['addr_street'] = SPrintF('%s %s', $Params['Person']['pType'], $Params['Person']['pAddress']); $Query['addr_city'] = $Params['Person']['pCity']; $Query['addr_sp'] = $Params['Person']['pState']; $Query['addr_pc'] = $Params['Person']['pIndex']; #------------------------------------------------------------------------------- break; #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- case 'Juridical': #------------------------------------------------------------------------------- #Контактные данные организации (только при регистрации домена на организацию!) $Query['company_name'] = SPrintF('%s %s', $Params['Person']['CompanyName'], $Params['Person']['CompanyFormFull']); $Query['company_tin'] = $Params['Person']['Inn']; $Query['addr_street'] = SPrintF('%s %s', $Params['Person']['pType'], $Params['Person']['pAddress']); $Query['addr_city'] = $Params['Person']['pCity']; $Query['addr_sp'] = $Params['Person']['pState']; $Query['addr_pc'] = $Params['Person']['pIndex']; #------------------------------------------------------------------------------- $Query['legal_lang'] = 'RU'; $Query['legal_street'] = SPrintF('%s %s', $Params['Person']['jType'], $Params['Person']['jAddress']); $Query['legal_city'] = $Params['Person']['jCity']; $Query['legal_sp'] = $Params['Person']['jState']; $Query['legal_pc'] = $Params['Person']['jIndex']; #------------------------------------------------------------------------------- break; #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- default: return new gException('WRONG_PERSON_TYPE_ID_2', 'Неверный идентификатор типа персоны'); } #------------------------------------------------------------------------------- } else { #------------------------------------------------------------------------------- # для .kz - Местонахождение серверного оборудования... Москва, пл. Дзержинского, д. 2 =) $Query['street'] = 'ploschad Dzerzinskogo, dom 2'; $Query['city'] = 'Moscow'; $Query['sp'] = 'Moscow'; #------------------------------------------------------------------------------- switch ($Params['PersonID']) { case 'Natural': #------------------------------------------------------------------------------- $Query['o_company'] = 'Private person'; $Query['a_company'] = 'Private person'; $Query['t_company'] = 'Private person'; $Query['b_company'] = 'Private person'; #------------------------------------------------------------------------------- $Query['o_country_code'] = $Params['Person']['pCountry']; $Query['a_country_code'] = $Params['Person']['pCountry']; $Query['t_country_code'] = $Params['Person']['pCountry']; $Query['b_country_code'] = $Params['Person']['pCountry']; #------------------------------------------------------------------------------- $Query['o_postcode'] = $Params['Person']['pIndex']; $Query['a_postcode'] = $Params['Person']['pIndex']; $Query['t_postcode'] = $Params['Person']['pIndex']; $Query['b_postcode'] = $Params['Person']['pIndex']; #------------------------------------------------------------------------------- $Query['o_first_name'] = Translit($Params['Person']['Name']); $Query['a_first_name'] = Translit($Params['Person']['Name']); $Query['t_first_name'] = Translit($Params['Person']['Name']); $Query['b_first_name'] = Translit($Params['Person']['Name']); #------------------------------------------------------------------------------- $Query['o_last_name'] = Translit($Params['Person']['Sourname']); $Query['a_last_name'] = Translit($Params['Person']['Sourname']); $Query['t_last_name'] = Translit($Params['Person']['Sourname']); $Query['b_last_name'] = Translit($Params['Person']['Sourname']); #------------------------------------------------------------------------------- $Query['o_email'] = $Params['Person']['Email']; $Query['a_email'] = $Params['Person']['Email']; $Query['t_email'] = $Params['Person']['Email']; $Query['b_email'] = $Params['Person']['Email']; #------------------------------------------------------------------------------- $Query['o_addr'] = Translit(SPrintF('%s %s', $Params['Person']['pType'], $Params['Person']['pAddress'])); $Query['a_addr'] = Translit(SPrintF('%s %s', $Params['Person']['pType'], $Params['Person']['pAddress'])); $Query['t_addr'] = Translit(SPrintF('%s %s', $Params['Person']['pType'], $Params['Person']['pAddress'])); $Query['b_addr'] = Translit(SPrintF('%s %s', $Params['Person']['pType'], $Params['Person']['pAddress'])); #------------------------------------------------------------------------------- $Query['o_city'] = Translit($Params['Person']['pCity']); $Query['a_city'] = Translit($Params['Person']['pCity']); $Query['t_city'] = Translit($Params['Person']['pCity']); $Query['b_city'] = Translit($Params['Person']['pCity']); #------------------------------------------------------------------------------- $Query['o_state'] = Translit($Params['Person']['pState']); $Query['a_state'] = Translit($Params['Person']['pState']); $Query['t_state'] = Translit($Params['Person']['pState']); $Query['b_state'] = Translit($Params['Person']['pState']); #------------------------------------------------------------------------------- break; #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- case 'Juridical': #------------------------------------------------------------------------------- $Query['o_company'] = SPrintF('%s %s', Translit($Params['Person']['CompanyName']), Translit($Params['Person']['CompanyFormFull'])); $Query['a_company'] = SPrintF('%s %s', Translit($Params['Person']['CompanyName']), Translit($Params['Person']['CompanyFormFull'])); $Query['t_company'] = SPrintF('%s %s', Translit($Params['Person']['CompanyName']), Translit($Params['Person']['CompanyFormFull'])); $Query['b_company'] = SPrintF('%s %s', Translit($Params['Person']['CompanyName']), Translit($Params['Person']['CompanyFormFull'])); #------------------------------------------------------------------------------- $Query['o_country_code'] = $Params['Person']['jCountry']; $Query['a_country_code'] = $Params['Person']['jCountry']; $Query['t_country_code'] = $Params['Person']['jCountry']; $Query['b_country_code'] = $Params['Person']['jCountry']; #------------------------------------------------------------------------------- $Query['o_postcode'] = $Params['Person']['jIndex']; $Query['a_postcode'] = $Params['Person']['jIndex']; $Query['t_postcode'] = $Params['Person']['jIndex']; $Query['b_postcode'] = $Params['Person']['jIndex']; #------------------------------------------------------------------------------- $Query['o_first_name'] = Translit($Params['Person']['dName']); $Query['a_first_name'] = Translit($Params['Person']['dName']); $Query['t_first_name'] = Translit($Params['Person']['dName']); $Query['b_first_name'] = Translit($Params['Person']['dName']); #------------------------------------------------------------------------------- $Query['o_last_name'] = Translit($Params['Person']['dSourname']); $Query['a_last_name'] = Translit($Params['Person']['dSourname']); $Query['t_last_name'] = Translit($Params['Person']['dSourname']); $Query['b_last_name'] = Translit($Params['Person']['dSourname']); #------------------------------------------------------------------------------- $Query['o_email'] = $Params['Person']['Email']; $Query['a_email'] = $Params['Person']['Email']; $Query['t_email'] = $Params['Person']['Email']; $Query['b_email'] = $Params['Person']['Email']; #------------------------------------------------------------------------------- $Query['o_addr'] = Translit(SPrintF('%s %s', $Params['Person']['jType'], $Params['Person']['jAddress'])); $Query['a_addr'] = Translit(SPrintF('%s %s', $Params['Person']['jType'], $Params['Person']['jAddress'])); $Query['t_addr'] = Translit(SPrintF('%s %s', $Params['Person']['jType'], $Params['Person']['jAddress'])); $Query['b_addr'] = Translit(SPrintF('%s %s', $Params['Person']['jType'], $Params['Person']['jAddress'])); #------------------------------------------------------------------------------- $Query['o_city'] = Translit($Params['Person']['jCity']); $Query['a_city'] = Translit($Params['Person']['jCity']); $Query['t_city'] = Translit($Params['Person']['jCity']); $Query['b_city'] = Translit($Params['Person']['jCity']); #------------------------------------------------------------------------------- $Query['o_state'] = Translit($Params['Person']['jState']); $Query['a_state'] = Translit($Params['Person']['jState']); $Query['t_state'] = Translit($Params['Person']['jState']); $Query['b_state'] = Translit($Params['Person']['jState']); #------------------------------------------------------------------------------- break; #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- default: return new gException('WRONG_PERSON_TYPE_ID', 'Неверный идентификатор типа персоны'); } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- $Phone = $Params['Person']['Phone']; #------------------------------------------------------------------------------- if ($Phone) { #------------------------------------------------------------------------------- $Phone = Preg_Split('/\\s+/', $Phone); #------------------------------------------------------------------------------- $Phone = SPrintF('%s.%s%s', Current($Phone), Next($Phone), Next($Phone)); #------------------------------------------------------------------------------- $Query['o_phone'] = $Phone; $Query['a_phone'] = $Phone; $Query['t_phone'] = $Phone; $Query['b_phone'] = $Phone; #------------------------------------------------------------------------------- } else { #------------------------------------------------------------------------------- $Query['o_phone'] = ''; $Query['a_phone'] = ''; $Query['t_phone'] = ''; $Query['b_phone'] = ''; #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- $Fax = $Params['Person']['Fax']; #------------------------------------------------------------------------------- if ($Fax) { #------------------------------------------------------------------------------- $Fax = Preg_Split('/\\s+/', $Fax); #------------------------------------------------------------------------------- $Fax = SPrintF('%s.%s%s', Current($Fax), Next($Fax), Next($Fax)); #------------------------------------------------------------------------------- $Query['o_fax'] = $Fax; $Query['a_fax'] = $Fax; $Query['t_fax'] = $Fax; $Query['b_fax'] = $Fax; #------------------------------------------------------------------------------- } else { #------------------------------------------------------------------------------- $Query['o_fax'] = ''; $Query['a_fax'] = ''; $Query['t_fax'] = ''; $Query['b_fax'] = ''; #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- $Query['ns0'] = $Params['Ns1Name']; $Query['ns1'] = $Params['Ns2Name']; #------------------------------------------------------------------------------- if ($Params['Ns3Name']) { $Query['ns3'] = $Params['Ns3Name']; } #------------------------------------------------------------------------------- if ($Params['Ns4Name']) { $Query['ns4'] = $Params['Ns4Name']; } #------------------------------------------------------------------------------- if ($Params['Ns1IP'] && $Params['Ns2IP']) { #------------------------------------------------------------------------------- $Query['ns0ip'] = $Params['Ns1IP']; $Query['ns1ip'] = $Params['Ns2IP']; } #------------------------------------------------------------------------------- if ($Params['Ns3IP']) { $Query['ns3ip'] = $Params['Ns3IP']; } #------------------------------------------------------------------------------- if ($Params['Ns4IP']) { $Query['ns4ip'] = $Params['Ns4IP']; } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- if ($Params['DomainZone'] == 'aero') { $Query['aerodata'] = SPrintF('%s.%s', $Params['DomainName'], $Params['DomainZone']); } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- return $Query; #------------------------------------------------------------------------------- }