Вход Регистрация
Файл: _rootinc/directi.inc.php
Строк: 387
<?

class DIRECTI
{
    private 
$test 0;

    private 
$url null;
    private 
$userid null;
    private 
$password null;
    private 
$log null;

    public 
$error null;

    public function 
init($url$userid$password$log)
    {
        
$this->url $url;
        
$this->userid $userid;
        
$this->password $password;
        
$this->log $log;
    }

    private function 
send($script$params)
    {
        
$params["auth-userid"] = $this->userid;
        
$params["auth-password"] = $this->password;

        
$this->slog("n<<< Send Request [$script]n");
        
$this->slog($paramsMODE_CLIENT);

        
reset($params);
        while (list(
$k,$v) = @each($params)) {
            if (@
is_array($v)) {
                while (list(
$kk,$vv) = @each($v)) {
                    
$getParams .= $k."=".urlencode($vv)."&";
                }
            } else {
                
$getParams .= $k."=".urlencode($v)."&";
            }
        }

        
$fp curl_init(); 
        if (
$this->test or $script == "domains/details.json") {
            
curl_setopt($fpCURLOPT_URL$this->url.$script."?".$getParams);
        } else {
            
curl_setopt($fpCURLOPT_URL$this->url.$script);
            
curl_setopt($fpCURLOPT_POST1);
            
curl_setopt($fpCURLOPT_POSTFIELDS$getParams);
        }
        
curl_setopt($fpCURL_HTTP_VERSION_1_11);
        
curl_setopt($fpCURLOPT_SSL_VERIFYPEER0);
        
curl_setopt($fpCURLOPT_SSL_VERIFYHOST0);
        
curl_setopt($fpCURLOPT_RETURNTRANSFER1);
        
curl_setopt($fpCURLOPT_TIMEOUT30);

        
$result curl_exec($fp);

        if (@
curl_errno($fp)) {
            
$this->error "$script: cURL Error ".@curl_errno($fp).": ".@curl_error($fp); $this->slog($this->error);
            return 
false;
        }

        
curl_close($fp);

        if (
preg_match("/^{.*}$/",$result)) {
            
$result json_decode($result,true);
        }

        if (!
$result) {
            
$this->error "$script: No Output"$this->slog($this->error);
            return 
false;
        }

        
$this->slog("n>>> Got Response [$script]n");
        
$this->slog($resultMODE_SERVER);

        return 
$result;
    }

    private function 
slog($str$mode MODE_INFO) {
        if (
$this->log) {
            switch(
$mode) {
                case 
MODE_INFO:   $mode "I"; break;
                case 
MODE_CLIENT$mode "C"; break;
                case 
MODE_SERVER$mode "S"; break;
            }

            if (
is_array($str)) {
                
ob_start();
                
var_export($str);
                
$str ob_get_clean();
            }

            if (
is_string($str)) {
                
$str explode("n"$str);
            }

            if (
is_array($str)) {
                foreach(
$str as $tmp) {
                    if (
function_exists("posix_getpid")) { $pid = @posix_getpid(); }
                    else if (
function_exists("getmypid")) { $pid = @getmypid(); }

                    
$dt date("Y-m-d H:i:s");
                    
$tmp sprintf("%s [%5s] %s: %sn"$dt$pid$mode$tmp);
                    @
error_log($tmp3"./_rootlogs/".date("Ymd")."_directi.log");
                }
            }
        }
    }

    public function 
signUp($username$passwd$name$company$address1$address2$address3$city$state$country$zipcode$phonecc$phone$altphonecc$altphone$faxcc$fax$langpref$mobilecc$mobile)
    {
        
$params["username"] = $username;
        
$params["passwd"] = $passwd;
        
$params["name"] = $name;
        
$params["company"] = $company;
        
$params["address-line-1"] = $address1;
        if (
$address2) { $params["address-line-2"] = $address2; }
        if (
$address3) { $params["address-line-3"] = $address3; }
        
$params["city"] = $city;
        
$params["state"] = $state;
        
$params["country"] = $country;
        
$params["zipcode"] = $zipcode;
        
$params["phone-cc"] = $phonecc;
        
$params["phone"] = $phone;
        if (
$altphonecc) { $params["alt-phone-cc"] = $altphonecc; }
        if (
$altphone) { $params["alt-phone"] = $altphone; }
        
$params["lang-pref"] = $langpref;
        if (
$faxcc) { $params["fax-cc"] = $faxcc; }
        if (
$fax) { $params["fax"] = $fax; }
        if (
$mobilecc) { $params["mobile-cc"] = $mobilecc; }
        if (
$mobile) { $params["mobile"] = $mobile; }

        
$result $this->send("customers/signup.json",$params);
        if (!
$result) { return false; }

        if (
mb_strtoupper($result[status]) != "ERROR") {
            return 
$result;
        } else {
            
$this->error "signUp Error: ".$result[message].$result[error]; $this->slog($this->error);
            return 
false;
        }

    }

