02.10.2008, 10:03
Wenn ein User keine Rechte für eine bestimmte Seite hat (d.h. er wurde mit error_no_permission() abgewiesen), wird in der Wer-Ist-Online-Liste dennoch sein wahrer Aufenthaltsort angezeigt und nicht "Viewing No Permissions Page" wie eigentlich vorgesehen.
Reproduktion:
* Unterforum anlegen, einer Benutzergruppe A den Zutritt sperren.
* Mit einem Benutzer aus Gruppe A dieses Forum über die URL aufrufen, er gelangt auf die No-Permission-Page
* Mit einem anderen Benutzer die WOL aufrufen, er sieht, dass der Benutzer aus Gruppe A angeblich das gesperrte Forum ansieht.
Ursache:
Die Funktion build_friendly_wol_location() in der functions_online.php prüft zwar auf nopermission (relativ am Ende, Zeile 894ff), allerdings wird ihr der Wert niemals im Array mit übergeben, sodass die Prüfung immer fehlschlägt.
Mögliche Lösung:
In der online.php folgendes Suchen (Zeile 170f):
Danach einfügen:
Reproduktion:
* Unterforum anlegen, einer Benutzergruppe A den Zutritt sperren.
* Mit einem Benutzer aus Gruppe A dieses Forum über die URL aufrufen, er gelangt auf die No-Permission-Page
* Mit einem anderen Benutzer die WOL aufrufen, er sieht, dass der Benutzer aus Gruppe A angeblich das gesperrte Forum ansieht.
Ursache:
Die Funktion build_friendly_wol_location() in der functions_online.php prüft zwar auf nopermission (relativ am Ende, Zeile 894ff), allerdings wird ihr der Wert niemals im Array mit übergeben, sodass die Prüfung immer fehlschlägt.
Mögliche Lösung:
In der online.php folgendes Suchen (Zeile 170f):
PHP-Code:
// Fetch the WOL activity
$user['activity'] = fetch_wol_activity($user['location']);
PHP-Code:
$user['activity']['nopermission'] = $user['nopermission'];