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

Gefahren im Foxit PDF-Reader

Check Point warnt vor offener Schwachstelle, die derzeit von Hackern für Phishing ausgenutzt wird.

2 Tagen ago

Bitdefender entdeckt Sicherheitslücken in Überwachungskameras

Video-Babyphones sind ebenfalls betroffen. Cyberkriminelle nehmen vermehrt IoT-Hardware ins Visier.

2 Tagen ago

Top-Malware in Deutschland: CloudEye zurück an der Spitze

Der Downloader hat hierzulande im April einen Anteil von 18,58 Prozent. Im Bereich Ransomware ist…

2 Tagen ago

Podcast: „Die Zero Trust-Architektur ist gekommen, um zu bleiben“

Unternehmen greifen von überall aus auf die Cloud und Applikationen zu. Dementsprechend reicht das Burg-Prinzip…

2 Tagen ago

Google schließt weitere Zero-Day-Lücke in Chrome

Hacker nutzen eine jetzt gepatchte Schwachstelle im Google-Browser bereits aktiv aus. Die neue Chrome-Version stopft…

3 Tagen ago

Hacker greifen Zero-Day-Lücke in Windows mit Banking-Trojaner QakBot an

Microsoft bietet seit Anfang der Woche einen Patch für die Lücke. Kaspersky-Forscher gehen davon aus,…

3 Tagen ago