    public function 
getDefaultContacts($customerId$type)
    {
        
$params["customer-id"] = $customerId;
        
$params["type"] = $type;

        
$result $this->send("contacts/default.json",$params);
        if (!
$result) { return false; }

        if (
mb_strtoupper($result[status]) != "ERROR") {
            if (
$result[$type][registrant]) {
                return 
$result[$type][registrant];
            } else {
                
$this->error "getDefaultContacts Error: No registrant contact ID for $type"$this->slog($this->error);
                return 
false;
            }
        } else {
            
$this->error "getDefaultContacts Error: ".$result[message]." ".$result[error]." ".$result[actionstatusdesc]; $this->slog($this->error);
            return 
false;
        }

    }

    public function 
registerDomain($domainname$years$contactId$ns1$ns2$ns3$ns4$customerId$invoiceOption$enablePrivacyProtection)
    {
        
$zone getZoneTxtByDomainTxt($domainname);

        
$params["domain-name"] = $domainname;
        
$params["years"] = $years;
        if (
$ns1) { $params["ns"][] = $ns1; }
        if (
$ns2) { $params["ns"][] = $ns2; }
        if (
$ns3) { $params["ns"][] = $ns3; }
        if (
$ns4) { $params["ns"][] = $ns4; }
        
$params["customer-id"] = $customerId;
        
$params["reg-contact-id"] = $contactId;
        if (
$zone == "eu" or $zone == "nz") { $params["admin-contact-id"] = -1; } else { $params["admin-contact-id"] = $contactId; }
        if (
$zone == "eu" or $zone == "nz") { $params["tech-contact-id"] = -1; } else { $params["tech-contact-id"] = $contactId; }
        if (
$zone == "eu" or $zone == "nz" or $zone == "ca") { $params["billing-contact-id"] = -1; } else { $params["billing-contact-id"] = $contactId; }
        
$params["invoice-option"] = $invoiceOption;
        
$params["protect-privacy"] = $enablePrivacyProtection;
        if (
$zone == "asia") { $params["attr-name1"] = "cedcontactid"$params["attr-value1"] = $contactId; }

        
$result $this->send("domains/register.json",$params);
        if (!
$result) { return false; }

        if (
mb_strtoupper($result[status]) == "SUCCESS" or mb_strtoupper($result[status]) == "INVOICEPAID") {
            return 
$result[entityid];
        } else {
            
$this->error "registerDomain Error: ".$result[message]." ".$result[error]." ".$result[actionstatusdesc]; $this->slog($this->error);
            return 
false;
        }
    }

    public function 
transferDomain($domainname$authinfo$contactId$ns1$ns2$ns3$ns4$customerId$invoiceOption$enablePrivacyProtection)
    {
        
$zone getZoneTxtByDomainTxt($domainname);

        
$params["domain-name"] = $domainname;
        
$params["auth-code"] = $authinfo;
        
$params["customer-id"] = $customerId;
        
$params["reg-contact-id"] = $contactId;
        
$params["admin-contact-id"] = $contactId;
        
$params["tech-contact-id"] = $contactId;
        
$params["billing-contact-id"] = $contactId;
        
$params["invoice-option"] = $invoiceOption;
        
$params["protect-privacy"] = $enablePrivacyProtection;
        if (
$ns1) { $params["ns"][] = $ns1; }
        if (
$ns2) { $params["ns"][] = $ns2; }
        if (
$ns3) { $params["ns"][] = $ns3; }
        if (
$ns4) { $params["ns"][] = $ns4; }
        if (
$zone == "asia") { $params["ced-contact-id"] = $contactId;}

        
$result $this->send("domains/transfer.json",$params);
        if (!
$result) { return false; }

        if (
mb_strtoupper($result[status]) == "SUCCESS" or mb_strtoupper($result[status]) == "INVOICEPAID") {
            return 
$result[entityid];
        } else {
            
$this->error "transferDomain Error: ".$result[message]." ".$result[error]." ".$result[actionstatusdesc]; $this->slog($this->error);
            return 
false;
        }
    }

