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

Umfrage: Angestellte in Deutschland unterschätzen NIS-2-Richtlinie

Fast zwei Drittel halten jedoch eine Umsetzung aller Vorgaben von NIS 2 bis Jahresende für…

4 Stunden ago

Kostenloser Dekryptor für ShrinkLocker

Mit dem Dekryptor von Bitdefender können Opfer von Attacken mit der Shrinklocker-Ransomware Dateien wiederherstellen.

18 Stunden ago

Malwarebytes warnt vor Betrugsmaschen beim Weihnachtseinkauf

In der Vorweihnachtszeit ist vor allem Malvertising auf dem Vormarsch. Cyberkriminelle locken Nutzer über schädliche…

18 Stunden ago

Bedrohungsindex: Deutliche Zunahme von Infostealern im Oktober

Dazu trägt unter der Infostealer Lumma-Stealer bei. Hierzulande dominiert der Infostealer Formbook die Malware-Landschaft.

2 Tagen ago

Chrome 131 schließt zwölf Sicherheitslücken

Eine schwerwiegende Anfälligkeit hebelt die Sicherheitsfunktion Seitenisolierung auf. Betroffen sind Chrome für Windows, macOS und…

2 Tagen ago

DeepL Voice mit KI für Sprach- übersetzungen

DeepL Voice ermöglicht Live‑Übersetzung von Meetings und Gesprächen in 13 Sprachen.

2 Tagen ago