Mitgliederliste nur für bestimmte Usergroup

Du hast Probleme beim Einbau oder bei der Benutzung eines Mods? In diesem Forum bist du richtig.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
IPB_Flüchtling
Mitglied
Beiträge: 1862
Registriert: 23.12.2004 22:46

Beitrag von IPB_Flüchtling »

Das ist ein hübsches Snippet! Danke, Markus! :P

Werde es morgen mal ausprobieren. Eine Frage: Wenn mehrere Benutzergruppen Zugang haben sollen, kann man die Gruppen-IDs dann per Komma trennen? Folgendes meine ich:
if (user_is_in_group('100', '110', '120', $userdata['user_id']) == FALSE)
LG, IPB_Flüchtling
Benutzeravatar
Markus67
Ehrenadmin
Beiträge: 28346
Registriert: 12.01.2004 16:02
Wohnort: Neuss
Kontaktdaten:

Beitrag von Markus67 »

Hi ...

genau :wink:
aber das sollte dann so aussehen ...

Code: Alles auswählen

if (user_is_in_group('100,110,120', $userdata['user_id']) == FALSE)
Markus
mr.no-name
Mitglied
Beiträge: 1883
Registriert: 20.10.2003 12:07
Wohnort: Hannover

Beitrag von mr.no-name »

Danke für die Hilfe :)
Benutzeravatar
Berney
Mitglied
Beiträge: 92
Registriert: 18.08.2005 21:16
Wohnort: Maintal

Beitrag von Berney »

Wow,

sowas hab ich auch gesucht... nur mit "einer" Abwandlung:

Ich möchte nicht das nur eine bestimmte Usergroup die Memberlist sieht, sondern das:
  • nicht die Memberlist, sondern eine spezielle Grouplist aufgerufen wird;
  • diese nicht über den normalen Benutzergruppenbutton aufgerufen wird, sondern einen zusätzliche Button;
  • nicht nur eine Gruppe auf diese Zugriff hat, sondern jede auf seine eigene Gruppe und zwar nur auf diese eigene Gruppe.

    Hintergrund,
    ich möchte für die Gruppen eine Adress und Tel. Liste generieren, die aber auch nur den jeweiligen Gruppen zugänglich ist...

    Das sollte doch so ähnlich zu machen sein.

    Eine zweite grouplist_user_body.tpl als Kopie mit ein paar Änderungen (Adresse, Tel-Nr.,...)erstellen, einen zweiten Button in die overall_header.tpl setzen und jetzt kommt das Problem!!!
    Wie fange ich für den anklickenden User die richtige Gruppe ab?!

    Kann mir da jemand helfen?! Markus???

    Grüße & Dank
    Berney
Knox

Beitrag von Knox »

Hallo,

Ich hätte da auch eine Änderungsanfrage, wenn dies nicht zuviele Umstände macht.

Ich möchte die Mitgliederliste vor Einblicken von Gästen, also nicht registrierten schützen.

Kann mir da jemand helfen?
IPB_Flüchtling
Mitglied
Beiträge: 1862
Registriert: 23.12.2004 22:46

Beitrag von IPB_Flüchtling »

@Markus: Danke!!!

@Knox: Das gibt es schon:

http://www.phpbb.de/viewtopic.php?t=47560
http://www.phpbb.de/viewtopic.php?t=101476

LG, IPB_Flüchtling
Knox

Beitrag von Knox »

Oh, sorry.

Habsch nicht gewusst.
Nawarana
Mitglied
Beiträge: 9
Registriert: 18.06.2007 15:35
Wohnort: Moers

Beitrag von Nawarana »

hallo markus...

ich würde gerne nur für die gruppe der admins die mitgliederliste zugänglich machen ... habe dann einen freudensprung gemacht, als ich deine snipes gefunden habe ... leider ist es so, daß nun niemand mehr die liste sehen kann :( ... bin vll. nur zu plond die richtige id zu setzen oder was auch immer ...

wenn du lust hast, würde ich dir gerne entsprechende dateien incl. deiner vorgeschlagenen änderungen zu kommen lassen ... *liebguck*

winkääää
nawa
Sabb
Mitglied
Beiträge: 13
Registriert: 28.08.2007 13:40

Beitrag von Sabb »

Hab da noch eine kleine Frage.

Code: Alles auswählen

if (user_is_in_group('g12', $userdata['user_id']) == FALSE)
funktioniert bei mir einwandrei. Wenn ich nun will, dass Gruppe 11 ebenfalls Zugriff auf die Seite haben soll hab ich es mit folgendem Code probiert:

Code: Alles auswählen

if (user_is_in_group('g11,g12', $userdata['user_id']) == FALSE)
Jetzt hat allerdings keine Gruppe mehr die zugriffberechtigung:(. Was mach ich falsch, das Gruppe 11 und 12 keinen Zugriff bekommen?

Code: Alles auswählen

if (user_is_in_group('11,12', $userdata['user_id']) == FALSE)
funktioniert ebenfalls nicht.

Wo ist der Hacken?

Danke für die Hilfe
Benutzeravatar
S2B
Ehemaliges Teammitglied
Beiträge: 3258
Registriert: 10.08.2004 22:48
Wohnort: Aachen
Kontaktdaten:

Beitrag von S2B »

Teste mal die Funktion stattdessen:

Code: Alles auswählen

// START FUNKTION GRUPPENZUGEHÖRIGKEIT PRÜFEN 
function user_is_in_group($group, $uid) 
{ 
    global $db; 

    $group = explode(',', $group);

    $sql = "SELECT g.group_id, g.group_name 
            FROM " . USER_GROUP_TABLE . " ug, " . GROUPS_TABLE . " g 
            WHERE ug.user_id = '" . $uid . "' 
            AND g.group_id = ug.group_id"; 
    if ( !($result = $db->sql_query($sql)) ) 
    { 
        message_die(GENERAL_ERROR, 'FEHLER: Konnte Gruppentabelle nicht laden', '', __LINE__, __FILE__, $sql); 
    } 
    while( $group_ary = $db->sql_fetchrow($result) ) 
    { 
        if( in_array($group_ary['group_id'], $group) ) 
        { 
            $access_allowed = true; 
            break; 
        } 
    } 
    if ($access_allowed) 
    { 
        return true; 
    } 
    else 
    { 
        return false; 
    }    
} 
// END FUNKTION GRUPPENZUGEHÖRIGKEIT PRÜFEN
Hinweis: Diese Funktion funktioniert nur ohne den Präfix g vor der Gruppen-ID. Beispiel:

Code: Alles auswählen

user_is_in_group('1,2,3', $userdata['user_id']);
Vielleicht sollte man die Funktion mal aufbereiten und ins Snippet-Forum eintragen...
Gruß, S2B
Keinen Support per ICQ/PM!
Hier kann man meine PHP-Skripte und meine MODs für phpBB runterladen.
Antworten

Zurück zu „phpBB 2.0: Mod Support“