/** * This method request registry to change namservers list for domain * In order to pending operation, response must have status REGISTRY_RESPONSE_STATUS::PENDING * * @param Domain $domain Domain * @param IChangelist $changelist nameservers changelist * @return UpdateDomainNameserversResponse */ public function UpdateDomainNameservers(Domain $domain, IChangelist $changelist) { $params = array('DOMAIN' => $domain->Name, 'TLD' => $this->Extension); foreach (array_values($changelist->GetList()) as $i => $ns) { $params['DNS SERVER NAME ' . ($i + 1)] = $ns->HostName; } $Resp = $this->Request('ALTER DOMAIN', $params); $status = $Resp->Succeed ? REGISTRY_RESPONSE_STATUS::SUCCESS : REGISTRY_RESPONSE_STATUS::FAILED; $Ret = new UpdateDomainNameserversResponse($status, $Resp->ErrMsg, $Resp->Code); $Ret->Result = $Resp->Succeed; return $Ret; }
/** * This method request registry to change namservers list for domain * In order to pending operation, response must have status REGISTRY_RESPONSE_STATUS::PENDING * * @param Domain $domain Domain * @param IChangelist $changelist nameservers changelist * @return UpdateDomainNameserversResponse */ public function UpdateDomainNameservers(Domain $domain, IChangelist $changelist) { $nshost_list = $changelist->GetList(); if (sizeof($nshost_list) != 2) { throw new Exception(_('Domain must have 2 namservers')); } $params = array('name' => $domain->GetHostName(), 'type' => $this->GetDomainType(), 'ns1' => strtolower($nshost_list[0]->HostName), 'ns2' => strtolower($nshost_list[1]->HostName), 'pw' => $domain->AuthCode); $response = $this->Request('domain-update-ns', $params); $status = $response->Succeed ? REGISTRY_RESPONSE_STATUS::SUCCESS : REGISTRY_RESPONSE_STATUS::FAILED; $ret = new UpdateDomainNameserversResponse($status, $response->ErrMsg, $response->Code); $ret->Result = $response->Succeed; return $ret; }
/** * Update nameservers for domain * @access public * @param Domain $domain Domain * @param IChangelist $changelist nameservers changelist * @return bool */ public function UpdateDomainNameservers(Domain $domain, IChangelist $changelist) { $nameservers = $changelist->GetList(); foreach ((array) $changelist->GetAdded() as $k => $v) { $params["addnameserver{$k}"] = $v->HostName; } foreach ((array) $changelist->GetRemoved() as $k => $v) { $params["delnameserver{$k}"] = $v->HostName; } $params["domain"] = $this->MakeNameIDNCompatible($domain->GetHostName()); $response = $this->Request("ModifyDomain", $params); $status = $response->Succeed ? REGISTRY_RESPONSE_STATUS::SUCCESS : REGISTRY_RESPONSE_STATUS::FAILED; return new UpdateDomainNameserversResponse($status, $response->ErrMsg, $response->Code); }
/** * Change nameservers for specific domain * This operation supports pending status. If you return response object with Status = REGISTRY_RESPONSE_STATUS.PENDING, you must return response later during a poll. * See IRegistryModuleClientPollable::PollUpdateDomain(). * * @param Domain $domain Domain * @param IChangelist $changelist Changes in a list of nameservers * @return UpdateDomainNameserversResponse */ public function UpdateDomainNameservers(Domain $domain, IChangelist $changelist) { $nameservers = $changelist->GetList(); if (!$nameservers) { throw new Exception(_("Enom can't assign empty list of nameservers to domain")); } $params = array('SLD' => $this->MakeNameIDNCompatible($domain->Name), 'TLD' => $this->Extension); $n = 1; foreach ($nameservers as $nameserver) { if ($nameserver->HostName) { $params["NS{$n}"] = $nameserver->HostName; $n++; } } $Resp = $this->Request('ModifyNS', $params); $status = $Resp->Succeed ? REGISTRY_RESPONSE_STATUS::SUCCESS : REGISTRY_RESPONSE_STATUS::FAILED; $Ret = new UpdateDomainNameserversResponse($status, $Resp->ErrMsg, $Resp->Code); $Ret->Result = $Resp->Code == 200; return $Ret; }