Файл: _rootinc/internetbs.inc.php
Строк: 591
<?
class INTERNETBS
{
public $url = null;
public $user = null;
public $password = null;
public $error = null;
public function init($url,$user,$password) {
$this->url = $url;
$this->user = $user;
$this->password = $password;
}
public function send($script,$params) {
$params["ApiKey"] = $this->user;
$params["Password"] = $this->password;
$params["ResponseFormat"] = "JSON";
$fp = curl_init();
curl_setopt($fp, CURLOPT_URL, $this->url.$script);
curl_setopt($fp, CURLOPT_RETURNTRANSFER, true);
curl_setopt($fp, CURLOPT_POST, true);
curl_setopt($fp, CURLOPT_POSTFIELDS, $params);
curl_setopt($fp, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($fp, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($fp, CURLOPT_FAILONERROR, false);
curl_setopt($fp, CURLOPT_TIMEOUT, 120);
$result = curl_exec($fp);
if (curl_errno($fp)) {
$this->error = "cURL Error ".curl_errno($fp).": ".curl_error($fp);
curl_close($fp);
return false;
} else {
curl_close($fp);
if (preg_match("/([?{.*}]?)/",$result,$arr)) {
$result = $arr[1];
$result = json_decode($result,true);
return $result;
} else {
$this->error = "send: No output";
return false;
}
}
}
public function domain_create($domain,$zone,$period,$ns1,$ns2,$ns3,$ns4,$ns1ip,$ns2ip,$ns3ip,$ns4ip,$promo,$FirstName,$LastName,$Organization,$CountryCode,$State,$City,$Email,$Street,$PostalCode,$PhoneNumber,$Fax,$Birthday,$ip,$privateWhois) {
$ns_list = $ns1; if ($ns1ip) { $ns_list .= " $ns1ip"; }
$ns_list .= ", $ns2"; if ($ns2ip) { $ns_list .= " $ns2ip"; }
if ($ns3) { $ns_list .= ", $ns3"; if ($ns3ip) { $ns_list .= " $ns3ip"; } }
if ($ns4) { $ns_list .= ", $ns4"; if ($ns4ip) { $ns_list .= " $ns4ip"; } }
$params["Domain"] = $domain;
$params["Period"] = $period."Y";
$params["Ns_list"] = $ns_list;
if ($promo) { $params["discountCode"] = $promo; }
if ($privateWhois) { $params["privateWhois"] = $privateWhois; }
$params["Registrant_FirstName"] = $FirstName;
$params["Registrant_LastName"] = $LastName;
$params["Registrant_Organization"] = $Organization;
$params["Registrant_CountryCode"] = $CountryCode;
$params["Registrant_City"] = $City;
$params["Registrant_Email"] = $Email;
$params["Registrant_Street"] = $Street;
$params["Registrant_PostalCode"] = $PostalCode;
$params["Registrant_PhoneNumber"] = $PhoneNumber;
$params["Registrant_Fax"] = $Fax;
if ($zone == "eu" or $zone == "be") {
if ($CountryCode != "EN" and $CountryCode != "FR" and $CountryCode != "NL") {
$params["Registrant_Language"] = "EN";
} else {
$params["Registrant_Language"] = $CountryCode;
}
}
if ($zone == "fr") {
$params["dotFRContactEntityType"] = "INDIVIDUAL";
$params["dotFRContactEntityBirthDate"] = $Birthday;
$params["dotFrContactEntityBirthPlaceCountryCode"] = $CountryCode;
if ($CountryCode == "FR") {
$params["dotFRContactEntityBirthCity"] = $City;
$params["dotFRContactEntityBirthPlacePostalCode"] = $PostalCode;
}
}
if ($zone == "it") {
$params["Registrant_dotitEntityType"] = "1";
$params["Registrant_dotitNationality"] = $CountryCode;
$params["Registrant_dotitHideWhois"] = "NO";
$params["Registrant_dotitProvince"] = $State;
$params["Registrant_dotItTerm1"] = "YES";
$params["Registrant_dotItTerm2"] = "YES";
$params["Registrant_dotItTerm3"] = "YES";
$params["Registrant_dotItTerm4"] = "YES";
$params["Registrant_clientIp"] = $ip;
}
if ($zone == "uk") {
$params["Registrant_dotUKOrgType"] = "FIND";
}
if ($zone == "us") {
$params["Registrant_usPurpose"] = P3;
$params["Registrant_usNexusCategory"] = C12;
}
if ($zone != "eu" and $zone != "it") {
$params["Admin_FirstName"] = $FirstName;
$params["Admin_LastName"] = $LastName;
$params["Admin_Organization"] = $Organization;
$params["Admin_CountryCode"] = $CountryCode;
$params["Admin_City"] = $City;
$params["Admin_Email"] = $Email;
$params["Admin_Street"] = $Street;
$params["Admin_PostalCode"] = $PostalCode;
$params["Admin_PhoneNumber"] = $PhoneNumber;
$params["Admin_Fax"] = $Fax;
}
if ($zone != "eu" and $zone != "it" and $zone != "uk" and $zone != "fr") {
$params["Technical_FirstName"] = $FirstName;
$params["Technical_LastName"] = $LastName;
$params["Technical_Organization"] = $Organization;
$params["Technical_CountryCode"] = $CountryCode;
$params["Technical_City"] = $City;
$params["Technical_Email"] = $Email;
$params["Technical_Street"] = $Street;
$params["Technical_PostalCode"] = $PostalCode;
$params["Technical_PhoneNumber"] = $PhoneNumber;
$params["Technical_Fax"] = $Fax;
$params["Billing_FirstName"] = $FirstName;
$params["Billing_LastName"] = $LastName;
$params["Billing_Organization"] = $Organization;
$params["Billing_CountryCode"] = $CountryCode;
$params["Billing_City"] = $City;
$params["Billing_Email"] = $Email;
$params["Billing_Street"] = $Street;
$params["Billing_PostalCode"] = $PostalCode;
$params["Billing_PhoneNumber"] = $PhoneNumber;
$params["Billing_Fax"] = $Fax;
}
$result = $this->send("/Domain/Create",$params);
if ($result) {
if ($result[product][0][status] == "SUCCESS") {
return true;
} else {
$this->error = "domain_create: Code ".$result[code].", ".$result[message];
return false;
}
}
else {
return false;
}
}
public function domain_transfer($domain,$zone,$authinfo,$ns1,$ns2,$ns3,$ns4,$ns1ip,$ns2ip,$ns3ip,$ns4ip,$promo,$FirstName,$LastName,$Organization,$CountryCode,$State,$City,$Email,$Street,$PostalCode,$PhoneNumber,$Fax,$Birthday,$ip,$privateWhois) {
$ns_list = $ns1; if ($ns1ip) { $ns_list .= " $ns1ip"; }
$ns_list .= ", $ns2"; if ($ns2ip) { $ns_list .= " $ns2ip"; }
if ($ns3) { $ns_list .= ", $ns3"; if ($ns3ip) { $ns_list .= " $ns3ip"; } }
if ($ns4) { $ns_list .= ", $ns4"; if ($ns4ip) { $ns_list .= " $ns4ip"; } }
$params["Domain"] = $domain;
$params["transferAuthInfo"] = $authinfo;
$params["Ns_list"] = $ns_list;
if ($promo) { $params["discountCode"] = $promo; }
if ($privateWhois) { $params["privateWhois"] = $privateWhois; }
$params["Registrant_FirstName"] = $FirstName;
$params["Registrant_LastName"] = $LastName;
$params["Registrant_Organization"] = $Organization;
$params["Registrant_CountryCode"] = $CountryCode;
$params["Registrant_City"] = $City;
$params["Registrant_Email"] = $Email;
$params["Registrant_Street"] = $Street;
$params["Registrant_PostalCode"] = $PostalCode;
$params["Registrant_PhoneNumber"] = $PhoneNumber;
$params["Registrant_Fax"] = $Fax;
if ($zone == "eu" or $zone == "be") {
$params["Registrant_Language"] = $CountryCode;
}
if ($zone == "fr") {
$params["dotFRContactEntityType"] = "INDIVIDUAL";
$params["dotFRContactEntityBirthDate"] = $Birthday;
$params["dotFrContactEntityBirthPlaceCountryCode"] = $CountryCode;
if ($CountryCode == "FR") {
$params["dotFRContactEntityBirthCity"] = $City;
$params["dotFRContactEntityBirthPlacePostalCode"] = $PostalCode;
}
}
if ($zone == "it") {
$params["Registrant_dotitEntityType"] = "1";
$params["Registrant_dotitNationality"] = $CountryCode;
$params["Registrant_dotitHideWhois"] = "NO";
$params["Registrant_dotitProvince"] = $State;
$params["Registrant_dotItTerm1"] = "YES";
$params["Registrant_dotItTerm2"] = "YES";
$params["Registrant_dotItTerm3"] = "YES";
$params["Registrant_dotItTerm4"] = "YES";
$params["Registrant_clientIp"] = $ip;
}
if ($zone == "uk") {
$params["Registrant_dotUKOrgType"] = "FIND";
}
if ($zone == "us") {
$params["Registrant_usPurpose"] = P3;
$params["Registrant_usNexusCategory"] = C12;
}
if ($zone != "eu" and $zone != "it") {
$params["Admin_FirstName"] = $FirstName;
$params["Admin_LastName"] = $LastName;
$params["Admin_Organization"] = $Organization;
$params["Admin_CountryCode"] = $CountryCode;
$params["Admin_City"] = $City;
$params["Admin_Email"] = $Email;
$params["Admin_Street"] = $Street;
$params["Admin_PostalCode"] = $PostalCode;
$params["Admin_PhoneNumber"] = $PhoneNumber;
$params["Admin_Fax"] = $Fax;
}
if ($zone != "eu" and $zone != "it" and $zone != "uk" and $zone != "fr") {
$params["Technical_FirstName"] = $FirstName;
$params["Technical_LastName"] = $LastName;
$params["Technical_Organization"] = $Organization;
$params["Technical_CountryCode"] = $CountryCode;
$params["Technical_City"] = $City;
$params["Technical_Email"] = $Email;
$params["Technical_Street"] = $Street;
$params["Technical_PostalCode"] = $PostalCode;
$params["Technical_PhoneNumber"] = $PhoneNumber;
$params["Technical_Fax"] = $Fax;
$params["Billing_FirstName"] = $FirstName;
$params["Billing_LastName"] = $LastName;
$params["Billing_Organization"] = $Organization;
$params["Billing_CountryCode"] = $CountryCode;
$params["Billing_City"] = $City;
$params["Billing_Email"] = $Email;
$params["Billing_Street"] = $Street;
$params["Billing_PostalCode"] = $PostalCode;
$params["Billing_PhoneNumber"] = $PhoneNumber;
$params["Billing_Fax"] = $Fax;
}
$result = $this->send("/Domain/Transfer/Initiate",$params);
if ($result) {
if ($result[product][0][status] == "SUCCESS") {
return true;
} else {
$this->error = "domain_transfer: Code ".$result[code].", ".$result[message];
return false;
}
}
else {
return false;
}
}
public function domain_renew($domain,$period,$promo) {
$params["Domain"] = $domain;
$params["Period"] = $period."Y";
if ($promo) { $params["discountCode"] = $promo; }
$result = $this->send("/Domain/Renew",$params);
if ($result) {
if ($result[product][0][status] == "SUCCESS") {
return true;
} else {
$this->error = "domain_renew: Code ".$result[code].", ".$result[message];
return false;
}
}
else {
return false;
}
}
public function getNS($domain) {
$d = new domain($domain);
$result = $d->info();
if (!$d->last_error) {
$result1 = mb_split("n", $result);
while (list($index,$res) = each($result1)) {
if (preg_match("/nserver/ui",$res)) {
preg_match("/nserver:s*(.*)/iu",$res,$arr);
$resultarray[]=$arr[1];
} else if (preg_match("/Name Server/ui",$res)) {
preg_match("/Name Server:s*(.*)/iu",$res,$arr);
$resultarray[]=$arr[1];
}
}
return $resultarray;
} else {
$this->error = "getNS: $d->last_error";;
return false;
}
}
public function updateNS($domain,$ns1,$ns2,$ns3,$ns4,$ns1ip,$ns2ip,$ns3ip,$ns4ip) {
$ns_list = $ns1; if ($ns1ip) { $ns_list .= " $ns1ip"; }
$ns_list .= ", $ns2"; if ($ns2ip) { $ns_list .= " $ns2ip"; }
if ($ns3) { $ns_list .= ", $ns3"; if ($ns3ip) { $ns_list .= " $ns3ip"; } }
if ($ns4) { $ns_list .= ", $ns4"; if ($ns4ip) { $ns_list .= " $ns4ip"; } }
$params["Domain"] = $domain;
$params["Ns_list"] = $ns_list;
$result = $this->send("/Domain/Update",$params);
if ($result) {
if ($result[status] == "SUCCESS" or $result[product][0][status] == "SUCCESS") {
return true;
} else {
$this->error = "updateNS: Code ".$result[code].", ".$result[message];
return false;
}
}
else {
return false;
}
}
public function contact_update($domain,$zone,$FirstName,$LastName,$Organization,$CountryCode,$State,$City,$Email,$Street,$PostalCode,$PhoneNumber,$Fax,$Birthday,$ip) {
$params["Domain"] = $domain;
$params["Registrant_FirstName"] = $FirstName;
$params["Registrant_LastName"] = $LastName;
$params["Registrant_Organization"] = $Organization;
$params["Registrant_CountryCode"] = $CountryCode;
$params["Registrant_City"] = $City;
$params["Registrant_Email"] = $Email;
$params["Registrant_Street"] = $Street;
$params["Registrant_PostalCode"] = $PostalCode;
$params["Registrant_PhoneNumber"] = $PhoneNumber;
$params["Registrant_Fax"] = $Fax;
if ($zone == "eu") {
$params["Registrant_Language"] = $CountryCode;
}
if ($zone == "it") {
$params["Registrant_dotitEntityType"] = "1";
$params["Registrant_dotitNationality"] = $CountryCode;
$params["Registrant_dotitHideWhois"] = "NO";
$params["Registrant_dotitProvince"] = $State;
$params["Registrant_dotItTerm1"] = "YES";
$params["Registrant_dotItTerm2"] = "YES";
$params["Registrant_dotItTerm3"] = "YES";
$params["Registrant_dotItTerm4"] = "YES";
$params["Registrant_clientIp"] = $ip;
}
if ($zone == "uk") {
$params["Registrant_dotUKOrgType"] = "FIND";
}
if ($zone == "us") {
$params["Registrant_usPurpose"] = P3;
$params["Registrant_usNexusCategory"] = C12;
}
if ($zone != "eu" and $zone != "it") {
$params["Admin_FirstName"] = $FirstName;
$params["Admin_LastName"] = $LastName;
$params["Admin_Organization"] = $Organization;
$params["Admin_CountryCode"] = $CountryCode;
$params["Admin_City"] = $City;
$params["Admin_Email"] = $Email;
$params["Admin_Street"] = $Street;
$params["Admin_PostalCode"] = $PostalCode;
$params["Admin_PhoneNumber"] = $PhoneNumber;
$params["Admin_Fax"] = $Fax;
}
if ($zone != "eu" and $zone != "it" and $zone != "uk" and $zone != "fr") {
$params["Technical_FirstName"] = $FirstName;
$params["Technical_LastName"] = $LastName;
$params["Technical_Organization"] = $Organization;
$params["Technical_CountryCode"] = $CountryCode;
$params["Technical_City"] = $City;
$params["Technical_Email"] = $Email;
$params["Technical_Street"] = $Street;
$params["Technical_PostalCode"] = $PostalCode;
$params["Technical_PhoneNumber"] = $PhoneNumber;
$params["Technical_Fax"] = $Fax;
$params["Billing_FirstName"] = $FirstName;
$params["Billing_LastName"] = $LastName;
$params["Billing_Organization"] = $Organization;
$params["Billing_CountryCode"] = $CountryCode;
$params["Billing_City"] = $City;
$params["Billing_Email"] = $Email;
$params["Billing_Street"] = $Street;
$params["Billing_PostalCode"] = $PostalCode;
$params["Billing_PhoneNumber"] = $PhoneNumber;
$params["Billing_Fax"] = $Fax;
}
$result = $this->send("/Domain/Update",$params);
if ($result) {
if ($result[product][0][status] == "SUCCESS" or $result[status] == "SUCCESS") {
return true;
} else {
$this->error = "contact_update: Code ".$result[code].", ".$result[message];
return false;
}
}
else {
return false;
}
}
public function privateWhoisEnable($domain) {
$params["Domain"] = $domain;
$params["type"] = "FULL";
$result = $this->send("/Domain/PrivateWhois/Enable",$params);
if ($result) {
if ($result[status] == "SUCCESS" or $result[product][0][status] == "SUCCESS") {
return true;
} else {
$this->error = "privateWhoisEnable: Code ".$result[code].", ".$result[message];
return false;
}
}
else {
return false;
}
}
public function privateWhoisDisable($domain) {
$params["Domain"] = $domain;
$result = $this->send("/Domain/PrivateWhois/Disable",$params);
if ($result) {
if ($result[status] == "SUCCESS" or $result[product][0][status] == "SUCCESS") {
return true;
} else {
$this->error = "privateWhoisDisable: Code ".$result[code].", ".$result[message];
return false;
}
}
else {
return false;
}
}
}
?>