HostFact - Registrar 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 registrar DNS beheer ondersteund, zie de voorbeeldbestanden.


getDNSTemplates()

Haalt alle DNS templates op bij een registrar.


Voorbeeld implementatie
function getDNSTemplates() {
	/**
	 * Step 1) get all DNS templates
	 */
	$response 	= true;
	
	/**
	 * Step 2) provide feedback to HostFact
	 */
	if($response === true)
	{
        $dns_templates = array();
		foreach($response['templates'] as $key => $_dns_template)
        {
            $dns_templates['templates'][$key]['id']      = $_dns_template['id'];
            $dns_templates['templates'][$key]['name']    = $_dns_template['name'];
        }
            
		return $dns_templates;
	}
	else
	{
		// Registrar has/supports no DNS templates
		$this->Error[] = 'DNS Templates could not be retrieved at the registrar';
        return FALSE;
	}
}


getDNSZone()

Haal een DNS zone op bij een registrar.


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 bij een registrar.

Let op: HostFact filtert bij het tonen van de DNS records de naam om zo een consequente weergave te tonen voor alle registrars. 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 registrar 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 registrar
	 */
	$response 	= true;
	
	/**
	 * Step 2) provide feedback to HostFact
	 */
	if($response === true)
	{
        return TRUE;
	}
	else
	{
		return FALSE;
	}
}