/** * @param $conn eppConnection * @param $domainname string * @param $registrant string * @param $admincontact string * @param $techcontact string * @param $billingcontact string * @param $nameservers array * @return bool */ function createdomain($conn, $domainname, $registrant, $admincontact, $techcontact, $billingcontact, $nameservers) { $domain = new eppDomain($domainname, $registrant); $domain->setRegistrant(new eppContactHandle($registrant)); $domain->addContact(new eppContactHandle($admincontact, eppContactHandle::CONTACT_TYPE_ADMIN)); $domain->addContact(new eppContactHandle($techcontact, eppContactHandle::CONTACT_TYPE_TECH)); $domain->addContact(new eppContactHandle($billingcontact, eppContactHandle::CONTACT_TYPE_BILLING)); $domain->setAuthorisationCode($domain->generateRandomString(12)); if (is_array($nameservers)) { foreach ($nameservers as $nameserver) { $domain->addHost(new eppHost($nameserver)); } } $create = new eppLaunchCreateDomainRequest($domain); $create->setLaunchPhase('claims', 'application'); if ($response = $conn->request($create)) { /* @var Metaregistrar\EPP\eppLaunchCreateDomainResponse $response */ 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"; } return null; }
/** * @param eppConnection $conn * @param string $domainname * @param string $registrant * @param string $admincontact * @param string $techcontact * @param string $billingcontact * @param array $nameservers * @throws eppException */ function createdomain($conn, $domainname, $registrant, $admincontact, $techcontact, $billingcontact, $nameservers) { $domain = new eppDomain($domainname, $registrant); $reg = new eppContactHandle($registrant); $domain->setRegistrant($reg); $admin = new eppContactHandle($admincontact, eppContactHandle::CONTACT_TYPE_ADMIN); $domain->addContact($admin); $tech = new eppContactHandle($techcontact, eppContactHandle::CONTACT_TYPE_TECH); $domain->addContact($tech); $billing = new eppContactHandle($billingcontact, eppContactHandle::CONTACT_TYPE_BILLING); $domain->addContact($billing); $domain->setAuthorisationCode($domain->generateRandomString(8)); if (is_array($nameservers)) { foreach ($nameservers as $nameserver) { $host = new eppHost($nameserver); $domain->addHost($host); } } $create = new eppCreateDomainRequest($domain); if ($response = $conn->request($create)) { /* @var $response Metaregistrar\EPP\eppCreateResponse */ echo "Domain " . $response->getDomainName() . " created on " . $response->getDomainCreateDate() . ", expiration date is " . $response->getDomainExpirationDate() . "\n"; } }
/** * @param $conn eppConnection * @param $domainname string * @param null $registrant string * @param null $admincontact string * @param null $techcontact string * @param null $billingcontact string * @param null $nameservers string */ function modifydomain($conn, $domainname, $registrant = null, $admincontact = null, $techcontact = null, $billingcontact = null, $nameservers = null) { $response = null; try { // First, retrieve the current domain info. Nameservers can be unset and then set again. $del = null; $domain = new eppDomain($domainname); $info = new eppInfoDomainRequest($domain); if ($response = $conn->request($info)) { // If new nameservers are given, get the old ones to remove them if (is_array($nameservers)) { /* @var Metaregistrar\EPP\eppInfoDomainResponse $response */ $oldns = $response->getDomainNameservers(); if (is_array($oldns)) { if (!$del) { $del = new eppDomain($domainname); } foreach ($oldns as $ns) { $del->addHost($ns); } } } if ($admincontact) { $oldadmin = $response->getDomainContact(eppContactHandle::CONTACT_TYPE_ADMIN); if ($oldadmin == $admincontact) { $admincontact = null; } else { if (!$del) { $del = new eppDomain($domainname); } $del->addContact(new eppContactHandle($oldadmin, eppContactHandle::CONTACT_TYPE_ADMIN)); } } if ($techcontact) { $oldtech = $response->getDomainContact(eppContactHandle::CONTACT_TYPE_TECH); if ($oldtech == $techcontact) { $techcontact = null; } else { if (!$del) { $del = new eppDomain($domainname); } $del->addContact(new eppContactHandle($oldtech, eppContactHandle::CONTACT_TYPE_TECH)); } } } // In the UpdateDomain command you can set or add parameters // - Registrant is always set (you can only have one registrant) // - Admin, Tech, Billing contacts are Added (you can have multiple contacts, don't forget to remove the old ones) // - Nameservers are Added (you can have multiple nameservers, don't forget to remove the old ones $mod = null; if ($registrant) { $mod = new eppDomain($domainname); $mod->setRegistrant(new eppContactHandle($registrant)); } $add = null; if ($admincontact) { if (!$add) { $add = new eppDomain($domainname); } $add->addContact(new eppContactHandle($admincontact, eppContactHandle::CONTACT_TYPE_ADMIN)); } if ($techcontact) { if (!$add) { $add = new eppDomain($domainname); } $add->addContact(new eppContactHandle($techcontact, eppContactHandle::CONTACT_TYPE_TECH)); } if ($billingcontact) { if (!$add) { $add = new eppDomain($domainname); } $add->addContact(new eppContactHandle($billingcontact, eppContactHandle::CONTACT_TYPE_BILLING)); } if (is_array($nameservers)) { if (!$add) { $add = new eppDomain($domainname); } foreach ($nameservers as $nameserver) { $add->addHost(new eppHost($nameserver)); } } $update = new eppUpdateDomainRequest($domain, $add, $del, $mod); //echo $update->saveXML(); if ($response = $conn->request($update)) { /* @var eppUpdateDomainResponse $response */ echo $response->getResultMessage() . "\n"; } } catch (eppException $e) { echo $e->getMessage() . "\n"; if ($response instanceof eppUpdateDomainResponse) { echo $response->textContent . "\n"; } } }
/** * @param eppConnection $conn * @param string $domainname * @param string $registrant * @param string $admincontact * @param string $techcontact * @param string $billingcontact * @param array $nameservers */ function createdomain($conn, $domainname, $registrant, $admincontact, $techcontact, $billingcontact, $nameservers) { /* @var $conn Metaregistrar\EPP\eppConnection */ try { $domain = new eppDomain($domainname, $registrant); $domain->setRegistrant(new eppContactHandle($registrant)); $domain->addContact(new eppContactHandle($admincontact, eppContactHandle::CONTACT_TYPE_ADMIN)); $domain->addContact(new eppContactHandle($techcontact, eppContactHandle::CONTACT_TYPE_TECH)); $domain->addContact(new eppContactHandle($billingcontact, eppContactHandle::CONTACT_TYPE_BILLING)); $domain->setAuthorisationCode('rand0m'); if (is_array($nameservers)) { foreach ($nameservers as $nameserver) { $domain->addHost(new eppHost($nameserver)); } } $create = new eppCreateDomainRequest($domain); if ($response = $conn->request($create)) { /* @var $response Metaregistrar\EPP\eppCreateDomainResponse */ echo "Domain " . $response->getDomainName() . " created on " . $response->getDomainCreateDate() . ", expiration date is " . $response->getDomainExpirationDate() . "\n"; } } catch (eppException $e) { echo $e->getMessage() . "\n"; } }