    public function 
getDomainExpiration($orderId) {
        
$params["order-id"] = $orderId;
        
$params["options"] = "OrderDetails";

        
$result $this->send("domains/details.json",$params);
        if (!
$result) { return false; }

        if (
$result[endtime]) {
            return 
$result[endtime];
        } else {
            
$this->error "getDomainExpiration Error: ".$result[message]." ".$result[error]." ".$result[actionstatusdesc]; $this->slog($this->error);
            return 
false;
        }
    }

    public function 
renewDomain($orderId$period$invoiceOption)
    {
        
$endtime $this->getDomainExpiration($orderId);
        if (!
$endtime) { return false; }

        
$params["order-id"] = $orderId;
        
$params["years"] = $period;
        
$params["exp-date"] = $endtime;
        
$params["invoice-option"] = $invoiceOption;

        
$result $this->send("domains/renew.json",$params);
        if (!
$result) { return false; }

        if (
mb_strtoupper($result[status]) == "SUCCESS" or mb_strtoupper($result[status]) == "INVOICEPAID") {
            return 
true;
        } else {
            
$this->error "renewDomain Error: ".$result[message]." ".$result[error]." ".$result[actionstatusdesc]; $this->slog($this->error);
            return 
false;
        }
    }

    public function 
getNS($orderId)
    {
        
$params["order-id"] = $orderId;
        
$params["options"] = "NsDetails";

        
$result $this->send("domains/details.json",$params);
        if (!
$result) { return false; }

        if (
$result[ns1] or $result[ns2] or $result[ns3] or $result[ns4]) {
            if (
$result[ns1]) { $res[] = $result[ns1]; }
            if (
$result[ns2]) { $res[] = $result[ns2]; }
            if (
$result[ns3]) { $res[] = $result[ns3]; }
            if (
$result[ns4]) { $res[] = $result[ns4]; }

            return 
$res;
        } else {
            
$this->error "getNS Error: ".$result[message]." ".$result[error]." ".$result[actionstatusdesc]; $this->slog($this->error);
            return 
false;
        }
    }

    public function 
updateNS($orderId$ns1$ns2$ns3$ns4)
    {
        
$params["order-id"] = $orderId;
        if (
$ns1) { $params["ns"][] = $ns1; }
        if (
$ns2) { $params["ns"][] = $ns2; }
        if (
$ns3) { $params["ns"][] = $ns3; }
        if (
$ns4) { $params["ns"][] = $ns4; }

        
$result $this->send("domains/modify-ns.json",$params);
        if (!
$result) { return false; }

        if (
mb_strtoupper($result[status]) == "SUCCESS") {
            return 
true;
        } else {
            
$this->error "updateNS Error: ".$result[message]." ".$result[error]." ".$result[actionstatusdesc]; $this->slog($this->error);
            return 
false;
        }
    }

    public function 
changePrivacyProtectionStatus($orderId$enablePrivacyProtection$reason)
    {
        
$params["order-id"] = $orderId;
        
$params["protect-privacy"] = $enablePrivacyProtection;
        
$params["reason"] = $reason;

        
$result $this->send("domains/modify-privacy-protection.json",$params);
        if (!
$result) { return false; }

        if (
mb_strtoupper($result[status]) == "SUCCESS") {
            return 
true;
        } else {
            
$this->error "changePrivacyProtectionStatus Error: ".$result[message]." ".$result[error]." ".$result[actionstatusdesc]; $this->slog($this->error);
            return 
false;
        }
    }

    public function 
addChildNameServer($orderId$ns$nsip)
    {
        
$params["order-id"] = $orderId;
        
$params["cns"] = $ns;
        
$params["ip"] = array($nsip);

        
$result $this->send("domains/add-cns.json",$params);
        if (!
$result) { return false; }

        if (
mb_strtoupper($result[status]) == "SUCCESS") {
            return 
true;
        } else {
            
$this->error "addChildNameServer Error: ".$result[message]." ".$result[error]." ".$result[actionstatusdesc]; $this->slog($this->error);
            return 
false;
        }
    }

    public function 
deleteChildNameServerIp($orderId$ns$nsip)
    {
        
$params["order-id"] = $orderId;
        
$params["cns"] = $ns;
        
$params["ip"] = array($nsip);

        
$result $this->send("domains/delete-cns-ip.json",$params);
        if (!
$result) { return false; }

        if (
mb_strtoupper($result[status]) == "SUCCESS") {
            return 
true;
        } else {
            
$this->error "deleteChildNameServer Error: ".$result[message]." ".$result[error]." ".$result[actionstatusdesc]; $this->slog($this->error);
            return 
false;
        }
    }

}
?>
Онлайн: 1
Реклама