Eigene Erweiterungen für Mediawiki schreiben

Ein großer Vorteil von Mediawiki ist, dass es fertige Erweiterungen gibt, aber auch eigene geschrieben werden können. Fertige Erweiterungen werden nach dem Herunterladen im Unterverzeichnis extensions/ gespeichert. Mit ein paar Grundkenntnissen in PHP kann man aber auch seine eigenen Erweiterungen schreiben, die sich problemlos in das Wiki integrieren lassen.

Ein Fallbeispiel: Der Inhalt einer externen Datei soll in ein Wiki integriert werden. Die Datei ändert sich häufig, und das Wiki soll immer ihren aktuellen Stand enthalten. Zu diesem Zweck kann man ganz einfach eine Erweiterung schreiben.

Die folgende Erweiterung zeigt den Inhalt der angegebenen Datei auf einer Wiki-Seite an. Der Benutzer des Webservers muss Lesezugriff auf die Datei haben.

Man sollte nicht vergessen, dass diese Erweiterung gefährlich sein kann, wenn die Eingaben nicht entsprechend gefiltert werden. Der Code überprüft, ob $input den Namen einer von zwei Dateien enthält: /var/lib/foo oder /tmp/status. Ist dies nicht der Fall, wird die Variable $file nicht gesetzt – ihr Wert bleibt NULL. Falls der übergebene Dateiname einer der beiden zulässigen Dateien entspricht, wird der Dateiinhalt abgerufen und dem Mediawiki zur Anzeige übergeben.

Die folgende Zeile muss der Datei LocalSettings.php hinzugefügt werden, um die Erweiterung einzubinden (wobei die entsprechende Datei plugin_file.php heißt):


include("./extensions/plugin_file.php");

Und um dieses Plugin im Mediawiki zu benutzen, muss im Wiki eine Seite mit dem folgenden Code erstellt (oder dieser eingefügt) werden:


/tmp/status

Dieser von der Datei plugin_file.php verwendete Code wurde im Aufruf $wgParser->setHook definiert. Er gibt die Datei samt der zugehörigen Funktion (renderFile) an, die ebenfalls dort definiert wurde.

Wie man sieht, ist es extrem einfach, eine eigene Erweiterung zu schreiben. Mit eigenem PHP-Code stehen einem damit grenzenlose Möglichkeiten offen, sein Wiki zu erweitern.

ZDNet.de Redaktion

Recent Posts

Google kündigt neue Sicherheitsfunktionen für Chrome an

Der Sicherheitscheck entzieht unsicheren Websites automatisch alle Berechtigungen. Zudem können Nutzer in Chrome künftig Websites…

7 Stunden ago

Cyberkriminelle nehmen Fertigungsbetriebe ins Visier

Ontinue registriert einen Anstieg beim Anteil am Gesamtangriffsvolumen um 105 Prozent. Das Angriffsvolumen auf den…

8 Stunden ago

o1: OpenAI stellt neues KI-Modell für komplexe Abfragen vor

Das o1 genannte Modell liegt als Preview vor. Bei einer Mathematikprüfung beantwortet es 83 Prozent…

3 Tagen ago

Zoom erhält IT-Sicherheits- kennzeichen des BSI

Das Kennzeichen erhalten Zoom Workplace Pro und Zoom Workplace Basic. Es bescheinigt unter anderem aktuelle…

4 Tagen ago

Google verbessert Tab-Verwaltung in Chrome

iOS und iPadOS erhalten Tab-Gruppen. Zudem unterstützt Chrome nun die Synchronisierung von Tab-Gruppen.

4 Tagen ago

Identitätsdiebstahl: 58 Prozent der Deutschen sorgen sich um digitales Erbe

Sie befürchten einen Missbrauch der Identitäten von Verstorbenen. 60 Prozent befürworten deswegen eine Klärung des…

4 Tagen ago