$user->data['group_id'] für user_group_table ?

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Re: $user->data['group_id'] für user_group_table ?

Beitrag von Pyramide »

4seven hat geschrieben:Erscheint also wenig zweckmäßig, in die Erlaubnis-Rechteverwaltung von Mods Gruppen einzubeziehen, die keiner Hauptgruppe entsprechen
Man sollte bei phpBB3 generell keine Berechtigungen auf Benutzer- oder Gruppenbasis direkt im Code prüfen, sondern mit der entsprechenden API: http://wiki.phpbb.com/Permissions
KB:knigge
Dave
Mitglied
Beiträge: 2085
Registriert: 25.05.2003 15:03
Wohnort: Wuppertal

Re: $user->data['group_id'] für user_group_table ?

Beitrag von Dave »

Warum bastelt ihr euch immer eigene funktionen anstatt die vom phpBB zu benutzen? :roll:
functions_user.php

Code: Alles auswählen

/**
* Obtain either the members of a specified group, the groups the specified user is subscribed to
* or checking if a specified user is in a specified group. This function does not return pending memberships.
*
* Note: Never use this more than once... first group your users/groups
*/
function group_memberships($group_id_ary = false, $user_id_ary = false, $return_bool = false)
mfG
Dave
4seven
Mitglied
Beiträge: 5869
Registriert: 21.04.2007 06:18

Re: $user->data['group_id'] für user_group_table ?

Beitrag von 4seven »

weil die function mir für mutliple schaltvorgänge zu unflexibel war/ist.
4seven hat geschrieben:Die Core-Funktion habe ich anfänglich für 3 meiner Mods benutzt, fand sie aber zu unflexible für mutliple Gruppen-Abfragen, so das ich auf $user->data['group_id'] umschwenkte.
der andere grund ist der, das .. wenn ich hier statt..

Code: Alles auswählen

// zu überprüfende Gruppen IDs ( Beispiel Gruppen ID 5, 10, 12, 15 )
// Hinweis: Bei mehreren Gruppen muss es ein array() sein!
$gruppen_id = array(5,10,12,15,17,19);
..das verwende,..

Code: Alles auswählen

// zu überprüfende Gruppen IDs ( Beispiel Gruppen ID 5, 10, 12, 15 )
// Hinweis: Bei mehreren Gruppen muss es ein array() sein!
$gruppen_id = array($config['group_test']);
...prüft er die gruppen nur für 2-3 stellen: also > 5,10,12 und es gibt side-effects.
kann mich also nicht mehr auf die gruppenprüfung verlassen.

obwohl das echo von $config['group_test'] sauber das ergibt:
5,10,12,15,17,19
Dave
Mitglied
Beiträge: 2085
Registriert: 25.05.2003 15:03
Wohnort: Wuppertal

Re: $user->data['group_id'] für user_group_table ?

Beitrag von Dave »

4seven hat geschrieben:weil die function mir für mutliple schaltvorgänge zu unflexibel war/ist.
4seven hat geschrieben:Die Core-Funktion habe ich anfänglich für 3 meiner Mods benutzt, fand sie aber zu unflexible für mutliple Gruppen-Abfragen, so das ich auf $user->data['group_id'] umschwenkte.
Die Abfragen sind genau gleich. Da gibt es keinen unterschied. Nur das du einfach ne neue function hinzufügst die es in anderer Form schon gibt :wink: Und sag nun nix anderes :D
4seven hat geschrieben:der andere grund ist der, das .. wenn ich hier statt..

Code: Alles auswählen

// zu überprüfende Gruppen IDs ( Beispiel Gruppen ID 5, 10, 12, 15 )
// Hinweis: Bei mehreren Gruppen muss es ein array() sein!
$gruppen_id = array(5,10,12,15,17,19);
..das verwende,..

Code: Alles auswählen

// zu überprüfende Gruppen IDs ( Beispiel Gruppen ID 5, 10, 12, 15 )
// Hinweis: Bei mehreren Gruppen muss es ein array() sein!
$gruppen_id = array($config['group_test']);
...prüft er die gruppen nur für 2-3 stellen: also > 5,10,12 und es gibt side-effects.
kann mich also nicht mehr auf die gruppenprüfung verlassen.

