Seite 1 von 3

Mitgliederliste nur für bestimmte Usergroup

Verfasst: 20.06.2006 18:51
von mr.no-name
Hi,

ich habe diesen Snippet hier http://www.phpbb.de/viewtopic.php?t=65401 eingebaut - ehergesagt damit versucht den Inhalt der Datei memberlist_body.tpl nur für User der Gruppe 356 zugänglich zu machen.

Ich bin selber in dieser Gruppe und auch Forenadmin, aber konnte danach den Inhalt der Memberliste nichtmehr sehen.

Also habe ich es mal über die Suche versucht und bin auf z.B. dies hier gestoßen:
http://www.phpbb.de/viewtopic.php?t=122103
Aber dies hilft mir auch nicht weiter...


Kann mir jemand einen Tipp geben, wie ich entweder den Fehler beheben kann, oder mein Problem (dass die Mitgliederliste nur für eine bestimmte Gruppe angezeigt wird) anderweitig lösen kann?

Verfasst: 22.06.2006 16:58
von mr.no-name
Weiß hier niemand weiter? :(

Verfasst: 22.06.2006 17:42
von John the Ripper
Es wäre sehr praktisch, wenn wir mal deine memberlist.php und memberlist_body.tpl sehen könnten. Wir haben nämlich keine Kristallkugeln, du etwa? :wink:

Verfasst: 23.06.2006 09:53
von mr.no-name

Verfasst: 26.06.2006 11:31
von mr.no-name
Kann denn trotz Zuhilfenahme der Dateien niemand helfen?

Verfasst: 26.06.2006 11:34
von Markus67
Hi ...

willst du die Mitgliederliste generell nur für eine bestimmte Gruppe zugänglich machen?

Markus

Verfasst: 26.06.2006 12:41
von mr.no-name
Genau :grin:

Verfasst: 26.06.2006 12:48
von Markus67
Hi ...

da musst du die Funktion ein bischen umbasteln .. ich hab das jetzt nicht hier und kann dir den Code erst heute abend posten .... falls ich es vergessen solllte schick mir einfach einen PN :wink:

Markus

Verfasst: 26.06.2006 18:39
von mr.no-name
Danke - hat keine Eile, sodass es im Laufe des Abends locker reicht :)

Verfasst: 26.06.2006 19:35
von Markus67
Hi ...

Der Teil hier kommt in deine functions.php
suche: davor einfügen:

Code: Alles auswählen

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

    $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( 'g' . $group_ary['group_id'] == $group )
        {
            $access_allowed = true;
            break;
        }
    }
    if ($access_allowed)
    {
        return true;
    }
    else
    {
        return false;
    }    
}
// END FUNKTION GRUPPENZUGEHÖRIGKEIT PRÜFEN
In der memberlist.php suche nach:

Code: Alles auswählen

// End session management
//
danach einfügen:

Code: Alles auswählen

// START GRUPPENBESCHRÄNKUNG
if (user_is_in_group('gXXX', $userdata['user_id']) == FALSE)
{
    message_die(GENERAL_MESSAGE, 'Hier die Meldung die dem User angezeigt wird wenn er nicht in der Gruppe ist');
}
// END GRUPPENBESCHRÄNKUNG
gXXX -> mit deiner Gruppennummer ersetzen ... -> g356
und die Meldung die ausgegeben wird kannst du ebenfalls anpassen.

Markus