Header Menü nur für reg. Benutzer sichtbar machen ?

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.
Antworten
FF27Q
Mitglied
Beiträge: 150
Registriert: 27.01.2009 16:17

Header Menü nur für reg. Benutzer sichtbar machen ?

Beitrag von FF27Q »

Ich möchte im menü ein paar sachen nur für registrierte benutzer sichtbar machen .
was muss ich da dazu schreiben in der overall_header.tpl ?
mfg
http://www.Florian-Fromlowitz.de.gg <-- Fanpage
http://www.TimWiese-Fanpage.de.vu <-- Fanpage
http://keeperboard.ohost.de <--- Für alle Fußball & Mini Games Fans/ Registrieren&Mitmachen !
jensdd
Mitglied
Beiträge: 82
Registriert: 16.08.2008 21:23
Wohnort: Dresden
Kontaktdaten:

Re: Header Menü nur für reg. Benutzer sichtbar machen ?

Beitrag von jensdd »

Hallo,

das geht mit einem Switch

Code: Alles auswählen

<!-- BEGIN switch_user_logged_in -->
Inhalt, der nur für eingeloggte Benutzer sichtbar sein soll ...
<!-- END switch_user_logged_in -->
oder

Code: Alles auswählen

<!-- BEGIN switch_user_logged_out -->
Inhalt, der nur für ausgeloggte Benutzer sichtbar sein soll ...
<!-- END switch_user_logged_out -->
Passe aber auf, dass Du keine Switches verschachtelst.

Gruß Jens
Son1c
Mitglied
Beiträge: 1
Registriert: 19.02.2009 16:48

Re: Header Menü nur für reg. Benutzer sichtbar machen ?

Beitrag von Son1c »

Kann man im Menü auch Inhalt nur für bestimmte Benutzergruppen sichtbar machen?
jensdd
Mitglied
Beiträge: 82
Registriert: 16.08.2008 21:23
Wohnort: Dresden
Kontaktdaten:

Re: Header Menü nur für reg. Benutzer sichtbar machen ?

Beitrag von jensdd »

Ich habe da was gefunden (nicht meine Idee), für die functions.php (am Ende einfügen)

Code: Alles auswählen

//
// Überprüft die Zugehörigkeit eines Benutzers zu einer oder mehreren Gruppen
//
function user_in_group($group_ids, $user_id = false, $and = false)
{
   global $db, $userdata; 
   static $cache = array();
   
   if (!$user_id)
   {
      $user_id = $userdata['user_id'];
   }
   
   if (is_string($group_ids))
   {
      $group_ids = explode(',', $group_ids);
   }
   elseif (is_int($group_ids))
   {
      $group_ids = array($group_ids);
   }
   
   $check_ids = array();
   for ($i = 0, $count = count($group_ids); $i < $count; $i++)
   {
      $group_ids[$i] = intval($group_ids[$i]);
      if (!isset($cache[$user_id][$group_ids[$i]]))
      {
         $check_ids[] = $group_ids[$i];
      }
   }
   
   if (!empty($check_ids))
   {
      if (!isset($cache[$user_id]))
      {
         $cache[$user_id] = array();
      }
      
      foreach ($check_ids as $check_id)
      {
         $cache[$user_id][$check_id] = false;
      }
      
      $sql = 'SELECT g.group_id
         FROM ' . USER_GROUP_TABLE . ' ug, ' . GROUPS_TABLE . ' g
         WHERE g.group_id = ug.group_id
            AND (ug.user_id = ' . intval($user_id) . '
               OR g.group_moderator = ' . intval($user_id) . ')
            AND ug.group_id IN(' . implode(', ', $check_ids) . ')
         GROUP BY g.group_id';
      if (!$result = $db->sql_query($sql))
      {
         message_die(GENERAL_ERROR, 'Could not obtain groups', '', __LINE__, __FILE__, $sql);
      }
      
      while ($row = $db->sql_fetchrow($result))
      {
         $cache[$user_id][$row['group_id']] = true;
      }
      $db->sql_freeresult($result);
   }
   
   if ($and)
   {
      foreach ($group_ids as $group_id)
      {
         if (!$cache[$user_id][$group_id])
         {
            return false;
         }
      }
      
      return true;
   }
   else 
   {
      foreach ($group_ids as $group_id)
      {
         if ($cache[$user_id][$group_id])
         {
            return true;
         }
      }
      
      return false;
   }
}
Die Abfrage läuft so:
user_in_group(3); // aktueller Benutzer in Gruppe 3?
user_in_group('3,5'); // aktueller Benutzer in Gruppen 3 oder 5?
user_in_group(array(3, 5)); // aktueller Benutzer in Gruppen 3 oder 5?
user_in_group('3,5', false, true); // aktueller Benutzer in Gruppen 3 und 5?
user_in_group('3,5,8', $user_id); // Benutzer mit der ID $user_id in Gruppen 3, 5 oder 8?
user_in_group('3,5,8', $user_id, true); // Benutzer mit der ID $user_id in Gruppen 3, 5 und 8?

Musst mal schauen, wie Du das für Deine Zwecke verwenden kannst.

Gruß Jens
FF27Q
Mitglied
Beiträge: 150
Registriert: 27.01.2009 16:17

Re: Header Menü nur für reg. Benutzer sichtbar machen ?

Beitrag von FF27Q »

danke hat geklappt
http://www.Florian-Fromlowitz.de.gg <-- Fanpage
http://www.TimWiese-Fanpage.de.vu <-- Fanpage
http://keeperboard.ohost.de <--- Für alle Fußball & Mini Games Fans/ Registrieren&Mitmachen !
jensdd
Mitglied
Beiträge: 82
Registriert: 16.08.2008 21:23
Wohnort: Dresden
Kontaktdaten:

Re: Header Menü nur für reg. Benutzer sichtbar machen ?

Beitrag von jensdd »

Ich schließe da mal ne Frage zu den Switches an ...

Wie prüfe ich in der usercp_viewprofile, ob gerade mein eigenes Profil angezeigt wird? Konkreter Zweck: ich habe das eigene Profil im Header verlinkt und möchte in der profile_view_body einen Link zum Editieren des eigenen Profils setzen. Der soll natürlich nur beim eigenen Profil erscheinen.
Der normale Weg zur Profilbearbeitung führt bei mir über das User-CP, was ziemlich versteckt ist.

Gruß Jens

P.S.:
Nach einigem Probieren habe ich`s gefunden. Die Abfrage in der usercp_viewprofile lautet
$profiledata['user_id'] == $userdata['user_id']
Antworten

Zurück zu „phpBB 2.0: Mod Support“