Domain-Registrar-Module erstellen: Unterschied zwischen den Versionen
(→Domain löschen / in den Transit geben) |
(→Domain-Synchronisation) |
||
Zeile 82: | Zeile 82: | ||
== Domain-Synchronisation == | == Domain-Synchronisation == | ||
− | ... | + | Domains werden periodisch synchronisiert, dazu wird die Methode <code>syncDomain($domain, $kkSync = false)</code> aufgerufen. Ist <code>$kkSync</code> auf <code>true</code> gesetzt, befindet sich die Domain noch im Transfer-Status. Sofern die Domain noch nicht transferiert wurde, ist <code>Array("status" => "waiting_kk")</code> zurückzugegeben. |
+ | |||
+ | Die erwartete Rückgabe für eine registrierte Domain ist ein Array mit den folgenden Schlüsseln: | ||
+ | |||
+ | * <code>auto_renew</code> - Boolean, der den Status der automatischen Verlängerung zurückgibt | ||
+ | * <code>expiration</code> - Datum des Domainablaufs im Format YYYY-MM-DD | ||
+ | * <code>status</code> - Boolean, der den Status der Domain (aktiv/nicht aktiv) zurückgibt | ||
+ | * <code>transfer_lock</code> - Boolean, der angibt, ob die Transfer-Sperre aktiviert ist | ||
+ | * <code>privacy</code> - Boolean, der den Status der WHOIS-Privacy angibt | ||
== Kostenloses SSL-Zertifikat == | == Kostenloses SSL-Zertifikat == |
Version vom 12. Oktober 2018, 22:02 Uhr
Sie können an sourceDESK eigene Domain-Registrare anbinden, um Domains über diese zu registrieren und zu verwalten.
Inhaltsverzeichnis
- 1 Dateistruktur
- 2 Attribute
- 3 Einstellungen
- 4 Domain-Verfügbarkeit
- 5 Domain registrieren / transferieren
- 6 Nameserver ändern
- 7 Kontakte ändern
- 8 Sonderfall: Trade
- 9 Authcode abrufen
- 10 Transfersperre / Verlängerung / WHOIS-Privacy
- 11 Domain löschen / in den Transit geben
- 12 Domain-Synchronisation
- 13 Kostenloses SSL-Zertifikat
- 14 Kontakt-Format
- 15 Beispiel-Code
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
...