Einfügen mehrerer ACL Rechte

In diesem Forum kann man Fragen zur Programmierung stellen, die bei der Entwicklung von Mods für phpBB 3.0.x oder dem Modifizieren des eigenen Forums auftauchen.
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
Benutzeravatar
Blutgerinsel
Mitglied
Beiträge: 1801
Registriert: 19.07.2004 18:53
Wohnort: Landkreis Ulm
Kontaktdaten:

Einfügen mehrerer ACL Rechte

Beitrag von Blutgerinsel »

Hey,

da ich lediglich den PHPBB2 Code kenne und mich mit dem Code von PHPBB3 noch nicht einlesen konnte, hab ich derzeit noch keinen Gesamtüberblick....

Nun gut:
- Ich muss zusätzliche ACL in das Board einbauen, da nicht alles von vorne bis hinten "dynamisch" gebaut wurde.

Unter anderem muss ich die Gruppeneinstellungen die ein Gruppenleiter ändern kann teilweise beschneiden, so Dinge wie Rangfarbe und Ähnliches

Leider weiss ich aktuell nicht wieviel Aufwand es bedeutet die ACL zu erweitern, so dass ich selbstklärend auch dieses Recht überall verwenden kann....

Wenn man so will, soll es natürlich sowohl als Userrecht auch als Gruppenrecht gesetzt werden können. Und der Gruppenleiter darf das natürlich auch nicht sehen können wenn es ihm untersagt wurde....

Für Info / Tipps und ähnliches konstruktives sage ich schon mal vielen Dank....
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Beitrag von gn#36 »

Rechte hinzufuegen ist sehr einfach. Es gibt dafuer eine Klasse im includes/acp Ordner in der Datei auth. Die Funktionen bei der Benutzung der Rechte sind ganz gut im docs Ordner in der Datei auth_api.html beschrieben.

Mit der auth_admin Klasse einfach die Methode acl_add_option(array(
'local' => array({alle lokalen Rechte aufgelistet}),
'global' => array({alle globalen Rechte aufgelistet}),
));

Wie genau die Rechte aufgebaut sind sollte sich eigentlich aus KB:rechtesystem ergeben.
Userrechte haben dabei immer das Prefix u_ und sind global,
Adminrechte haben das Prefix a_ und sind ebenfalls global,
Moderatorenrechte haben das Prefix m_ und koennen sowohl lokal als auch global sein,
Forenrechte haben das Prefix f_ und sind lokal.

Alle neu angelegten Rechte muessen eines dieser Prefixe haben damit man sie im ACP mit dem bestehenden System bearbeiten kann. Wenn nicht brauchst du ein eigenes, neues Modul zur Verwaltung und das wird ziemlich komplex. Falls du lokale Rechte aus Versehen global eintraegst oder andersrum koennte das zu interessanten Ergebnissen im ACP fuehren, teilweise werden die naehmlich trotzdem angezeigt.

Weitere, detailliertere Informationen dazu findest du im Wiki: http://wiki.phpbb.com/Permissions
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Antworten

Zurück zu „[3.0.x] Mod Bastelstube“