Der bug hier ist reproduzierbar:
Ich erzeuge eine Umfrage mit 5 Antworten "1", "2", "3", "4", "5" (man könnte auch "a", "b", "c" etc. nehmen für die Übersicht).
Das ergibt in der Datenbank in phpbb_vote_results folgende Einträge (mit jeweils identischem Wert abhängig von der Anzahl der vorhandenen Umfragen im Forum in vote_id, durch den diese Umfrage gekennzeichnet wird.)
vote_option_id: vote_option_text:
1 1 <<-- oder "a", je nachdem
2 2
...
5 5
Dann editiere ich in PHPBB die Umfrage und lösche eine Antwort, zum Beispiel die "2" (oder "b", je nachdem).
Der Eintrag fehlt jetzt in der Datenbank korrekt, das heißt: Kein Eintrag mit vote_option_id = 2.
Dann editiere ich die Umfrage nochmal in PHPBB und füge ein neues Element hinzu, sinniger Weise mit der Antwort "6" (oder "f", je nachdem).
Jetzt steht in der Datenbank:
vote_option_id vote_option_text:
1 1
3 3
4 4
5 5
5 6
Das ist zweimal derselbe Wert für vote_option_id.
Die Funktion hat zählt offenbar beim Hinzufügen eines Elements zu einer Umfrage nur die Zahl der Einträge, erhöht sie um 1 und gibt dann n+1 in die Datenbank als Wert für die neue vote_option_id aus.
In einer umfangreichen Abstimmung mit vielen nachträglichen Änderungen führt das zu kuriosen Ergebnissen.
Ich vermute, dass der Bug in functions_post.php in der Funktion "Add Poll" ist.
Die Funktion sollte entweder die vorhandenen Werte für vote_option_id berücksichtigen und daraus den höchsten Wert n für den neuen Wert n+1 ermitteln oder gleich alle Werte für vote_option_id neu setzen.
Leider blick ich bei php zu wenig durch, um mir auf die Schnelle zu helfen.
Hat jemand eine Idee, wie das zu korrigieren wäre?
Günther
Mod für functions_post.php / Umfrage vote_options_id
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
-
- Mitglied
- Beiträge: 3
- Registriert: 08.09.2005 18:23