HostFact - Hosting class



DNS beheer

Op deze pagina worden alle functies besproken met betrekking tot DNS beheer. Om gebruik te kunnen maken van deze functies dient u in het bestand 'version.php' aan te geven dat de server DNS beheer ondersteund, zie de voorbeeldbestanden.


createDNSZone()

Maakt een nieuwe DNS zone aan op de server nadat een domeinnaam is geregisteerd bij de registrar.


Beschikbare variabelen Beschrijving
$domain Volledige domeinnaam (incl. extensie)
$dns_zone Array met DNS zone informatie en DNS zone records
(zie hoofdstuk Parameters)

Voorbeeld implementatie
function createDNSZone($domain, $dns_zone) {
	/**
	 * Step 1) check if DNS zone exists on server
	 */
	$response 	= true;
    
    /**
	 * Step 2a) DNS zone exists, update DNS zone
	 */
	if($response === true)
    {
        return $this->saveDNSZone($domain, $dns_zone);
    }
    
	/**
	 * Step 2b) DNS zone does not exist, create a new one
	 */
	$create_response 	= true;
    
    /**
	 * Step 3) provide feedback to HostFact
	 */
    if($create_response === true)
    {
        return TRUE;
    }
	else
	{
		// failed
        return FALSE;
	}
}


getDNSZone()

Haal een DNS zone op van de server.


Beschikbare variabelen Beschrijving
$domain Volledige domeinnaam (incl. extensie)

Voorbeeld implementatie
function getDNSZone($domain) {
	/**
	 * Step 1) get DNS zone
	 */
	$response 	= true;
	
	/**
	 * Step 2) provide feedback to HostFact
	 */
	if($response === true)
	{
        $i = 0;
        $dns_zone = array();
        
        foreach($response['records'] as $record)
        {
            // optionally, you can define records as readonly, these records won't be editable in HostFact
            if(strtolower($record['type']) == 'soa')
            {
                $record_type = 'records_readonly';
            }
            else
            {
                $record_type = 'records';
            }
            
            $dns_zone[$record_type][$i]['name']        = $record['name'];
            $dns_zone[$record_type][$i]['type']        = $record['type'];
            $dns_zone[$record_type][$i]['value']       = $record['value'];
            $dns_zone[$record_type][$i]['priority']    = $record['prio'];
            $dns_zone[$record_type][$i]['ttl']         = $record['ttl'];
            $dns_zone[$record_type][$i]['id']          = $record['id']; // not required

            $i++;
        }
        
        return $dns_zone;
	}
	else
	{
		// DNS zone does not exist or API call failed
		return FALSE;
	}
}


saveDNSZone()

Update een DNS zone op de server.

Let op: HostFact filtert bij het tonen van de DNS records de naam om zo een consequente weergave te tonen voor alle servers. De laatste punt en de domeinnaam worden verwijderd uit de waarde. Voorbeeld: 'ftp.domain.tld.' wordt 'ftp'. Houdt hiermee rekening bij het updaten van een DNS zone.


Beschikbare variabelen Beschrijving
$domain Volledige domeinnaam (incl. extensie)
$dns_zone Array met DNS zone informatie en DNS zone records
(zie hoofdstuk Parameters)

Voorbeeld implementatie
function saveDNSZone($domain, $dns_zone) {
				    
    /*
    if the control panel does not support a update command, but only add/delete commands
    use the getDNSZone command and compare it's output with the $dns_zone array
    this way you can check which records are edited and add/delete them accordingly
    */
                    
	/**
	 * Step 1) update DNS zone at server
	 */
	$response 	= true;
	
	/**
	 * Step 2) provide feedback to HostFact
	 */
	if($response === true)
	{
        return TRUE;
	}
	else
	{
		return FALSE;
	}
}