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;
}
Example #2
0
 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);
     }
 }
Example #3
0
function Started_Contract_Register($Settings, $PepsonID, $Person, $DomainZone)
{
    /****************************************************************************/
    $__args_types = array('array', 'string', 'array', 'string');
    #-----------------------------------------------------------------------------
    $__args__ = Func_Get_Args();
    eval(FUNCTION_INIT);
    /****************************************************************************/
    $HTTP = array('Protocol' => $Settings['Protocol'], 'Port' => $Settings['Port'], 'Address' => $Settings['Address'], 'Host' => $Settings['Address'], 'IsLogging' => $Settings['Params']['IsLogging']);
    #-----------------------------------------------------------------------------
    $Reseller = new Tag('reseller');
    $Reseller->AddChild(new Tag('login', $Settings['Login']));
    $Reseller->AddChild(new Tag('password', $Settings['Password']));
    #-----------------------------------------------------------------------------
    $Tmp = System_Element('tmp');
    if (Is_Error($Tmp)) {
        return ERROR | @Trigger_Error(500);
    }
    #-----------------------------------------------------------------------------
    $pCountry = isset($Person['PasportCountry']) ? $Person['PasportCountry'] : $Person['pCountry'];
    #-----------------------------------------------------------------------------
    $Path = SPrintF('%s/started/states[%s].json', $Tmp, $pCountry);
    #-----------------------------------------------------------------------------
    if (File_Exists($Path)) {
        #---------------------------------------------------------------------------
        $States = IO_Read($Path);
        if (Is_Error($States)) {
            return ERROR | @Trigger_Error(500);
        }
        #---------------------------------------------------------------------------
        $States = JSON_Decode($States, TRUE);
        if (!$States) {
            return ERROR | @Trigger_Error(500);
        }
    } else {
        #---------------------------------------------------------------------------
        $Request = new Tag('RequestBody', $Reseller);
        #---------------------------------------------------------------------------
        $objCountry = new Tag('objCountry');
        $objCountry->AddChild(new Tag('method', 'getRegions'));
        $objCountry->AddChild(new Tag('country', $pCountry));
        #---------------------------------------------------------------------------
        $Request->AddChild($objCountry);
        #---------------------------------------------------------------------------
        $Post = SprintF("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n%s", $Request->ToXMLString());
        #---------------------------------------------------------------------------
        $Responce = HTTP_Send('/', $HTTP, array(), $Post, array('Content-type: text/xml'));
        if (Is_Error($Responce)) {
            return ERROR | @Trigger_Error(500);
        }
        #---------------------------------------------------------------------------
        $Response = Trim($Responce['Body']);
        #---------------------------------------------------------------------------
        $Answer = String_XML_Parse($Response);
        if (Is_Exception($Answer)) {
            return new gException('WRONG_ANSWER', $Response, $Answer);
        }
        #---------------------------------------------------------------------------
        $States = Current($States->ToArray('item'));
        #---------------------------------------------------------------------------
        $IsWrite = IO_Write($Path, JSON_Encode($States), TRUE);
        if (Is_Error($IsWrite)) {
            return ERROR | @Trigger_Error(500);
        }
    }
    #-----------------------------------------------------------------------------
    $objUser = new Tag('objUser');
    $objUser->AddChild(new Tag('method', 'create'));
    #-----------------------------------------------------------------------------
    $objUser->AddChild(new Tag('email', $Person['Email']));
    $objUser->AddChild(new Tag('password', SubStr(Md5(UniqID()), -8)));
    #-----------------------------------------------------------------------------
    $IsRussian = In_Array(isset($Person['PasportCountry']) ? $Person['PasportCountry'] : $Person['pCountry'], array('RU', 'BY', 'UA'));
    #-----------------------------------------------------------------------------
    switch ($PepsonID) {
        case 'Natural':
            #-------------------------------------------------------------------------
            $pStateID = 0;
            #-------------------------------------------------------------------------
            $pState = $Person['pState'];
            #-------------------------------------------------------------------------
            foreach ($States as $State) {
                #-----------------------------------------------------------------------
                if (Preg_Match(SPrintF('/%s/', StrToLower($State['title'])), StrToLower($pState))) {
                    #---------------------------------------------------------------------
                    $pStateID = $State['id'];
                    #---------------------------------------------------------------------
                    Debug(SPrintF('Найдена область: %s', $pStateID));
                    #---------------------------------------------------------------------
                    break;
                }
            }
            #-------------------------------------------------------------------------
            if (!$pStateID) {
                #-----------------------------------------------------------------------
                Debug(SPrintF('Область не найдена, проверьте название области (%s)', $pState));
                #-----------------------------------------------------------------------
                return new gException('POST_REGION_NOT_FOUND', 'Область почтового адреса не найдена');
            }
            #-------------------------------------------------------------------------
            $objUser->AddChild(new Tag('type', 'person'));
            #-------------------------------------------------------------------------
            if ($IsRussian) {
                #-----------------------------------------------------------------------
                $objUser->AddChild(new Tag('fname', $Person['Name']));
                $objUser->AddChild(new Tag('lname', $Person['Lastname']));
                $objUser->AddChild(new Tag('mname', $Person['Sourname']));
                $objUser->AddChild(new Tag('doc_issued', $Person['PasportWhom']));
            } else {
                $objUser->AddChild(new Tag('fname', Translit($Person['Name'])));
                $objUser->AddChild(new Tag('lname', Translit($Person['Lastname'])));
                $objUser->AddChild(new Tag('mname', Translit($Person['Sourname'])));
                $objUser->AddChild(new Tag('doc_issued', Translit($Person['PasportWhom'])));
            }
            #-------------------------------------------------------------------------
            $objUser->AddChild(new Tag('p_inn', ''));
            $objUser->AddChild(new Tag('doc_serial', $Person['PasportLine']));
            $objUser->AddChild(new Tag('doc_number', $Person['PasportNum']));
            $objUser->AddChild(new Tag('doc_date', $Person['PasportDate']));
            $objUser->AddChild(new Tag('birth_date', $Person['BornDate']));
            #-------------------------------------------------------------------------
            $objUser->AddChild(new Tag('country', StrToLower(isset($Person['PasportCountry']) ? $Person['PasportCountry'] : $Person['pCountry'])));
            #-------------------------------------------------------------------------
            $objUser->AddChild(new Tag('zip', $Person['pIndex']));
            $objUser->AddChild(new Tag('state', $pStateID));
            $objUser->AddChild(new Tag('city_type', 'city'));
            $objUser->AddChild(new Tag('addr_type', StrToLower($Person['pType'])));
            #-------------------------------------------------------------------------
            if ($IsRussian) {
                #-----------------------------------------------------------------------
                $objUser->AddChild(new Tag('city', $Person['pCity']));
                $objUser->AddChild(new Tag('addr', SPrintF('%s %s', $Person['pType'], $Person['pAddress'])));
            } else {
                $objUser->AddChild(new Tag('city', Translit($Person['pCity'])));
                $objUser->AddChild(new Tag('addr', Translit(SPrintF('%s %s', $Person['pType'], $Person['pAddress']))));
            }
            #-------------------------------------------------------------------------
            $objUser->AddChild(new Tag('pzip', $Person['pIndex']));
            $objUser->AddChild(new Tag('pstate', $pStateID));
            $objUser->AddChild(new Tag('pcity_type', 'city'));
            $objUser->AddChild(new Tag('paddr_type', StrToLower($Person['pType'])));
            #-------------------------------------------------------------------------
            if ($IsRussian) {
                #-----------------------------------------------------------------------
                $objUser->AddChild(new Tag('pcity', $Person['pCity']));
                $objUser->AddChild(new Tag('paddr', SPrintF('%s %s', $Person['pType'], $Person['pAddress'])));
                $objUser->AddChild(new Tag('pto', $Person['pRecipient']));
            } else {
                #-----------------------------------------------------------------------
                $objUser->AddChild(new Tag('pcity', Translit($Person['pCity'])));
                $objUser->AddChild(new Tag('paddr', Translit(SPrintF('%s %s', $Person['pType'], $Person['pAddress']))));
                $objUser->AddChild(new Tag('pto', Translit($Person['pRecipient'])));
            }
            break;
        case 'Juridical':
            #-------------------------------------------------------------------------
            $objUser->AddChild(new Tag('type', 'organization'));
            #-------------------------------------------------------------------------
            if ($IsRussian) {
                #-----------------------------------------------------------------------
                $objUser->AddChild(new Tag('fname', $Person['dName']));
                $objUser->AddChild(new Tag('lname', $Person['dLastname']));
                $objUser->AddChild(new Tag('mname', $Person['dSourname']));
                $objUser->AddChild(new Tag('org', SPrintF('%s "%s"', $Person['CompanyFormFull'], $Person['CompanyName'])));
            } else {
                $objUser->AddChild(new Tag('fname', Translit($Person['dName'])));
                $objUser->AddChild(new Tag('lname', Translit($Person['dLastname'])));
                $objUser->AddChild(new Tag('mname', Translit($Person['dSourname'])));
                $objUser->AddChild(new Tag('org', SPrintF('%s %s', Translit($Person['CompanyName']), Translit($Person['CompanyFormFull']))));
            }
            #-------------------------------------------------------------------------
            $objUser->AddChild(new Tag('o_inn', $Person['Inn']));
            $objUser->AddChild(new Tag('kpp', $Person['Kpp']));
            #-------------------------------------------------------------------------
            $objUser->AddChild(new Tag('country', StrToLower($Person['jCountry'])));
            #-------------------------------------------------------------------------
            $objUser->AddChild(new Tag('zip', $Person['jIndex']));
            #-------------------------------------------------------------------------
            $jStateID = 0;
            #-------------------------------------------------------------------------
            $jState = $Person['jState'];
            #-------------------------------------------------------------------------
            foreach ($States as $State) {
                #-----------------------------------------------------------------------
                if (Preg_Match(SPrintF('/%s/', StrToLower($State['title'])), StrToLower($jState))) {
                    #---------------------------------------------------------------------
                    $jStateID = $State['id'];
                    #---------------------------------------------------------------------
                    Debug(SPrintF('Найдена область: %s', $jStateID));
                    #---------------------------------------------------------------------
                    break;
                }
            }
            #-------------------------------------------------------------------------
            if (!$jStateID) {
                #-----------------------------------------------------------------------
                Debug(SPrintF('Область не найдена, проверьте название области (%s)', $jState));
                #-----------------------------------------------------------------------
                return new gException('JURIDICAL_REGION_NOT_FOUND', 'Область юридического адреса не найдена');
            }
            #-------------------------------------------------------------------------
            $objUser->AddChild(new Tag('state', $jStateID));
            $objUser->AddChild(new Tag('city_type', 'city'));
            $objUser->AddChild(new Tag('addr_type', StrToLower($Person['jType'])));
            #-------------------------------------------------------------------------
            if ($IsRussian) {
                #-----------------------------------------------------------------------
                $objUser->AddChild(new Tag('city', $Person['jCity']));
                $objUser->AddChild(new Tag('addr', SPrintF('%s %s', $Person['jType'], $Person['jAddress'])));
            } else {
                $objUser->AddChild(new Tag('city', Translit($Person['jCity'])));
                $objUser->AddChild(new Tag('addr', Translit(SPrintF('%s %s', $Person['jType'], $Person['jAddress']))));
            }
            #-------------------------------------------------------------------------
            $objUser->AddChild(new Tag('pzip', $Person['pIndex']));
            #-------------------------------------------------------------------------
            $pStateID = 0;
            #-------------------------------------------------------------------------
            $pState = $Person['pState'];
            #-------------------------------------------------------------------------
            foreach ($States as $State) {
                #-----------------------------------------------------------------------
                if (Preg_Match(SPrintF('/%s/', StrToLower($State['title'])), StrToLower($pState))) {
                    #---------------------------------------------------------------------
                    $pStateID = $State['id'];
                    #---------------------------------------------------------------------
                    Debug(SPrintF('Найдена область: %s', $pStateID));
                    #---------------------------------------------------------------------
                    break;
                }
            }
            #-------------------------------------------------------------------------
            if (!$pStateID) {
                #-----------------------------------------------------------------------
                Debug(SPrintF('Область не найдена, проверьте название области (%s)', $pState));
                #-----------------------------------------------------------------------
                return new gException('POST_REGION_NOT_FOUND', 'Область почтового адреса не найдена');
            }
            #-------------------------------------------------------------------------
            $objUser->AddChild(new Tag('pstate', $pStateID));
            $objUser->AddChild(new Tag('pcity_type', 'city'));
            $objUser->AddChild(new Tag('paddr_type', StrToLower($Person['pType'])));
            #-------------------------------------------------------------------------
            if ($IsRussian) {
                #-----------------------------------------------------------------------
                $objUser->AddChild(new Tag('pcity', $Person['pCity']));
                $objUser->AddChild(new Tag('paddr', SPrintF('%s %s', $Person['pType'], $Person['pAddress'])));
                $objUser->AddChild(new Tag('pto', SPrintF('%s "%s"', $Person['CompanyFormFull'], $Person['CompanyName'])));
            } else {
                $objUser->AddChild(new Tag('pcity', Translit($Person['pCity'])));
                $objUser->AddChild(new Tag('paddr', Translit(SPrintF('%s %s', $Person['pType'], $Person['pAddress']))));
                $objUser->AddChild(new Tag('pto', SPrintF('%s %s', Translit($Person['CompanyName']), Translit($Person['CompanyFormFull']))));
            }
            break;
        default:
            return ERROR | @Trigger_Error(101);
    }
    #-----------------------------------------------------------------------------
    $Phone = $Person['Phone'];
    #-----------------------------------------------------------------------------
    if ($Phone) {
        #---------------------------------------------------------------------------
        $Phone = StrPBrk($Phone, ' ');
        #---------------------------------------------------------------------------
        $objUser->AddChild(new Tag('tel', Trim($Phone)));
    } else {
        $objUser->AddChild(new Tag('tel'));
    }
    #-----------------------------------------------------------------------------
    $Fax = $Person['Fax'];
    #-----------------------------------------------------------------------------
    if ($Fax) {
        #---------------------------------------------------------------------------
        $Fax = StrPBrk($Fax, ' ');
        #---------------------------------------------------------------------------
        $objUser->AddChild(new Tag('fax', Trim($Fax)));
    } else {
        $objUser->AddChild(new Tag('fax'));
    }
    #-----------------------------------------------------------------------------
    $Request = new Tag('RequestBody', $Reseller);
    #-----------------------------------------------------------------------------
    $Request->AddChild($objUser);
    #-----------------------------------------------------------------------------
    $Post = SprintF("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n%s", $Request->ToXMLString());
    #-----------------------------------------------------------------------------
    $Responce = HTTP_Send('/', $HTTP, array(), $Post, array('Content-type: text/xml; charset=utf-8'));
    if (Is_Error($Responce)) {
        return ERROR | @Trigger_Error(500);
    }
    #-----------------------------------------------------------------------------
    $Response = Trim($Responce['Body']);
    #-----------------------------------------------------------------------------
    $Answer = String_XML_Parse($Response);
    if (Is_Exception($Answer)) {
        return new gException('WRONG_ANSWER', $Response, $Answer);
    }
    #-----------------------------------------------------------------------------
    $Answer = $Answer->ToArray();
    #-----------------------------------------------------------------------------
    $Answer = $Answer['AnswerBody'];
    #-----------------------------------------------------------------------------
    if (isset($Answer['statusCode'])) {
        return new gException('REGISTRATOR_ERROR', SPrintF('[%s]=(%s)', $Answer['statusCode'], $Answer['statusMessage']));
    }
    #-----------------------------------------------------------------------------
    return array('TicketID' => $Answer['user_id']);
}
Example #4
0
/** @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;
#-------------------------------------------------------------------------------
Example #5
0
/******************************************************************************/
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;
#-------------------------------------------------------------------------------
Example #6
0
$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'];
#-------------------------------------------------------------------------------
# и телефон, если есть
Example #7
0
$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;
#-------------------------------------------------------------------------------
Example #8
0
function LogicBoxes_Contract_Register($Settings, $PepsonID, $Person, $DomainZone)
{
    /****************************************************************************/
    $__args_types = array('array', 'string', 'array', 'string');
    #-----------------------------------------------------------------------------
    $__args__ = Func_Get_Args();
    eval(FUNCTION_INIT);
    /****************************************************************************/
    $Wsdl = System_Element('config/Wsdl/Customer.wsdl');
    if (Is_Error($Wsdl)) {
        return ERROR | @Trigger_Error(500);
    }
    #-----------------------------------------------------------------------------
    $AddCustomer = new SoapClient($Wsdl, array('exceptions' => 0));
    #-----------------------------------------------------------------------------
    $Params = array('SERVICE_USERNAME' => $Settings['Login'], 'SERVICE_PASSWORD' => $Settings['Password'], 'SERVICE_ROLE' => 'reseller', 'SERVICE_LANGPREF' => 'ru', 'SERVICE_PARENTID' => $Settings['ParentID'], 'customerUserName' => $Person['Email'], 'customerPassword' => UniqID());
    #-----------------------------------------------------------------------------
    switch ($PepsonID) {
        case 'Natural':
            #-------------------------------------------------------------------------
            $Params['name'] = SPrintF('%s %s %s', Translit($Person['Name']), Mb_SubStr(Translit($Person['Lastname']), 0, 1), Translit($Person['Sourname']));
            $Params['company'] = 'N/A';
            $Params['address1'] = Translit(SPrintF('%s %s', $Person['pType'], $Person['pAddress']));
            $Params['address2'] = Translit(SPrintF('%s %s', $Person['pType'], $Person['pAddress']));
            $Params['address3'] = Translit(SPrintF('%s %s', $Person['pType'], $Person['pAddress']));
            $Params['city'] = Translit($Person['pCity']);
            $Params['state'] = Translit($Person['pState']);
            $Params['country'] = isset($Person['PasportCountry']) ? $Person['PasportCountry'] : $Person['pCountry'];
            $Params['zip'] = $Person['pIndex'];
            break;
        case 'Juridical':
            #-------------------------------------------------------------------------
            $Params['name'] = SPrintF('%s %s %s', Translit($Person['dName']), Translit($Person['dLastname']), Translit($Person['dSourname']));
            $Params['company'] = SPrintF('%s %s', Translit($Person['CompanyName']), Translit($Person['CompanyFormFull']));
            $Params['address1'] = Translit(SPrintF('%s %s', $Person['jType'], $Person['jAddress']));
            $Params['address2'] = Translit(SPrintF('%s %s', $Person['pType'], $Person['pAddress']));
            $Params['address3'] = Translit(SPrintF('%s %s', $Person['pType'], $Person['pAddress']));
            $Params['city'] = Translit($Person['jCity']);
            $Params['state'] = Translit($Person['jState']);
            $Params['country'] = Translit($Person['jCountry']);
            $Params['zip'] = $Person['jIndex'];
            break;
        default:
            return ERROR | @Trigger_Error(400);
    }
    #-----------------------------------------------------------------------------
    $Phone = $Person['Phone'];
    #-----------------------------------------------------------------------------
    if ($Phone) {
        #---------------------------------------------------------------------------
        $Phone = Preg_Split('/\\s+/', $Phone);
        #---------------------------------------------------------------------------
        $Params['telNoCc'] = Trim(Current($Phone), '+');
        $Params['telNo'] = SPrintF('%s%s', Next($Phone), Next($Phone));
        #---------------------------------------------------------------------------
        Reset($Phone);
        #---------------------------------------------------------------------------
        $Params['altTelNoCc'] = Trim(Current($Phone), '+');
        $Params['altTelNo'] = SPrintF('%s%s', Next($Phone), Next($Phone));
    } else {
        #---------------------------------------------------------------------------
        $Params['telNoCc'] = '';
        $Params['telNo'] = '';
        $Params['altTelNoCc'] = '';
        $Params['altTelNo'] = '';
    }
    #-----------------------------------------------------------------------------
    $Fax = $Person['Fax'];
    #-----------------------------------------------------------------------------
    if ($Fax) {
        #---------------------------------------------------------------------------
        $Fax = Preg_Split('/\\s+/', $Fax);
        #---------------------------------------------------------------------------
        $Params['faxNoCc'] = Trim(Current($Fax), '+');
        $Params['faxNo'] = SPrintF('%s%s', Next($Fax), Next($Fax));
    } else {
        #---------------------------------------------------------------------------
        $Params['faxNoCc'] = '';
        $Params['faxNo'] = '';
    }
    #-----------------------------------------------------------------------------
    $Params['customerLangPref'] = 'ru';
    #-----------------------------------------------------------------------------
    Debug(Print_R($Params, TRUE));
    #-----------------------------------------------------------------------------
    $Response = $AddCustomer->__SoapCall('addCustomer', $Params);
    #-----------------------------------------------------------------------------
    if (Is_SOAP_Fault($Response)) {
        #---------------------------------------------------------------------------
        Debug($Response->faultstring);
        #---------------------------------------------------------------------------
        return new gException('ANSWER_ERROR', 'Ошибка обращения к регистратору');
    }
    #-----------------------------------------------------------------------------
    $CustomerID = $Response;
    #-----------------------------------------------------------------------------
    $Wsdl = System_Element('config/Wsdl/DomContact.wsdl');
    if (Is_Error($Wsdl)) {
        return ERROR | @Trigger_Error(500);
    }
    #-----------------------------------------------------------------------------
    $DefaultContact = new SoapClient($Wsdl, array('exceptions' => 0));
    #-----------------------------------------------------------------------------
    $Response = $DefaultContact->addDefaultContact($Settings['Login'], $Settings['Password'], 'reseller', 'ru', $Settings['ParentID'], $CustomerID);
    #-----------------------------------------------------------------------------
    if (Is_SOAP_Fault($Response)) {
        #---------------------------------------------------------------------------
        Debug($Response->faultstring);
        #---------------------------------------------------------------------------
        return new gException('ANSWER_ERROR', 'Ошибка обращения к регистратору');
    }
    #-----------------------------------------------------------------------------
    return array('TicketID' => $CustomerID);
}
Example #9
0
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);
}
Example #10
0
$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);
# кодировка
Example #11
0
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);
}
Example #12
0
 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']);
}
Example #14
0
 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);
         }
     }
 }
