Link nur für eine bestimmte Gruppe anzeigen!

Probleme bei der regulären Arbeiten mit phpBB, Fragen zu Vorgehensweisen oder Funktionsweise sowie sonstige Fragen zu phpBB im Allgemeinen.
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.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Benutzeravatar
m-a-b
Mitglied
Beiträge: 181
Registriert: 19.12.2002 14:43
Wohnort: Augsburg - Germany
Kontaktdaten:

Link nur für eine bestimmte Gruppe anzeigen!

Beitrag von m-a-b »

hi!

ist es möglich, dass ein link nur für ein bestimmte gruppe angezeigt wird
(in der overall-header.tpl).

also ähnlich wie diese funktion:

Code: Alles auswählen

<!-- BEGIN switch_user_logged_out -->
mfg

Markus 8)
Guthaben online kaufen schont die Umwelt - DSL Verfügbarkeit Geschwindigkeit prüfen - Windows & PC Forum rund ums Microsoft-Betriebssystem
Benutzeravatar
saerdnaer
Ehemaliges Teammitglied
Beiträge: 4268
Registriert: 21.04.2001 02:00

Beitrag von saerdnaer »

hi
das gehn natürlich... zuerst solltest du folgende funktion am ende deiner functions kurz vor ?> einfügen:

Code: Alles auswählen

function member_of($group, $userdata) 
{ 
        global $db; 
        if ( !$userdata['session_logged_in'] ) 
        { 
                return false; 
        } 
        $sql = "SELECT count(*) AS num FROM " . USER_GROUP_TABLE . " 
                WHERE user_id = '" . $userdata['user_id'] . "' AND group_id "; 
        if ( strpos(',', ' ' . $group_id) ) 
        { 
                $sql .= "IN ( " . $group_id . " )"; 
        } 
        else 
        { 
                $sql .= "= '" . $group_id . "'"; 
        } 
        if ( !($result = $db->sql_query($sql)) ) 
        { 
                message_die(GENERAL_ERROR, 'Could not get group auth', '', __LINE__, __FILE__, $sql); 
        } 
        $row = $db->sql_fetchrow($result); 
        if ( $row['num'] > 0 ) 
        { 
                return true; 
        } 
        return false; 
}
dann gehst du noch in deine page_header.php und fügst da nach folgendem:

Code: Alles auswählen

        if ( !empty($userdata['user_popup_pm']) )
        {
                $template->assign_block_vars('switch_enable_pm_popup', array());
        }
folgendes ein:

Code: Alles auswählen

        if ( member_of('123', $userdata) )
        {
                $template->assign_block_vars('switch_usergroup_123', array());
        }
wobei du 123 durch die id der ensprechenden gruppe ersetzt...

und schon hast du deinen schalter und xyz ist nur für mitglieder der usergruppe sichtbar:

Code: Alles auswählen

<!-- BEGIN switch_usergroup_123 -->
xyz
<!-- END switch_usergroup_123 -->
ah
Benutzeravatar
m-a-b
Mitglied
Beiträge: 181
Registriert: 19.12.2002 14:43
Wohnort: Augsburg - Germany
Kontaktdaten:

Beitrag von m-a-b »

Danke saerdnaer!

mfg

markus :cookie:
Guthaben online kaufen schont die Umwelt - DSL Verfügbarkeit Geschwindigkeit prüfen - Windows & PC Forum rund ums Microsoft-Betriebssystem
Benutzeravatar
Kettu
Mitglied
Beiträge: 99
Registriert: 25.02.2003 16:36

Beitrag von Kettu »

Hab ein ähnliches Problem. Nur ich würde bestimmte Links im Overall-header gerne nur für registrierte Benutzer anzeigen lassen.
Es ist schon über so viele Dinge Gras gewachsen, dass man keiner Wiese mehr trauen kann! 8)
--------
Nutzer von phpBB 2.0.4 und 2.0.11
Benutzeravatar
JumpinJack
Mitglied
Beiträge: 953
Registriert: 27.05.2002 10:37
Wohnort: Ariendorf
Kontaktdaten:

