Domain-Registrar-Module erstellen: Unterschied zwischen den Versionen

Aus sourceDESK Wiki
Wechseln zu: Navigation, Suche
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.

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
    • E-Mail
    • 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

...