Example #15
0
#-------------------------------------------------------------------------------
/** @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;
#-------------------------------------------------------------------------------
Example #16
0
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);
}
Example #17
0
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);
}
Example #18
0
     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']));
Example #19
0
$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)) {
Example #20
0
function RuCenter_Contract_Register($Settings, $PepsonID, $Person, $DomainZone)
{
    /****************************************************************************/
    $__args_types = array('array', 'string', 'array', 'string');
    #-----------------------------------------------------------------------------
    $__args__ = Func_Get_Args();
    eval(FUNCTION_INIT);
    /****************************************************************************/
    $HTTP = array('Address' => $Settings['Address'], 'Port' => $Settings['Port'], 'Host' => $Settings['Address'], 'Protocol' => $Settings['Protocol'], 'Charset' => 'KOI8-R', 'IsLogging' => $Settings['Params']['IsLogging']);
    #-----------------------------------------------------------------------------
    $Query = array();
    #---------------------------------------------------------------------------
    $RequestID = UniqID('ID');
    #---------------------------------------------------------------------------
    $Query[] = 'lang: ru';
    $Query[] = 'request: contract';
    $Query[] = 'operation: create';
    $Query[] = SPrintF('login: %s', $Settings['Login']);
    $Query[] = SPrintF('password: %s', $Settings['Password']);
    $Query[] = SPrintF('request-id: %s', $RequestID);
    #---------------------------------------------------------------------------
    $Query[] = '';
    #---------------------------------------------------------------------------
    $Query[] = '[contract]';
    $Query[] = SPrintF('password: %s', UniqID());
    $Query[] = SPrintF('tech-password: %s', UniqID());
    $Query[] = 'currency-id: RUR';
    #---------------------------------------------------------------------------
    $Query[] = '';
    #---------------------------------------------------------------------------
    switch ($PepsonID) {
        case 'Natural':
            #-----------------------------------------------------------------------
            $Query[] = 'contract-type: PRS';
            $Query[] = SPrintF('person: %s %s %s', Translit($Person['Name']), Mb_SubStr(Translit($Person['Lastname']), 0, 1), Translit($Person['Sourname']));
            $Query[] = SPrintF('person-r: %s %s %s', $Person['Sourname'], $Person['Name'], $Person['Lastname']);
            $Query[] = SPrintF('country: %s', isset($Person['PasportCountry']) ? $Person['PasportCountry'] : $Person['pCountry']);
            $Query[] = SPrintF('phone: %s', $Person['Phone']);
            $Query[] = SPrintF('fax-no: %s', $Person['Fax']);
            $Query[] = SPrintF('birth-date: %s', $Person['BornDate']);
            $Query[] = SPrintF('passport: %s %s выдан %s, %s', $Person['PasportLine'], $Person['PasportNum'], $Person['PasportWhom'], $Person['PasportDate']);
            $Query[] = SPrintF('p-addr: %s, %s, %s, %s %s, %s', $Person['pIndex'], $Person['pState'], $Person['pCity'], $Person['pType'], $Person['pAddress'], $Person['pRecipient']);
            $Query[] = SPrintF('e-mail: %s', $Person['Email']);
            break;
        case 'Juridical':
            #-----------------------------------------------------------------------
            $Query[] = 'client-type: ORG';
            $Query[] = SPrintF('org: %s %s', Translit($Person['CompanyName']), Translit($Person['CompanyFormFull']));
            $Query[] = SPrintF('org-r: %s', SPrintF('%s "%s"', $Person['CompanyFormFull'], $Person['CompanyName']));
            $Query[] = SPrintF('country: %s', $Person['jCountry']);
            $Query[] = SPrintF('e-mail: %s', $Person['Email']);
            $Query[] = SPrintF('phone: %s', $Person['Phone']);
            $Query[] = SPrintF('fax-no: %s', $Person['Fax']);
            $Query[] = SPrintF('code: %s', $Person['Inn']);
            $Query[] = SPrintF('kpp: %s', $Person['Kpp']);
            $Query[] = SPrintF('address-r: %s, %s, %s, %s %s', $Person['jIndex'], $Person['jState'], $Person['jCity'], $Person['jType'], $Person['jAddress']);
            $Query[] = SPrintF('p-addr: %s, %s, %s, %s %s, %s "%s"', $Person['pIndex'], $Person['pState'], $Person['pCity'], $Person['pType'], $Person['pAddress'], $Person['CompanyFormFull'], $Person['CompanyName']);
            $Query[] = SPrintF('d-addr: %s, %s, %s, %s %s', $Person['jIndex'], $Person['jState'], $Person['jCity'], $Person['jType'], $Person['jAddress']);
            break;
        default:
            return new gException('WRONG_PROFILE_ID', 'Неверный идентификатор профиля');
    }
    #-----------------------------------------------------------------------------
    $Result = HTTP_Send('/dns/dealer', $HTTP, array(), array('SimpleRequest' => Implode("\n", $Query)));
    if (Is_Error($Result)) {
        return ERROR | @Trigger_Error('[RuCenter_Contract_Register]: не удалось выполнить запрос к серверу');
    }
    #-----------------------------------------------------------------------------
    if (Preg_Match('/HTTP\\/1.0\\s502/i', $Result['Heads'])) {
        return false;
    }
    #-----------------------------------------------------------------------------
    $Result = Trim($Result['Body']);
    #-----------------------------------------------------------------------------
    if (Preg_Match('/State:\\s([0-9]+)/', $Result, $CodeID)) {
        #---------------------------------------------------------------------------
        $CodeID = Next($CodeID);
        #---------------------------------------------------------------------------
        switch ($CodeID) {
            case '200':
                #-----------------------------------------------------------------------
                if (!Preg_Match('/nic-hdl:\\s([0-9]+\\/[A-Z\\-]+)/', $Result, $ContractID)) {
                    return new gException('LOGIN_NOT_FOUND', 'Неудалось получить номер договора');
                } else {
                    $ContractID = Next($ContractID);
                }
                break;
            case '500':
                return FALSE;
            default:
                return new gException('WRONG_ERROR', SPrintF('Неизвестный статус ошибки (%s)', $Result));
        }
    } else {
        return new gException('WRONG_ANSWER', $Result);
    }
    #-----------------------------------------------------------------------------
    # Делаем паузу перед запросом
    Sleep(10);
    #-----------------------------------------------------------------------------
    if (!In_Array($DomainZone, array('ru', 'su'))) {
        #---------------------------------------------------------------------------
        $Query = array();
        #---------------------------------------------------------------------------
        $RequestID = UniqID('ID');
        #---------------------------------------------------------------------------
        $Query[] = SPrintF('login: %s', $Settings['Login']);
        $Query[] = SPrintF('password: %s', $Settings['Password']);
        $Query[] = SPrintF('subject-contract: %s', $ContractID);
        $Query[] = 'request: contact';
        $Query[] = 'operation: create';
        $Query[] = 'lang: ru';
        $Query[] = SPrintF('request-id: %s', $RequestID);
        #---------------------------------------------------------------------------
        $Query[] = '';
        #---------------------------------------------------------------------------
        $Query[] = '[contact]';
        $Query[] = SPrintF('status:registrant');
        $Query[] = SPrintF('org:');
        $Query[] = SPrintF('name: %s, %s', Translit($Person['Name']), Translit($Person['Lastname']));
        $Query[] = SPrintF('country: %s', isset($Person['PasportCountry']) ? $Person['PasportCountry'] : $Person['pCountry']);
        $Query[] = SPrintF('region: %s', Translit($Person['pCity']));
        $Query[] = SPrintF('city: %s', Translit($Person['pCity']));
        $Query[] = SPrintF('street: %s', Translit(SPrintF('%s %s', $Person['pType'], $Person['pAddress'])));
        $Query[] = SPrintF('zipcode: %s', $Person['pIndex']);
        $Query[] = SPrintF('phone: %s', $Person['Phone']);
        $Query[] = SPrintF('fax: %s', $Person['Fax']);
        $Query[] = SPrintF('email: %s', $Person['Email']);
        #---------------------------------------------------------------------------
        $Result = HTTP_Send('/dns/dealer', $HTTP, array(), array('SimpleRequest' => Implode("\n", $Query)));
        if (Is_Error($Result)) {
            return ERROR | @Trigger_Error('[RuCenter_Contract_Register]: не удалось выполнить запрос к серверу');
        }
        #---------------------------------------------------------------------------
        if (Preg_Match('/HTTP\\/1.0\\s502/i', $Result['Heads'])) {
            return FALSE;
        }
        #---------------------------------------------------------------------------
        $Result = Trim($Result['Body']);
        #---------------------------------------------------------------------------
        if (Preg_Match('/State:\\s([0-9]+)/', $Result, $CodeID)) {
            #-------------------------------------------------------------------------
            $CodeID = Next($CodeID);
            #-------------------------------------------------------------------------
            switch ($CodeID) {
                case '200':
                    #-----------------------------------------------------------------------
                    if (!Preg_Match('/nic-hdl:([0-9A-Za-z\\-]+)/', $Result, $NicHDL)) {
                        return array('TicketID' => SPrintF('%s:%s', $ContractID, Next($NicHDL)));
                    }
                    #-----------------------------------------------------------------------
                    return new gException('LOGIN_NOT_FOUND', 'Неудалось получить номер договора');
                case '500':
                    return FALSE;
                default:
                    return new gException('WRONG_ERROR', SPrintF('Неизвестный статус ошибки (%s)', $Result));
            }
        } else {
            return new gException('WRONG_ANSWER', $Result);
        }
    }
    #-----------------------------------------------------------------------------
    return array('TicketID' => $ContractID);
}
Example #21
0
#-------------------------------------------------------------------------------
/** @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;
#-------------------------------------------------------------------------------
Example #22
0
 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);
 }
Example #23
0
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);
}
Example #24
0
/******************************************************************************/
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;
#-------------------------------------------------------------------------------
Example #25
0
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;
    #-------------------------------------------------------------------------------
}