Beitrag von JumpinJack »

Das ist kein Problem:
Setze die Links zwischen diese Zeilen:

Code: Alles auswählen

<!-- BEGIN switch_user_logged_in --> 
<!-- END switch_user_logged_in -->
Liebe Grüße
JumpinJack
Benutzeravatar
Kettu
Mitglied
Beiträge: 99
Registriert: 25.02.2003 16:36

Beitrag von Kettu »

JumpinJack hat geschrieben:Das ist kein Problem:
Setze die Links zwischen diese Zeilen:

Code: Alles auswählen

<!-- BEGIN switch_user_logged_in --> 
<!-- END switch_user_logged_in -->
Wie? Ist das echt sooo einfach???? :o Boah! Das wäre ja cool! *gleich mal testen geht*

5 Min später
Wahnsinn!!!! Das funzt ja wirklich!!! Klasse!!! *knuddel* :D
Es ist schon über so viele Dinge Gras gewachsen, dass man keiner Wiese mehr trauen kann! 8)
--------
Nutzer von phpBB 2.0.4 und 2.0.11
Benutzeravatar
grizzlibaer
Mitglied
Beiträge: 446
Registriert: 04.08.2004 23:17

Beitrag von grizzlibaer »

sorry erstmal das ich den alten Beitrag rauskrame. Aber genau das würde ich gerne haben. Leider funktioniert das nicht. Es wird mir nichts angezeigt (und es kommt auch keine Fehlermeldung) :(
Den ersten Teil hab ich in includes/functins.php eingefügt. Das ist doch richtig oder? Ich habe es mit 2 Gruppen probiert.
Kann ich das auch in anderen Dateien, wie zb index_body.tpl dann verwenden (vorausgesetzt es funktioniert bei mir auch)?

gruß
grizzli
Benutzeravatar
saerdnaer
Ehemaliges Teammitglied
Beiträge: 4268
Registriert: 21.04.2001 02:00

Beitrag von saerdnaer »

wenn du schon gemerkt hast, dass das hier ein alter Beitrag ist hätest du ja ein neuen Thema aufmachen können ;-)

die aktuelle version der funktion findest du hier: http://www.phpbb.de/topic65401.html

ah
Benutzeravatar
grizzlibaer
Mitglied
Beiträge: 446
Registriert: 04.08.2004 23:17

Beitrag von grizzlibaer »

Hi,

vielen lieben Dank :) - Funktioniert einwandfrei *freu*

gruß
grizzli

PS: Dachte neuer Thread wär nicht nötig ;)
Dark_Viech
Mitglied
Beiträge: 66
Registriert: 18.05.2005 16:32

Beitrag von Dark_Viech »

so, ich hab jetzt statt dem Mod "abfrage der gruppenzugehörigkeit" das snippet hier genommen.

funzt bei mir nur nicht so ganz, deswegen hab ich ein paar Fragen:

1. Wo kann man genau die Gruppen Id sehen?

2. Muss man in dem Code, den man in die functions.php einfügen muss, irgendwas ändern? (gruppen ID???)

3. Muss ich die "123" einfach nur durch meine ID ersetzen?

4. Wie funktioniert das mit mehrern Gruppen? Wenn ich die "123" duch "1,2,3" ersetze, kommt bei mir ein parse-Fehler in der Template-datei.

5. Ich bin ein absoluter noob, und hab keine Ahnung in welche tpl-datei ich den Gruppen-Bereich schrieben muss(zB. wenn er unterhalb des ACP erscheinen soll)


und noch eine andere Frage:

wenn ich mir online im Browser den Quelltext der Seite ansehe, steht in der index.php was ganz anderes als offline, woran liegt das?


vielen dank
Antworten

Zurück zu „phpBB 2.0: Administration, Benutzung und Betrieb“