/** * @param Metaregistrar\EPP\eppConnection $conn * @param string $domainname * @param Metaregistrar\TMCH\tmchClaimData $claim * @param string $registrant * @param string $admincontact * @param string $techcontact * @param string $billingcontact * @param array $nameservers */ function createclaimeddomain($conn, $domainname, $claim, $registrant, $admincontact, $techcontact, $billingcontact, $nameservers) { try { $domain = new Metaregistrar\EPP\eppDomain($domainname, $registrant); $domain->setPeriod(1); $reg = new Metaregistrar\EPP\eppContactHandle($registrant); $domain->setRegistrant($reg); if ($admincontact) { $admin = new Metaregistrar\EPP\eppContactHandle($admincontact, Metaregistrar\EPP\eppContactHandle::CONTACT_TYPE_ADMIN); $domain->addContact($admin); } if ($techcontact) { $tech = new Metaregistrar\EPP\eppContactHandle($techcontact, Metaregistrar\EPP\eppContactHandle::CONTACT_TYPE_TECH); $domain->addContact($tech); } if ($billingcontact) { $billing = new Metaregistrar\EPP\eppContactHandle($billingcontact, Metaregistrar\EPP\eppContactHandle::CONTACT_TYPE_BILLING); $domain->addContact($billing); } $domain->setAuthorisationCode($domain->generateRandomString(8)); if (is_array($nameservers)) { foreach ($nameservers as $nameserver) { $host = new Metaregistrar\EPP\eppHost($nameserver); $domain->addHost($host); } } $create = new Metaregistrar\EPP\eppLaunchCreateDomainRequest($domain); $create->setLaunchPhase('claims'); //$create->setLaunchCodeMark($domainname.';'.base64_encode(hash('sha512',$domainname.'MetaregistrarRocks!',true)),'Metaregistrar'); $create->addLaunchClaim('tmch', $claim['noticeid'], $claim['notafter'], $claim['confirmed']); echo $create->saveXML(); if (($response = $conn->writeandread($create)) instanceof Metaregistrar\EPP\eppLaunchCreateDomainResponse && $response->Success()) { /* @var Metaregistrar\EPP\eppLaunchCreateDomainResponse $response */ echo $response->saveXML(); echo "Domain " . $response->getDomainName() . " created on " . $response->getDomainCreateDate() . ", expiration date is " . $response->getDomainExpirationDate() . "\n"; //echo "Registration phase: ".$response->getLaunchPhase()." and Application ID: ".$response->getLaunchApplicationID()."\n"; } } catch (Metaregistrar\EPP\eppException $e) { echo $e->getMessage() . "\n"; } }