/** * This method request registry to renew domain * * @param string $domain Domain * @param array $extradata Extra fields * @return RenewDomainResponse */ public function RenewDomain(Domain $domain, $extra = array()) { $params = array('name' => $domain->GetHostName()); $response = $this->Request("domain-undelete", $params); $status = $response->Succeed ? REGISTRY_RESPONSE_STATUS::SUCCESS : REGISTRY_RESPONSE_STATUS::FAILED; $ret = new RenewDomainResponse($status, $response->ErrMsg, $response->Code); if ($ret->Succeed()) { $ret->ExpireDate = $domain->ExpireDate + $domain->Period * 86400 * 365; } return $ret; }
/** * Renew domain * * @param string $domain Domain name without TLD * @param array $extradata Extra fields */ public function RenewDomain(Domain $domain, $extra = array()) { $params["domain"] = $this->MakeNameIDNCompatible($domain->GetHostName()); $params["period"] = is_array($extra["period"]) ? $extra["period"][0] : $extra["period"]; $params["expiration"] = date("Y", $domain->ExpireDate); $response = $this->Request("RenewDomain", $params); $status = $response->Succeed ? REGISTRY_RESPONSE_STATUS::SUCCESS : REGISTRY_RESPONSE_STATUS::FAILED; $resp = new RenewDomainResponse($status, $response->ErrMsg, $response->Code); if ($resp->Succeed()) { preg_match("/property\\[registration expiration date\\]\\[0\\][\\s]*=[\\s]*(.*?)\n/si", $response->Data, $matches); $resp->ExpireDate = strtotime($matches[1]); } else { $options = $this->Manifest->GetRegistryOptions(); if ((int) $options->ability->auto_renewal && (preg_match('/explicit renewals not allowed for this TLD/', $resp->ErrMsg) || preg_match('/Invalid command name/', $resp->ErrMsg) || preg_match('/Invalid attribute value/', $resp->ErrMsg))) { $this->SetRenewalMode($domain, "AUTORENEW"); $resp = new RenewDomainResponse(REGISTRY_RESPONSE_STATUS::SUCCESS); $resp->ExpireDate = strtotime("+{$extra["period"]} year", $domain->ExpireDate); } } return $resp; }
/** * This method request registry to renew domain * * @param string $domain Domain * @param array $extradata Extra fields * @return RenewDomainResponse */ public function RenewDomain(Domain $domain, $extra = array()) { $params = array('DOMAIN' => $domain->Name, 'TLD' => $this->Extension, 'TERM YEARS' => $extra['period']); $Resp = $this->Request('RENEW DOMAIN', $params); $status = $Resp->Succeed ? REGISTRY_RESPONSE_STATUS::SUCCESS : REGISTRY_RESPONSE_STATUS::FAILED; $Ret = new RenewDomainResponse($status, $Resp->ErrMsg, $Resp->Code); if ($Ret->Succeed()) { $Ret->ExpireDate = (int) $Resp->Data['EXPIRATION DATE']; } return $Ret; }
/** * Send renew domain request * * @param string $domain Domain * @param array $extradata Extra fields * @return RenewDomainResponse */ public function RenewDomain(Domain $domain, $extra = array()) { $params = array('SLD' => $this->MakeNameIDNCompatible($domain->Name), 'TLD' => $this->Extension, 'NumYears' => $extra['period']); $Resp = $this->Request('Extend', $params); $status = $Resp->Succeed ? REGISTRY_RESPONSE_STATUS::SUCCESS : REGISTRY_RESPONSE_STATUS::FAILED; $Ret = new RenewDomainResponse($status, $Resp->ErrMsg, $Resp->Code); if ($Ret->Succeed()) { $Ret->ExpireDate = strtotime("+{$extra['period']} year", $domain->ExpireDate); } return $Ret; }