para_noid
hirnrissig
Nur mal als Hinweis: du benutzt einen Editor mit Syntaxhervorhebung. Du hast zuvor ein Bild gepostet in dem man sieht, dass die "Stringfarbe" (grau) deutlich über deinen SQL-String hinausgeht und die Codeteile, die eigentlich geparst werden müssten und vorher ne andere Farbe hatten, auch grau färbt. Wenn du schon dabei bist, irgendwelche Mod-Anpassungen für ein phpbb-Forum reinzuhacken, dann solltest du auch in der Lage sein, die Fehler selbst zu finden. In dem Fall hast du deine 4 Zeilen einfach mit denen saftmeister's gebügelt und danach die Arme hochgerissen. Bitte, schau dir die Codeschnippsel die du bekommst genau an und versuch auch sie nachzuvollziehen. Dann sollten dir solche Kleinigkeiten wie fehlende Quotes auch direkt auffallen.
Weiter im Text.
Du willst eine ganz bestimmte UserID von der Bestätigungspflicht ausschließen. Freilich bringt es dir nichts, den User in dem SQL-Statement auszuschließen - das wird ja nur abgefeuert, wenn der User gerade bestätigt hat.
Das DB-Feld user_accept_rules wird auch in der ersten if-Abfrage überprüft. Das heißt, dass der gesamte Zweig darauf ausgelegt ist, einen User darauf zu überprüfen, ob er noch NICHT bestätigt hat, aber noch bestätigen SOLL.
Theoretisch könntest du also bereits bei diesem if zusätzlich angeben, dass die userID != 2 sein soll.
Das wird dich aber nicht glücklich machen. Das verhindert nämlich schlicht und ergreifend, dass für den User ID 2 in der Datenbank user_accept_rules auf 1 gesetzt wird, und ich wette mal in's Blaue dass dir das später wieder auf die Füße fallen wird.
Du hast in deinem Thread im phpbb3-Forum sehr viel detailliertere Rückmeldung bekommen, angefangen von der testweisen Deaktivierung des SEO-Mods, was du kategorisch abgelehnt hast, bis hin zur Rückkehr zum originalen Mod-Code, den du, aus welchen Gründen auch immer, an gewissen Stellen einfach abgeändert hast.
Dass dir dort mittlerweile keiner mehr (umgehend) antwortet wird kaum daran liegen, dass niemand helfen möchte.
Nachdem ich mir aber nu alle erforderlichen Informationen dort rausgepickt habe versteh ich auch so langsam das Grundproblem. Das Query an sich kann nicht die Ursache sein, die Spalte würde dort wörtlich auf 1 gesetzt und genau das geschieht ja nicht. Das kann nur bedeuten, dass du
geprüft wird, bei dir aber
zu
Weiter im Text.
Du willst eine ganz bestimmte UserID von der Bestätigungspflicht ausschließen. Freilich bringt es dir nichts, den User in dem SQL-Statement auszuschließen - das wird ja nur abgefeuert, wenn der User gerade bestätigt hat.
PHP:
if (confirm_box(true))
Das DB-Feld user_accept_rules wird auch in der ersten if-Abfrage überprüft. Das heißt, dass der gesamte Zweig darauf ausgelegt ist, einen User darauf zu überprüfen, ob er noch NICHT bestätigt hat, aber noch bestätigen SOLL.
Theoretisch könntest du also bereits bei diesem if zusätzlich angeben, dass die userID != 2 sein soll.
PHP:
if ($user->data['user_accept_rules'] == 0 && /* weitere Bedingungen */ && $user->data['user_id'] != 2)
Das wird dich aber nicht glücklich machen. Das verhindert nämlich schlicht und ergreifend, dass für den User ID 2 in der Datenbank user_accept_rules auf 1 gesetzt wird, und ich wette mal in's Blaue dass dir das später wieder auf die Füße fallen wird.
Du hast in deinem Thread im phpbb3-Forum sehr viel detailliertere Rückmeldung bekommen, angefangen von der testweisen Deaktivierung des SEO-Mods, was du kategorisch abgelehnt hast, bis hin zur Rückkehr zum originalen Mod-Code, den du, aus welchen Gründen auch immer, an gewissen Stellen einfach abgeändert hast.
Dass dir dort mittlerweile keiner mehr (umgehend) antwortet wird kaum daran liegen, dass niemand helfen möchte.
Nachdem ich mir aber nu alle erforderlichen Informationen dort rausgepickt habe versteh ich auch so langsam das Grundproblem. Das Query an sich kann nicht die Ursache sein, die Spalte würde dort wörtlich auf 1 gesetzt und genau das geschieht ja nicht. Das kann nur bedeuten, dass du
- nach dem Bestätigen nicht wieder in diese erste if-bedingung reinflutscht. Ursache könnte sein, dass im OriginalCode in dieser if-Bedingung
PHP:
(request_var('mode', '') != 'terms')
PHP:
(request_var('mode', '') != 'rules')
- die Funktion confirm_box irgendnen Murks macht. Das könnte wegen unterschiedlicher Parameter im Vergleich zum OriginalCode des Mods sein, von eigentlich
PHP:
confirm_box(false, sprintf($user->lang['NEW_RULES'], '<a href="' . append_sid("{$phpbb_root_path}ucp.$phpEx", 'mode=terms') . '">', '</a>'));
PHP:
confirm_box(false, sprintf($user->lang['NEW_RULES'], '<a href="' . append_sid("{$phpbb_root_path}rules.php") . '">', '</a>'));
- an dem SEO- oder irgendeinem anderen zusätzlichen Mod, so unvorstellbar das auch sein mag. Mods kommen sich halt manchmal gegenseitig in die Quere. Wenn du mal sämtlichen anderen Mod-Kram deaktivierst (ich weiß nicht mehr wieviel Aufwand das bei phpbb bedeutet) und dann diesen neuen Mod in Reinkultur einfügst, also wie vorgegeben, müsste es funktionieren. Wenn das auch nicht hinhaut hast du dir irgendwas in der Core zerschossen und setzt das Ganze besser gleich komplett neu auf...