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; } }