Ich möchte in Kürze mein phpBB 2.x Board gegen phpBB 3.0.2 ersetzen. Zu Testzwecken und wegen der Templateanpassung läuft die neue Version vorerst lokal auf meinem Rechner.
Beim testen habe ich heute morgen nun zufällig entdeckt, dass beim löschen eines Beitrags das gesamte Thema gelöscht wird.
Ich habe dann sofort auf phpbb.de nach einer Lösung gesucht. Dabei bin ich auch fündig geworden:
Die Anpassung des Codes hat das Problem tatsächlich gelöst.manjo hat geschrieben:Hallo!
Da es offensichtlich ein Bug in mysql ist und nicht jeder in der Lage ist, seinen Provider dazu zu bewegen, eine neue Version einzuspielen, hier ein Workaround:
öffne include/functions_admin.php
finde in der Nähe von Zeile 720und ersetzte ihn durchCode: Alles auswählen
// Remove topics now having no posts? if (sizeof($topic_ids)) { $sql = 'SELECT topic_id FROM ' . POSTS_TABLE . ' WHERE ' . $db->sql_in_set('topic_id', $topic_ids) . ' GROUP BY topic_id'; $result = $db->sql_query($sql);
speichern.Code: Alles auswählen
// Remove topics now having no posts? if (sizeof($topic_ids)) { $sql = 'SELECT topic_id,post_id FROM ' . POSTS_TABLE . ' WHERE ' . $db->sql_in_set('topic_id', $topic_ids) . ' GROUP BY topic_id'; $result = $db->sql_query($sql);
Bei mir hats funktioniert so.
Viele Grüße
Manjo
Wenn ich den Fehler beim testen nicht zufällig bemerkt hätte und das neue Board irgendwann online gewesen wäre, dann hätte der Fehler schwerwiegende Folgen gehabt. Jeder User, der einen seiner eigenen Beiträge löscht, hätte jedes Mal das komplette Thema vernichtet.
Mir stellt sich nun die Frage, wie die Entwickler/Beitreiber von phpBB mit einer solchen Problematik umgehen. Der beschriebene Fehler soll kein echter Bug sein, sondern eher ein mySQL-Problem.
Setzen die Entwickler nun einfach voraus das jeder die aktuellste mySQL Version installiert hat (bei mir läuft lokal mySQL 5.0.15), oder will man den entsprechenden php-Code mit der phpBB-Version 3.0.3 korigieren?
Egal welcher Fall nun zutrifft: es muss das Ziel aller Beteiligten sein das ein Anwender vor der Live-Inbetriebnahme seines Boards auf solche schwerwiegenden Fehler hingewiesen wird.
Sicherlich gibt es irgendwo eine Bug-Liste. Die Frage ist nur, ob dieser Fehler als "Bug" gesehen wird, dort eingestellt ist und beseitigt wird. Außerdem: ließt jeder Nutzer regelmäßig die Bugliste?
Vielleicht sollte man im ACP eine Übersichtsliste schaffen wo auf schwerwiegende Fehler hingewiesen wird. Das wäre doch ein Verbesserungsvorschlag?