Domain-Registrar-Module erstellen: Unterschied zwischen den Versionen
Zeile 2: | Zeile 2: | ||
== Dateistruktur == | == 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 == | == 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 == | == Einstellungen == | ||
− | ... | + | Sie können über die Methode ''getSettings()'' definieren, welche Einstellungen der Administrator für das Modul durchführen können soll. Ein Beispiel: |
+ | |||
+ | <source lang="php"> | ||
+ | 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"), | ||
+ | ); | ||
+ | } | ||
+ | </source> | ||
+ | |||
+ | Auf die definierten Einstellungen können Sie innerhalb der Modul-Klasse bspw. mit dem Aufruf ''$this->options->api_url'' zugreifen. | ||
== Domain-Verfügbarkeit == | == Domain-Verfügbarkeit == | ||
− | . | + | Über die Methode <code>availibilityStatus($domain)</code> wird die Verfügbarkeit der Domain <code>$domain</code> geprüft. Folgende Rückgabewerte sind möglich: |
+ | |||
+ | * <code>true</code>, wenn die Domain verfügbar ist | ||
+ | * <code>false</code>, wenn die Domain bereits registriert ist | ||
+ | * <code>null</code>, falls die Domain nicht geprüft werden konnte / nicht registriert werden kann | ||
== Domain registrieren / transferieren == | == Domain registrieren / transferieren == | ||
− | ... | + | Die Registrierung erfolgt über die Methode <code>registerDomain($domain, $owner, $admin, $tech, $zone, $ns, $privacy = false)</code>. Die Signatur der Methode zum Transfer lautet <code>transferDomain($domain, $owner, $admin, $tech, $zone, $authCode, $ns, $privacy = false)</code>. Die Belegung der Variablen: |
+ | |||
+ | * <code>$domain</code> - der Domain-Name | ||
+ | * <code>$owner, $admin, $tech, $zone</code> - Handle-Daten als Array | ||
+ | ** Vorname | ||
+ | ** Nachname | ||
+ | ** Firma | ||
+ | ** Straße | ||
+ | ** Land | ||
+ | ** Postleitzahl | ||
+ | ** Stadt | ||
+ | ** Telefon | ||
+ | ** Telefax | ||
+ | ** E-Mail | ||
+ | ** Notizen | ||
+ | * <code>$authCode</code> - Auth-Code (nur bei Transfer) | ||
+ | * <code>$ns</code> - Array mit Nameservern | ||
+ | * <code>$privacy</code> - Boolean, der angibt, ob WHOIS-Privacy aktiviert ist | ||
+ | |||
+ | Als Rückgabe wird im Erfolgsfall <code>true</code> erwartet, im Fehlerfall eine Fehlermeldung als String. | ||
== Nameserver ändern == | == Nameserver ändern == |
Version vom 12. Oktober 2018, 21:46 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
...
Kontakte ändern
...
Sonderfall: Trade
...
Authcode abrufen
...
Transfersperre / Verlängerung / WHOIS-Privacy
...
Domain löschen / in den Transit geben
...
Domain-Synchronisation
...
Kostenloses SSL-Zertifikat
...
Kontakt-Format
...
Beispiel-Code
...