Seite 3 von 3

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

Verfasst: 25.01.2009 01:28
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

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

Verfasst: 25.01.2009 02:28
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

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

Verfasst: 25.01.2009 02:45
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

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

Verfasst: 25.01.2009 02:59
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

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

Verfasst: 25.01.2009 03:05
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.

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

Verfasst: 25.01.2009 03:08
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

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

Verfasst: 25.01.2009 03:10
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

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

Verfasst: 25.01.2009 03:11
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

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

Verfasst: 25.01.2009 03:15
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

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

Verfasst: 25.01.2009 03:18
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