Seite 1 von 1

Hinzufügen von Berechtigungen funktioniert nicht

Verfasst: 23.03.2020 23:37
von Kizu
Moin,

Ich versuche gerade meine erste Erweiterung zu schreiben, nur komme ich bei den Berechtigungen nicht weiter. Ich möchte gerne neue Berechtigungen hinzufügen und habe dafür die install_sample_data.php und main_listener angepasst, die mir von der skeleton-Erweiterung erzeugt wurden (wie folgend).

Müssten bei der Aktivierung der Erweiterung im ACP nicht die entsprechenden Berechtigungen im Berechtigungssystem erscheinen? Oder muss ich noch etwas machen, damit etwas passiert? Oder bin ich komplett auf der falschen Fährte?

Code: Alles auswählen

namespace kizu\moreusergroups\migrations;

class install_sample_data extends \phpbb\db\migration\migration
{
	public static function depends_on()
	{
		return array('\phpbb\db\migration\data\v320\v320');
	}
	
	public function update_data()
	{
		return array(
		
			array('permission.add', array('u_kizu_moreusergroups_read')),
			array('permission.add', array('u_kizu_moreusergroups_change')),

		);
	}
}

Code: Alles auswählen

[...]
	public function add_permissions($event)
	{
		$permissions = $event['permissions'];

		$permissions['u_kizu_moreusergroups_read'] = array('lang' => 'ACL_U_SOCIALGROUPS_READ', 'cat' => 'misc');
		$permissions['u_kizu_moreusergroups_change'] = array('lang' => 'ACL_U_SOCIALGROUPS_CHANGE', 'cat' => 'misc');

		$event['permissions'] = $permissions;
	}
	[...]
MfG, Daniel

Re: Hinzufügen von Berechtigungen funktioniert nicht

Verfasst: 26.03.2020 19:07
von LukeWCS
nAbend

Soweit sieht das erstmal gut aus, zumindest die Fragmente die du zeigst. Da wäre mal der vollständige Code des Event Listeners sinnvoll.

In der Migration werden die Rechte registriert, damit die Rechte im ACP verwaltet und per Code benutzt werden können. Damit sie im ACP aber überhaupt angezeigt werden, müssen diese per Listener-Event in die Verwaltung eingehängt werden, was man hier zum Teil bereits sieht. Wenn die Rechte also nicht erscheinen, dann ist der Fehler zuerst im Listener zu suchen.

Es gibt aber noch eine andere Fehlerquelle: wie bist du genau vorgegangen? Hast du zuerst das Ext Archiv das von Skeleton erzeugt wurde in phpBB installiert (aktiviert) und dann deine Änderungen eingebaut? Oder hast du zuerst deine Änderungen eingebaut und dann erst installiert?

Re: Hinzufügen von Berechtigungen funktioniert nicht

Verfasst: 28.03.2020 10:16
von Kizu
Hallo LukeWCS,

danke für deine Antwort. Ich hatte meine Erweiterung bereits installiert gehabt und dann die Änderungen am Listener gemacht. Dann habe ich über das ACP meine Erweiterung wieder deaktiviert und wieder aktiviert, in dem Glauben, dass die Berechtigungen dann übernommen werden. Auch "Arbeitsdaten löschen" hatte ich versucht. Hatte alles nicht funktioniert.

Jetzt habe ich ein neues Entwicklungsforum (Version 3.2, das vorige war 3.3) installiert und dort funktioniert es. Auch das löschen der BErechtigungen beim "Arbeitsdaten löschen" funktioniert. Dann kann ich ja weiter machen.

MfG, Daniel

Re: Hinzufügen von Berechtigungen funktioniert nicht

Verfasst: 28.03.2020 12:11
von Dr.Death
Dann sollte es auch mit einem 3.3 Forum funktionieren.

Ansonsten stelle deinen bisherigen Code mal auf GitHub bereit, dann könnte man gemeinsam auf den Code schauen.

Re: Hinzufügen von Berechtigungen funktioniert nicht

Verfasst: 28.03.2020 17:10
von Kizu
Hallo Dr.Death,

vielen dank für das Angebot. Aber nun funktioniert es.

MfG, Daniel