obwohl das echo von $config['group_test'] sauber das ergibt:
5,10,12,15,17,19
Klar klappt das weite nicht. Beim ersten hast du ein array mit den werten 5, 10, 12,... beim zweiten hast du ein array mit einem wert. nämlich der in $config['group_test'].

Code: Alles auswählen

$gruppen_id = explode(",", $config['group_test']);
wäre das richtige hier.

MfG
Dave
4seven
Mitglied
Beiträge: 5869
Registriert: 21.04.2007 06:18

Re: $user->data['group_id'] für user_group_table ?

Beitrag von 4seven »

nee wa? :lol:

es steht doch genau dasselbe drin, wenn ich es so schreibe

Code: Alles auswählen

array(5,10,12,15,17,19);
oder so

Code: Alles auswählen

array($config['group_test']);
was ja (via acp- in das config-feld und dann ausgelesen) als echo ebenso 5,10,12,15,17,19 ergibt *gulp

also, einmal müssen syntaktisch korrekt kommas drin stehen und einmal müssen sie mittels explode() extrahiert werden? :o
Und sag nun nix anderes :D
ja nu, is klar. auf deren einzelkomponente konnte ich mich aber bis dato verlassen.
Dave
Mitglied
Beiträge: 2085
Registriert: 25.05.2003 15:03
Wohnort: Wuppertal

Re: $user->data['group_id'] für user_group_table ?

Beitrag von Dave »

wenn du im code nen

Code: Alles auswählen

array(1,2,3,4,5)
hast wäre es das "gleiche" wie:

Code: Alles auswählen

array('1','2','3','4','5')
beim

Code: Alles auswählen

array($config['group_test']);
hast du aber:

Code: Alles auswählen

array('1,2,3,4,5')
ich hoffe du siehst den unterschied ;)
Das

Code: Alles auswählen

$gruppen_id = explode(",", $config['group_test']);
macht dir dann wieder ein:

Code: Alles auswählen

array('1','2','3','4','5')
MfG
Dave
4seven
Mitglied
Beiträge: 5869
Registriert: 21.04.2007 06:18

Re: $user->data['group_id'] für user_group_table ?

Beitrag von 4seven »

DingDong *g

...wenn das wirklich so läuft, hab ich warscheinlich 250 km Code extra geschrieben für die Tour.
Naja, seis drum, hab dadurch ne Menge gelernt... :grin:

greez
Zuletzt geändert von 4seven am 25.01.2009 03:12, insgesamt 2-mal geändert.
Dave
Mitglied
Beiträge: 2085
Registriert: 25.05.2003 15:03
Wohnort: Wuppertal

Re: $user->data['group_id'] für user_group_table ?

Beitrag von Dave »

4seven hat geschrieben:DingDong *g

...wenn das wirklich so läuft, hab ich warscheinlich 250 km Code extra geschrieben für die Tour.
Naja, seis drum, hab dadurch ne Menge gelernt... :grin:
Dafür macht man ja alle Fehler :D
4seven
Mitglied
Beiträge: 5869
Registriert: 21.04.2007 06:18

Re: $user->data['group_id'] für user_group_table ?

Beitrag von 4seven »

Vielen Dank auf jeden Fall,

zumal ich ja ziemlich mit preg_*() und haste nicht gesehen und im- und explode() rumgemacht hatte.
Aber darauf wär ich im Traum nicht gekommen. Dacht schon, ich werd bleed *g
Dave
Mitglied
Beiträge: 2085
Registriert: 25.05.2003 15:03
Wohnort: Wuppertal

Re: $user->data['group_id'] für user_group_table ?

Beitrag von Dave »

Kein Problem.
Du mußt daran denken das alles was in der $config['name'] steht immer nen string steht. Ein array kann es niemals sein :wink:

MfG
Dave
Antworten

Zurück zu „Coding & Technik“