Folgendes Problem (vereinfacht):
Ich habe zwei Foren:
A vom Typ "Moderatoren"; d.h. alle dürfen lesen, nur die Moderatoren von A dürfen schreiben.
B vom Typ "Öffentlich".
Person X ist Moderator von B, aber nicht von A, d.h. er kann in Forum A nicht schreiben - soll er auch nicht!! Er soll dort nur lesen dürfen.
Aber: Er kann in B schreiben und den Beitrag nach A verschieben - letztlich kann er damit doch in A schreiben!
Ist dies ein Bug?
Wer weiß eine Lösung? Oder: Wie umgehe ich das Problem?
Ich verwende phpBB 2.0.6.
Rechtevergabe überlisten?
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.1, 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.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Wenn Du nur 2 Foren hast, versuch mal folgendes:
Suche in der modcp.php
Füge darunter ein:
Ersetze dann die (hier nur besipielhaft gewählte) 99 durch die User ID Deines Moderators.
Wenn Du in Wirklichkeit mehrere Foren hast, und er zwar in manche, aber nur in ein bestimmtes von mehreren Foren nicht verschieben darf, mußt Du IMHO zusätzlich noch die Variable $new_forum_id abfragen und die Fehlermeldung anpassen, habs aber nicht ausprobiert.
Ohne Gewähr und auf eigene Gefahr, wie üblich gilt: alle Dateien und DB vorher sichern.
Suche in der modcp.php
Code: Alles auswählen
if ( $new_forum_id != $old_forum_id )
{
Code: Alles auswählen
// User/Moderator vom verschieben in anderes Forum aussperren START
if ( $userdata[user_id] == 99 )
{
message_die(GENERAL_ERROR, 'Du darfst nicht in ein anderes Forum verschieben');
}
// User/Moderator vom verschieben in anderes Forum aussperren ENDEErsetze dann die (hier nur besipielhaft gewählte) 99 durch die User ID Deines Moderators.
Wenn Du in Wirklichkeit mehrere Foren hast, und er zwar in manche, aber nur in ein bestimmtes von mehreren Foren nicht verschieben darf, mußt Du IMHO zusätzlich noch die Variable $new_forum_id abfragen und die Fehlermeldung anpassen, habs aber nicht ausprobiert.
Ohne Gewähr und auf eigene Gefahr, wie üblich gilt: alle Dateien und DB vorher sichern.
Nachfrage zum Thema "Verschieben"
1.) Kann ich "Verschieben" in anderes Forum generell verbieten (jedem user jedes Forum)?
2.) Kann ich "Verschieben" in ein bestimmtes Forum generell verbieten (jedem user von jedem anderen Forum aus)?
Danke!
2.) Kann ich "Verschieben" in ein bestimmtes Forum generell verbieten (jedem user von jedem anderen Forum aus)?
Danke!
Re: Nachfrage zum Thema "Verschieben"
Probier mal folgendes: Statt dem Block in meinem Posting oben nachfolgendes an gleicher Stelle einfügen:pitter hat geschrieben:1.) Kann ich "Verschieben" in anderes Forum generell verbieten (jedem user jedes Forum)?
2.) Kann ich "Verschieben" in ein bestimmtes Forum generell verbieten (jedem user von jedem anderen Forum aus)?
Danke!
zu Frage Nr.1
Code: Alles auswählen
// User/Moderator vom verschieben in anderes Forum generell aussperren START
message_die(GENERAL_ERROR, 'Du darfst nichts in ein anderes Forum verschieben');
// User/Moderator vom verschieben in anderes Forum generell aussperren ENDE
Code: Alles auswählen
// User/Moderator vom verschieben nach Forum Nr. 111 aussperren START
if ( $new_forum_id == 111 )
{
message_die(GENERAL_ERROR, 'Du darfst in dieses Forum nichts hinein verschieben');
}
// User/Moderator vom verschieben nach Forum Nr. 111 aussperren ENDE
Habs nicht ausprobiert, obs funktioniert.