Profile nur innerhalb der eigenen Gruppe einsehbar.

Du suchst einen bestimmten Mod, weißt aber nicht genau wo bzw. ob er überhaupt existiert? Wenn dir dieser Artikel nicht weiterhilft, kannst du hier den von dir gewünschten/gesuchten Mod beschreiben ...
Falls ein Mod-Autor eine der Anfragen hier aufnimmt um einen neuen Mod zu entwicklen, geht's in phpBB 2.0: Mods in Entwicklung weiter.
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
zebath
Mitglied
Beiträge: 14
Registriert: 26.02.2006 13:58

Profile nur innerhalb der eigenen Gruppe einsehbar.

Beitrag von zebath »

Hallo!
Wie kriege ich es hin, dass Profile nur innerhalb der eigenen Gruppe einsehbar sind?

Bin für jeden Hinweis dankbar!
zebath
Mitglied
Beiträge: 14
Registriert: 26.02.2006 13:58

Beitrag von zebath »

ok, dann halt nich...
Benutzeravatar
Leuchte
Ehemaliges Teammitglied
Beiträge: 9179
Registriert: 26.05.2003 14:57
Wohnort: Duisburg
Kontaktdaten:

Beitrag von Leuchte »

Wenn Du noch möchtest, kann ich heut Abend etwas Code ausbrüten
zebath
Mitglied
Beiträge: 14
Registriert: 26.02.2006 13:58

Beitrag von zebath »

hey, das wär echt super!
will hier nicht nach code betteln, aber bin halt kein programmier-gott.
Benutzeravatar
Leuchte
Ehemaliges Teammitglied
Beiträge: 9179
Registriert: 26.05.2003 14:57
Wohnort: Duisburg
Kontaktdaten:

Beitrag von Leuchte »

Wie versprochen
language/lang_german/lang_main.php - FindeFüge davor ein

Code: Alles auswählen

$lang['Profile_not_in_group'] = 'Du bist nicht in der Gruppe des Benutzers und kannst dieses Profil nicht ansehen';
includes/usercp_viewprofile.php - Finde

Code: Alles auswählen

	message_die(GENERAL_MESSAGE, $lang['No_user_id_specified']);
}
Füge danach ein

Code: Alles auswählen

if($userdata['session_logged_in'])
{
  function member_of($group_id) // by saerdnaer
  { 
    global $db;
    $profile = get_userdata($_GET[POST_USERS_URL]);
    $sql = "SELECT count(*) AS num
      FROM " . USER_GROUP_TABLE . " 
      WHERE user_id = '" . $profile['user_id'] . "'
      AND user_pending = '0'
      AND group_id IN ( " . $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 $profile['user_member_of_' . $group_id] = true; 
    } 
    return $profile['user_member_of_' . $group_id] = false; 
  }

  $sql = "SELECT group_id
    FROM " . USER_GROUP_TABLE . " 
    WHERE user_id = '". $userdata['user_id'] ."'
    AND user_pending = '0'"; 
  if(!($result = $db->sql_query($sql))) 
  {
    message_die(GENERAL_ERROR, 'Could not get group ids', '', __LINE__, __FILE__, $sql); 
  }

  $ingroup = "";
  while($row = $db->sql_fetchrow($result))
  {
    if(member_of($row['group_id']))
    {
      $ingroup .= 1;
    }
    else
    {
      $ingroup .= 0;
    }
  }
  if($ingroup == 0)
  {
    message_die(GENERAL_MESSAGE, $lang['Profile_not_in_group']);
  }
}
Somit ist das Profile für alle Tabu, die nicht in der Gruppe des Besitzers sind. Sollen Admins immer zugriff haben muss in der ersten Zeile der Änderung

Code: Alles auswählen

if($userdata['session_logged_in'])
durch

Code: Alles auswählen

if($userdata['session_logged_in'] && $userdata['user_level'] != ADMIN)
ausgetauscht werden
zebath
Mitglied
Beiträge: 14
Registriert: 26.02.2006 13:58

Beitrag von zebath »

vielen dank!
Antworten

Zurück zu „phpBB 2.0: Mod Suche/Anfragen“