[3.2.5] Erweiterungen und Rechtevergabe

In diesem Forum gibt es Starthilfe zum neuen Extension-System von phpBB 3.1/3.2. Fragen zur Entwicklung von Extensions und zur Konvertierung von phpBB 3.0.x MODs sind ebenfalls willkommen.
Benutzeravatar
Sternenlicht
Mitglied
Beiträge: 10
Registriert: 29.12.2018 09:26
Wohnort: Dortmund
Kontaktdaten:

[3.2.5] Erweiterungen und Rechtevergabe

Beitragvon Sternenlicht » 03.01.2019 12:44

Hallo guten Tag liebe Community,

vielleicht kann mir jemand helfen, denn ich habe ein Problem, mit dem ich nicht besonders gut weiter komme.

Vor ein paar Tagen bin ich auf die Forensoftware phpbb gestoßen und finde diese sehr angenehm und relativ ausgereift. Mein Kompliment an die Entwickler!

Nun habe ich selbst einige Extensionen hinzu programmiert, sowie auch zusätzliche Module für den administrativen Bereich. Das hat soweit auch sehr gut funktioniert. Allerdings bin ich an einem Problem "hängen" geblieben und komme damit nicht weiter. Doch vielleicht kann mir jemand einen entscheidenden Tip geben?

Es geht um die Rechtevergabe, wer also das administrative Modul nutzen darf. Dazu werden in der Datei:
includes/acp/info/acp_erweiterung.php einige Informationen hinterlegt. Hier ein Beispielcode von mir:

Code: Alles auswählen

function module(){
    return array(
      'filename' => 'acp_online_statistic',
      'title'    => 'ACP_ONLINE_STATISTIC',
      'version'  => '1.0.0',
      'modes'    => array(
        'statistic' => array('title' => 'ACP_ONLINE_STATISTIC', 'auth' => 'acl_a_phpinfo', 'cat' => array('ACP_GENERAL_TASKS')),
      ),
    );
  }


In dem Array ...'statistic' wird das Feld 'auth' hinzugefügt, um zu bestimmen, wie die Rechtevergabe aussieht. In meinem Beispiel wollte ich die Rechtevergabe 'acl_a_online_statistic' erzeugen und diese einfügen. Doch leider kann ich diese nicht erstellen. Selbst das manuelle Hinzufügen von entsprechenden Datenbankeinträgen in den Tabellen: "phpbb_acl_options" und "phpbb_acl_roles_data" brachte keinen Erfolg; oder ich habe mich dämlich angestellt. :roll: Um jetzt das Modul wenigstens nutzen zu können, aber registrierten Benutzern keinen Zutritt zu gestatten, habe ich mir die Rechtevergabe "acl_a_phpinfo" aus einem anderen Modul ausgeliehen.

Das ist zwar keine gute Programmierung, aber sie hilft mir zunächst aus der Verlegenheit.

Hat jemand für dieses Problem einen kleinen Tip für mich; irgendwie tue ich mich an dieser Stelle besonders schwer. :-)

Es grüßt Euch das Sternenlicht....

Benutzeravatar
canonknipser
Supporter
Supporter
Beiträge: 1966
Registriert: 10.09.2011 11:14
Kontaktdaten:

Re: [3.2.5] Erweiterungen und Rechtevergabe

Beitragvon canonknipser » 03.01.2019 13:07

Die offizielle Dokumentation dazu hast du schon gelesen: https://area51.phpbb.com/docs/dev/exten ... sions.html ?
Grüße, canonknipser
"there are only 10 types of people: those, who understand binary and those, who don't"
just arrived ;) - Bilder
Kein Support via PN, nur im Board und (manchmal) im IRC

Benutzeravatar
Sternenlicht
Mitglied
Beiträge: 10
Registriert: 29.12.2018 09:26
Wohnort: Dortmund
Kontaktdaten:

Re: [3.2.5] Erweiterungen und Rechtevergabe

Beitragvon Sternenlicht » 03.01.2019 14:59

Hallo canonknipser,
herzlichen Dank für Deine Antwort.

Ja, über diese Dokumentation bin ich schon gefallen. Allerdings stoße ich mit meinem Kopf irgendwie vor die "Wand". :oops:

Ich verstehe dieses Permission Tool nicht ganz und weiß nicht, wie ich es anwenden kann. Die Sprachdatei habe ich bereits angelegt, doch wo führe ich den anderen, auf der Dokumentations - Seite aufgeführten, Code aus?
Dazu verstehe ich auch nicht, wo ich den Event listener (core.permission) im "includes/acp - Verzeichnis, in welchem ich das Modul hinterlegt habe, installieren soll.

Herzlichen Dank für die endlose Geduld :oops:

Das Sternenlicht...

Benutzeravatar
canonknipser
Supporter
Supporter
Beiträge: 1966
Registriert: 10.09.2011 11:14
Kontaktdaten:

Re: [3.2.5] Erweiterungen und Rechtevergabe

Beitragvon canonknipser » 03.01.2019 15:55

Die Rechte werden innerhalb einer "Migration" angelegt. Migrations sind quasi die Installationsroutinen für die Extension, hier werden alle Anpassungen in Datenbanken etc. während der Installation vorgenommen. Die Migratioons werden in vorgegebenen Reihenfolgen abgearbeitet (Funktion depends_on).
Am besten guckst du dir einmal bestehende Erweiterungen an, z.B. eine Migration aus der Pages-Extension:
Hier wird in der Funktion update_data das Recht angelegt (permission.add) und den Rollen zugewiesen (permission_set)
https://github.com/phpbb-extensions/pag ... hp#L36-L46
Grüße, canonknipser
"there are only 10 types of people: those, who understand binary and those, who don't"
just arrived ;) - Bilder
Kein Support via PN, nur im Board und (manchmal) im IRC

Benutzeravatar
Sternenlicht
Mitglied
Beiträge: 10
Registriert: 29.12.2018 09:26
Wohnort: Dortmund
Kontaktdaten:

Re: [3.2.5] Erweiterungen und Rechtevergabe

Beitragvon Sternenlicht » 03.01.2019 19:33

Hallo guten Abend canonknipser,

vielen Dank, soweit verstehe ich das und werde es beim nächsten Modul mitberücksichtigen. Eigentlich ist es ja gar nicht so besonders schwer.

Allerdings muss ich zu mir sagen, dass ich manchmal so dumm bin, dass mich die Schweine beissen. :D
Die beiden manuellen Einträge in der Datenbank, ich schrieb in meinem ersten Beitrag davon, waren durchaus richtig. Nur muss auch anschließend der Cache geleert werden, sonst bekommt das System es nicht mit und sperrt mich wie ein Schuljunge aus. :-) Grins...

Vielen Dank für die Hilfe!

Das Sternenlicht...


Zurück zu „Extension Bastelstube“