public function testCreateDomainWithoutAuthcode()
 {
     $contactid = $this->createContact();
     $domain = new \Metaregistrar\EPP\eppDomain($this->randomstring(20) . '.frl');
     $domain->setPeriod(1);
     $domain->setRegistrant($contactid);
     $create = new \Metaregistrar\EPP\eppCreateDomainRequest($domain);
     $response = $this->conn->writeandread($create);
     $this->assertInstanceOf('Metaregistrar\\EPP\\eppCreateDomainResponse', $response);
     /* @var $response Metaregistrar\EPP\eppCreateDomainResponse */
     $this->setExpectedException('Metaregistrar\\EPP\\eppException', "Error 2001: Command syntax error; value:line: 2 column: 689 cvc-complex-type.2.4.b: The content of element 'domain:create' is not complete. One of '{\"urn:ietf:params:xml:ns:domain-1.0\":contact, \"urn:ietf:params:xml:ns:domain-1.0\":authInfo}' is expected.");
     $this->assertFalse($response->Success());
 }
 /**
  * Test succesful contact info giving an authcode
  * @throws \Metaregistrar\EPP\eppException
  */
 public function testInfoDomainWithAuthcode()
 {
     $domainname = $this->createDomain();
     $domain = new Metaregistrar\EPP\eppDomain($domainname);
     $domain->setAuthorisationCode('foorbar');
     $info = new Metaregistrar\EPP\eppInfoDomainRequest($domain);
     //$info->dumpContents();
     $response = $this->conn->writeandread($info);
     $this->assertInstanceOf('Metaregistrar\\EPP\\eppInfoDomainResponse', $response);
     /* @var $response Metaregistrar\EPP\eppInfoDomainResponse */
     $this->assertTrue($response->Success());
     $this->assertEquals('Command completed successfully', $response->getResultMessage());
     $this->assertEquals(1000, $response->getResultCode());
 }
function createdomain($conn, $domainname, $registrant, $admincontact, $techcontact, $billingcontact, $nameservers)
{
    try {
        $domain = new Metaregistrar\EPP\eppDomain($domainname, $registrant);
        $reg = new Metaregistrar\EPP\eppContactHandle($registrant);
        $domain->setRegistrant($reg);
        $admin = new Metaregistrar\EPP\eppContactHandle($admincontact, Metaregistrar\EPP\eppContactHandle::CONTACT_TYPE_ADMIN);
        $domain->addContact($admin);
        $tech = new Metaregistrar\EPP\eppContactHandle($techcontact, Metaregistrar\EPP\eppContactHandle::CONTACT_TYPE_TECH);
        $domain->addContact($tech);
        $billing = new Metaregistrar\EPP\eppContactHandle($billingcontact, Metaregistrar\EPP\eppContactHandle::CONTACT_TYPE_BILLING);
        $domain->addContact($billing);
        $domain->setAuthorisationCode($domain->generateRandomString(12));
        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', 'application');
        if (($response = $conn->writeandread($create)) instanceof Metaregistrar\EPP\eppLaunchCreateDomainResponse && $response->Success()) {
            /* @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";
        } else {
            var_dump($response);
        }
    } catch (Metaregistrar\EPP\eppException $e) {
        echo $e->getMessage() . "\n";
        return false;
    }
}
Example #4
0
function transferdomain($conn, $domainname, $authcode)
{
    try {
        $domain = new Metaregistrar\EPP\eppDomain($domainname);
        $domain->setAuthorisationCode($authcode);
        $transfer = new Metaregistrar\EPP\eppTransferRequest(Metaregistrar\EPP\eppTransferRequest::OPERATION_REQUEST, $domain);
        if (($response = $conn->writeandread($transfer)) instanceof Metaregistrar\EPP\eppTransferResponse && $response->Success()) {
            /* @var $response Metaregistrar\EPP\eppTransferResponse */
            echo $response->getDomainName(), " transfer request was succesful\n";
        } else {
            echo "ERROR2\n";
        }
    } catch (Metaregistrar\EPP\eppException $e) {
        echo 'ERROR1';
        echo $e->getMessage() . "\n";
    }
}
 /**
  * Test update of hosts on a domain name
  * Expects a standard result for a free domainname
  */
 public function testUpdateDomainHostAttr()
 {
     $domainname = self::randomstring(30) . '.frl';
     $domain = new Metaregistrar\EPP\eppDomain($domainname);
     $add = null;
     $del = new Metaregistrar\EPP\eppDomain($domainname);
     $d1 = new Metaregistrar\EPP\eppHost('ns1.metaregistrar.nl');
     $d2 = new Metaregistrar\EPP\eppHost('ns2.metaregistrar.nl');
     $del->addHost($d1);
     $del->addHost($d2);
     $mod = new Metaregistrar\EPP\eppDomain($domainname);
     $h1 = new Metaregistrar\EPP\eppHost('ns1.metaregistrar.nl');
     $h2 = new Metaregistrar\EPP\eppHost('ns2.metaregistrar.nl');
     $mod->addHost($h1);
     $mod->addHost($h2);
     $update = new Metaregistrar\EPP\eppUpdateDomainRequest($domain, $add, $del, $mod, true);
     //echo $update->saveXML();
     $this->setExpectedException('Metaregistrar\\EPP\\eppException', "Error 2001: Command syntax error; value:line: 2 column: 851 cvc-complex-type.2.4.a: Invalid content was found starting with element 'domain:ns'. One of '{\"urn:ietf:params:xml:ns:domain-1.0\":registrant, \"urn:ietf:params:xml:ns:domain-1.0\":authInfo}' is expected.");
     $response = $this->conn->writeandread($update);
     $this->assertFalse($response->Success());
 }
