Пример #1
0
 /**
  * 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;
 }
Пример #2
0
 /**
  * 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;
 }
Пример #3
0
 /**
  * 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;
 }
Пример #4
0
 /**
  * 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;
 }