Seite 1 von 2

Usergruppe wechseln

Verfasst: 02.05.2013 21:20
von Malsum
Hallo!

Ich bin neu hier, daher bitte nicht steinigen, wenn ich mich blöd anstelle oder mich nicht gleich auskenne. :)

Für mein Clan-Forum möchte ich mein phpBB3 wie folgt anpassen: meine Benutzer müssen bei der Registrierung ein Pflichtfeld mit einer Id ausfüllen. Mittels dieser kann ich dann feststellen, ob der User Mitglied meines Clans ist. Diese Funktionalität habe ich schon geschrieben. Nun möchte ich - entsprechend dem Ergebnis - dem Benutzer eine bestimmte Gruppe (Clan-Mitglied) zuweisen. Wenn der Benutzer also aus dem Clan austritt, würde er automatisch den Zugriff auf die entsprechenden Foren verlieren.

Nun meine Frage: gibt es eine geeignete Stelle, wo ich die Gruppe des Benutzers entsprechend setzen kann? Oder ist mein Ansatz grundlegend falsch?

Re: Usergruppe wechseln

Verfasst: 02.05.2013 21:40
von AYYILDIZLAR
Hallo,

Ich weiß nicht, ob ich dich richtig verstanden habe.

Du möchtest deine neuen Mitglieder bei der Registrierung in eine Gruppe verschieben bzw. einer Gruppe zuordnen. So lange die in dieser Gruppe sind, sollen sie bestimmte Foren von dir sehen. Wenn sie aber aus der Gruppe austreten, sollen sie diese bestimmte Foren nicht mehr sehen. Habe ich dich richtig verstanden?


Grüße

Re: Usergruppe wechseln

Verfasst: 02.05.2013 21:52
von Malsum
Nein, da hab ich mich wohl missverständlich ausgedrückt.

Ich möchte die Gruppenzugehörigkeit steuern können. Wenn sich der User anmeldet, muss er eine Id angeben, mit der ich über einen API-Aufruf auf einer anderen Seite, feststellen kann ob er Clan-Mitglied ist. Wenn er also Clan-Mitglied ist, will ich ihm automatisch die Gruppe "Clan-Mitglied" zuweisen. Wenn er dann aus dem Clan austreten würde (meine Funktion - nennen wir sie mal "istClanMitglied" - liefert "false"), dann möchte ich, dass er diese Gruppe verliert und somit nicht mehr in die internen Forern kommt.

Ich müsste also beim Login meine Funktion aufrufen und die entsprechende Gruppe zuweisen (oder auch entfernen).

Re: Usergruppe wechseln

Verfasst: 03.05.2013 06:42
von chris1278
also wenn du das manuell machen würdest wäre das ganze eigentlich sehr simpel. du könntest einen bereich im forum schaffen wo du in ner bestimmten gruppe sein must um diesen zu sehen.

das rein und raus aus der gruppe lönntest du als admin selber machen oder du würdest ein bis zwei gruppenadminis bestimmen die auch mitglieder in die gruppe einladen bzw. ausladen können.

wie man das automatisch macht weis ich leider nicht.

Re: Usergruppe wechseln

Verfasst: 03.05.2013 07:25
von Malsum
Wie es manuell geht ist mir klar, nur bei knapp 300 Clan-Mitgliedern ist der Verwaltungsaufwand ganz schön groß. Das wollte ich gern automatisieren.

Re: Usergruppe wechseln

Verfasst: 03.05.2013 17:48
von Miriam
Schau Dir mal die Funktion group_user_del() in der includes/functions_user.php an.

Re: Usergruppe wechseln

Verfasst: 06.05.2013 07:42
von Malsum
Das hilft mir schon mal sehr. Jetzt fehlt mir nur noch der "Einstiegspunkt". Also dort, wo ich meine Funktion aufrufe und entsprechend die Gruppen setze oder lösche. Ist session_create in /includes/session.php die richtige Stelle?

Re: Usergruppe wechseln

Verfasst: 06.05.2013 18:35
von Miriam
Ich würde es in die includes/functions.php reinbauen.
Und zwar in die Funktion page_header().
Aber das ist Dir überlassen.

Re: Usergruppe wechseln

Verfasst: 07.05.2013 08:33
von Malsum
Hallo Miriam!

Aber die Funktion page_header wird doch bei jedem Seitenaufbau aufgerufen, oder? Da das Webservice, welches ich aufrufe um festzustellen, ob ein User im Clan ist oder nicht, doch sehr zeitintensiv ist (1-2 sek. pro Aufruf) möchte ich es vermeiden, das so oft aufzurufen.

session_create wird - wenn ich das richtig verstehe - beim "einloggen" (also entweder per Cookie oder Username/Passwort) aufgerufen. Wäre das nicht besser?

Re: Usergruppe wechseln

Verfasst: 07.05.2013 14:08
von Miriam
Wenn das eine zeitkritische Sache ist, solltest Du ggf. darüber nachdenken, die Daten zu cachen und die Abfrage durch ein Cron Skript bewerkstelligen zu lassen.