/**
 * @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";
    }
}
Example #7
0
function modifydomain($conn, $domainname, $registrant = null, $admincontact = null, $techcontact = null, $billingcontact = null, $nameservers = null)
{
    try {
        $domain = new Metaregistrar\EPP\eppDomain($domainname);
        // First, retrieve the current domain info. Nameservers can be unset and then set again.
        $del = null;
        $info = new Metaregistrar\EPP\eppInfoDomainRequest($domain);
        if (($response = $conn->writeandread($info)) instanceof Metaregistrar\EPP\eppInfoDomainResponse && $response->Success()) {
            // 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 Metaregistrar\EPP\eppDomain($domainname);
                    }
                    foreach ($oldns as $ns) {
                        $del->addHost($ns);
                    }
                }
            }
        }
        // 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 Metaregistrar\EPP\eppDomain($domainname);
            $reg = new Metaregistrar\EPP\eppContactHandle($registrant);
            $mod->setRegistrant($reg);
        }
        $add = null;
        if ($admincontact) {
            if (!$add) {
                $add = new Metaregistrar\EPP\eppDomain($domainname);
            }
            $admin = new Metaregistrar\EPP\eppContactHandle($admincontact, Metaregistrar\EPP\eppContactHandle::CONTACT_TYPE_ADMIN);
            $add->addContact($admin);
        }
        if ($techcontact) {
            if (!$add) {
                $add = new Metaregistrar\EPP\eppDomain($domainname);
            }
            $tech = new Metaregistrar\EPP\eppContactHandle($techcontact, Metaregistrar\EPP\eppContactHandle::CONTACT_TYPE_TECH);
            $add->addContact($tech);
        }
        if ($billingcontact) {
            if (!$add) {
                $add = new Metaregistrar\EPP\eppDomain($domainname);
            }
            $billing = new Metaregistrar\EPP\eppContactHandle($billingcontact, Metaregistrar\EPP\eppContactHandle::CONTACT_TYPE_BILLING);
            $add->addContact($billing);
        }
        if (is_array($nameservers)) {
            if (!$add) {
                $add = new Metaregistrar\EPP\eppDomain($domainname);
            }
            foreach ($nameservers as $nameserver) {
                $host = new Metaregistrar\EPP\eppHost($nameserver);
                $add->addHost($host);
            }
        }
        $update = new Metaregistrar\EPP\eppUpdateDomainRequest($domain, $add, $del, $mod);
        if (($response = $conn->writeandread($update)) instanceof Metaregistrar\EPP\eppUpdateResponse && $response->Success()) {
            /* @var Metaregistrar\EPP\eppUpdateResponse $response */
            echo $response->getResultMessage() . "\n";
        }
    } catch (Metaregistrar\EPP\eppException $e) {
        echo $e->getMessage() . "\n";
        if ($response instanceof Metaregistrar\EPP\eppUpdateResponse) {
            echo $response->textContent . "\n";
        }
    }
}
Example #8
0
<?php

