Schlagwort-Archive: Fix

Dokuwiki 2009-12-25 „Lemming“ für Joomla

Seit einigen Tagen gibt es die neue Dokuwiki-Version 2009-12-25 „Lemming“. Um die neue Version in gewohnter Weise in Joomla zu integrieren, das heißt mit AutoLogin unter Benutzung der Joomla-Benutzerdatenbank, muss man leider ein paar Zeilen Code ändern. Das ist notwendig, weil die Daten des Cookies, den Dokuwiki setzt um einen eingeloggten Benutzer zu erkennen, in der neuen Version etwas verändert wurden. Und da das AutoLogin-Plugin diesen Cookie ebenfalls erzeugt, muss das Plugin angepasst werden.

Ich nehme an, dass bereits das AutoLogin-Plugin sowie die Dokuwiki-Bridge installiert und konfiguriert sind.

Um die Änderungen durchzuführen, öffnet ihr die Datei plugins/user/dokuwikilogin.php. Das könnt ihr entweder mit Hilfe eines FTP-Programms machen, oder ihr benutzt dazu eXtplorer.

In dieser Datei müsst ihr folgende Zeile

 require_once ($dokuwiki_path . 'inc/blowfish.php');

um diesen Codeblock ergänzen. Dieser Code macht die die Dokuwiki-Konfiguration verfügbar.

 // Retrieve configuration parameters
 require_once ($dokuwiki_path . 'conf/dokuwiki.php');
 if (file_exists($dokuwiki_path . "conf/local.php")) {
     require_once ($dokuwiki_path . 'conf/local.php');
 }

Etwas weiter unten muss die Zeile

 $doku_cookie = 'DW'.md5($doku_rel);

durch diese ersetzt werden:

 $doku_cookie = 'DW'.md5($doku_rel.(($conf['securecookie'])?$_SERVER['SERVER_PORT']:''));

Außerdem noch diese Zeile

 $cookie = base64_encode("$username|$sticky|$password");

durch diese:

 $cookie = base64_encode($username).'|'.((int) $sticky).'|'.base64_encode($password);

Danach sollte Dokuwiki wieder ohne Probleme zu benutzen sein, sobald man sich neu bei Joomla angemeldet hat und keine Probleme mehr bereiten.