Sie können an sourceDESK eigene Domain-Registrare anbinden, um Domains über diese zu registrieren und zu verwalten.
Dateistruktur
Ein Registrar-Modul bekommt ein eigenes Verzeichnis unter modules/domain. In diesem Verzeichnis muss sich eine PHP-Datei mit dem gleichen Namen wie das Verzeichnis und der Endung .php befinden. In dieser PHP-Datei wird eine Klasse definiert, die von der Klasse DomainRegistrar erbt.
Attribute
Es werden mehrere Attribute innerhalb der erstellten Klasse benötigt, die höchstens protected sein dürfen:
- $name gibt einen Anzeigenamen für das Modul an
- $short gibt den Kurznamen des Moduls an, das entspricht dem Verzeichnis- bzw. Dateinamen
- $version gibt die Versionsnummer des Moduls an
Einstellungen
Sie können über die Methode getSettings() definieren, welche Einstellungen der Administrator für das Modul durchführen können soll. Ein Beispiel:
public function getSettings() { return Array( "api_url" => Array("type" => "text", "name" => "API-URL", "default" => "https://gateway.autodns.com"), "api_user" => Array("type" => "text", "name" => "API-Benutzer"), "api_password" => Array("type" => "password", "name" => "API-Passwort"), ); }
Auf die definierten Einstellungen können Sie innerhalb der Modul-Klasse bspw. mit dem Aufruf $this->options->api_url zugreifen.
Domain-Verfügbarkeit
Über die Methode availibilityStatus($domain)
wird die Verfügbarkeit der Domain $domain
geprüft. Folgende Rückgabewerte sind möglich:
-
true
, wenn die Domain verfügbar ist -
false
, wenn die Domain bereits registriert ist -
null
, falls die Domain nicht geprüft werden konnte / nicht registriert werden kann
Domain registrieren / transferieren
Die Registrierung erfolgt über die Methode registerDomain($domain, $owner, $admin, $tech, $zone, $ns, $privacy = false)
. Die Signatur der Methode zum Transfer lautet transferDomain($domain, $owner, $admin, $tech, $zone, $authCode, $ns, $privacy = false)
. Die Belegung der Variablen:
-
$domain
- der Domain-Name -
$owner, $admin, $tech, $zone
- Handle-Daten als Array- Vorname
- Nachname
- Firma
- Straße
- Land
- Postleitzahl
- Stadt
- Telefon
- Telefax
- Notizen
-
$authCode
- Auth-Code (nur bei Transfer) -
$ns
- Array mit Nameservern -
$privacy
- Boolean, der angibt, ob WHOIS-Privacy aktiviert ist
Als Rückgabe wird im Erfolgsfall true
erwartet, im Fehlerfall eine Fehlermeldung als String.
Nameserver ändern
Über die Methode changeNameserver($domain, $ns)
können die Nameserver der Domain $domain
geändert werden. Hierbei wird ein Array mit Nameserver-Hostnamen als $ns
übergeben.
Kontakte ändern
Die Methode changeContact($domain, $owner, $admin, $tech, $zone)
ändert die Kontakte der Domain $domain
.
Sonderfall: Trade
Der kostenpflichtige Kontaktwechsel (Trade) wird über die Methode trade($domain, $owner, $admin, $tech, $zone)
initiiert.
Authcode abrufen
Der automatische Abruf des Authcodes erfolgt über die Methode getAuthCode($domain)
. Als Rückgabewert ist im Fehlerfall false
zulässig, im Erfolgsfall ist der Authcode zurückgegeben, wobei vor diesen AUTH:
geschrieben werden muss.
Transfersperre / Verlängerung / WHOIS-Privacy
Das Setzen der Transfersperre, von Verlängerungsoptionen und WHOIS-Privacy erfolgt über die Methode changeValues($domain, $status = false, $renew = true, $privacy = false)
. Dabei stellen die drei Booleans folgende Werte dar:
-
$status
aktiviert die Transfersperre -
$renew
aktiviert die automatische Verlängerung -
$privacy
aktiviert WHOIS-Privacy
Domain löschen / in den Transit geben
Um eine Domain zu löschen oder in den Transit zu geben, nutzen Sie die Methode deleteDomain($domain, $transit = 0)
. Hierbei ist die Belegung von $transit
wie folgt möglich:
-
0
- Domain löschen -
1
- Konnektierter Transit -
2
- Dekonnektierter Transit
Domain-Synchronisation
Domains werden periodisch synchronisiert, dazu wird die Methode syncDomain($domain, $kkSync = false)
aufgerufen. Ist $kkSync
auf true
gesetzt, befindet sich die Domain noch im Transfer-Status. Sofern die Domain noch nicht transferiert wurde, ist Array("status" => "waiting_kk")
zurückzugegeben.
Die erwartete Rückgabe für eine registrierte Domain ist ein Array mit den folgenden Schlüsseln:
-
auto_renew
- Boolean, der den Status der automatischen Verlängerung zurückgibt -
expiration
- Datum des Domainablaufs im Format YYYY-MM-DD -
status
- Boolean, der den Status der Domain (aktiv/nicht aktiv) zurückgibt -
transfer_lock
- Boolean, der angibt, ob die Transfer-Sperre aktiviert ist -
privacy
- Boolean, der den Status der WHOIS-Privacy angibt
Kostenloses SSL-Zertifikat
...
Kontakt-Format
...
Beispiel-Code
...