user_level von Moderator wird nicht gelöscht (+Bugfix)
Verfasst: 11.02.2005 13:52
Ich weiß nicht, obs bei anderen auch so ist, aber wenn ich einem Moderator komplett wieder zum normalen User machen will, wird im Table phpbb_users der user_level nicht wieder von 2 auf 0 zurückgesetzt. Vorher gabs aufgrund der Fehlprogrammierung des phpbb ja schon diesen Bugfix *klick*. Mein Forum läuft auf php5, deshalb kann ich jetzt nicht sagen, ob der Bug schon in php4 war. mySQL gibt bei der Anfrage der Summe 'NULL' zurück, geprüft wird aber nach 'HAVING SUM(aa.auth_mod) = 0', was unter PHP5 nicht identisch ist. Ich glaube aber sogar, dass das auch unter PHP4 so ist, weil die Datenbank ansich in dem Fall schon keine user_ids zurückgibt.
Für alle, die dieses Problem auch haben, hab ich folgenden Bugfix parat:
Evtl könnte der Code für oracle & postgresql darüber dementsprechend auch geändert bzw verkürzt werden... müsste mal jemand ausprobieren. Danach wird das user_level wieder korrekt zurückgesetzt und die ehemaligen Moderatoren nicht mehr überall im Forum als Moderator ausgewiesen.
Für alle, die dieses Problem auch haben, hab ich folgenden Bugfix parat:
Code: Alles auswählen
Öffne admin/admin_ug_auth.php
Suche nach: (kommt 2x vor - letzteres ersetzen!)
HAVING SUM(aa.auth_mod) = 0";
ändern in:
HAVING COUNT(aa.auth_mod) = 0";