require '../autoloader.php';
try {
    $domainname = 'dnssectest.nl';
    $conn = new Metaregistrar\EPP\sidnEppConnection();
    eppConnect($conn);
    $add = new Metaregistrar\EPP\eppDomain($domainname);
    $sec = new Metaregistrar\EPP\eppSecdns();
    $sec->setKey('256', '8', 'AwEAAbWM8nWQZbDZgJjyq+tLZwPLEXfZZjfvlRcmoAVZHgZJCPn/Ytu/iOsgci+yWgDT28ENzREAoAbKMflFFdhc5DNV27TZxhv8nMo9n2f+cyyRKbQ6oIAvMl7siT6WxrLxEBIMyoyFgDMbqGScn9k19Ppa8fwnpJgv0VUemfxGqHH9');
    $add->addSecdns($sec);
    $domain = new Metaregistrar\EPP\eppDnssecUpdateDomainRequest($domainname, $add);
    if (($response = $conn->writeandread($domain)) instanceof Metaregistrar\EPP\eppUpdateResponse && $response->Success()) {
        echo "OKAY\n";
    }
    $this->eppDisconnect($conn);
    return true;
} catch (Metaregistrar\EPP\eppException $e) {
    echo "ERROR: " . $e->getMessage() . "\n";
    eppDisconnect($conn);
}
function eppConnect($conn)
{
    if ($conn->connect()) {
        #
        # Send greeting to EPP server
        #
        $login = new Metaregistrar\EPP\eppLoginRequest();
        if (($response = $conn->writeandread($login)) instanceof Metaregistrar\EPP\eppLoginResponse && $response->Success()) {
        } else {
            throw new Metaregistrar\EPP\eppException('Unable to login to EPP');
 protected function createDomain($domainname = null)
 {
     // If no domain name was given, test with a random .FRL domain name
     if (!$domainname) {
         $domainname = $this->randomstring(20) . '.frl';
     }
     $contactid = $this->createContact();
     $domain = new \Metaregistrar\EPP\eppDomain($domainname);
     $domain->setPeriod(1);
     $domain->setRegistrant($contactid);
     $domain->setAuthorisationCode('fubar');
     $domain->addContact(new \Metaregistrar\EPP\eppContactHandle($contactid, \Metaregistrar\EPP\eppContactHandle::CONTACT_TYPE_ADMIN));
     $domain->addContact(new \Metaregistrar\EPP\eppContactHandle($contactid, \Metaregistrar\EPP\eppContactHandle::CONTACT_TYPE_TECH));
     $domain->addContact(new \Metaregistrar\EPP\eppContactHandle($contactid, \Metaregistrar\EPP\eppContactHandle::CONTACT_TYPE_BILLING));
     $create = new \Metaregistrar\EPP\eppCreateDomainRequest($domain);
     if ($response = $this->conn->request($create)) {
         /* @var $response \Metaregistrar\EPP\eppCreateDomainResponse */
         return $response->getDomainName();
     }
     return null;
 }
Example #10
0
function createdomain($conn, $domainname, $registrant, $admincontact, $techcontact, $billingcontact, $nameservers)
{
    /* @var $conn Metaregistrar\EPP\eppConnection */
    try {
        $domain = new Metaregistrar\EPP\eppDomain($domainname, $registrant);
        $reg = new Metaregistrar\EPP\eppContactHandle($registrant);
        $domain->setRegistrant($reg);
        $admin = new Metaregistrar\EPP\eppContactHandle($admincontact, Metaregistrar\EPP\eppContactHandle::CONTACT_TYPE_ADMIN);
        $domain->addContact($admin);
        $tech = new Metaregistrar\EPP\eppContactHandle($techcontact, Metaregistrar\EPP\eppContactHandle::CONTACT_TYPE_TECH);
        $domain->addContact($tech);
        $billing = new Metaregistrar\EPP\eppContactHandle($billingcontact, Metaregistrar\EPP\eppContactHandle::CONTACT_TYPE_BILLING);
        $domain->addContact($billing);
        $domain->setAuthorisationCode('rand0m');
        if (is_array($nameservers)) {
            foreach ($nameservers as $nameserver) {
                $host = new Metaregistrar\EPP\eppHost($nameserver);
                $domain->addHost($host);
            }
        }
        $create = new Metaregistrar\EPP\eppCreateDomainRequest($domain, true);
        if (($response = $conn->writeandread($create)) instanceof Metaregistrar\EPP\eppCreateResponse && $response->Success()) {
            /* @var $response Metaregistrar\EPP\eppCreateResponse */
            echo "Domain " . $response->getDomainName() . " created on " . $response->getDomainCreateDate() . ", expiration date is " . $response->getDomainExpirationDate() . "\n";
        }
    } catch (Metaregistrar\EPP\eppException $e) {
        echo $e->getMessage() . "\n";
    }
}
Example #11
0
function transferdomain($conn, $domainname, $authcode)
{
    try {
        $domain = new Metaregistrar\EPP\eppDomain($domainname);
        $domain->setAuthorisationCode($authcode);
        $transfer = new Metaregistrar\EPP\eppTransferRequest(Metaregistrar\EPP\eppTransferRequest::OPERATION_REQUEST, $domain);
        echo $transfer->saveXML();
        if (($response = $conn->writeandread($transfer)) instanceof Metaregistrar\EPP\eppTransferResponse && $response->Success()) {
            echo $response->saveXML();
        }
    } catch (Metaregistrar\EPP\eppException $e) {
        echo $e->getMessage() . "\n";
    }
}