Seite 1 von 1

Wer war da MOD --> Versteckte User ausblenden?

Verfasst: 22.05.2006 13:24
von Ralle6000
Ich habe das Selbe Problem wie in diesem Beitrag schon beschrieben:
ERLEDIGT: Verstecke User komplett verstecken?

Ich möchte, dass die versteckten User ganz ausgeblendet werden und nur die sichtbaren User und Gäste angezeigt werden.

Das, was im Link oben beschrieben ist, funktioniert auch bei der Forum-Standart-Anzeige, aber im "Wer war da" MOD sollen ebenfalls die Versteckten User ausgeblendet werden.

Ich kann zwar hier:

Code: Alles auswählen

*----------WER WAR HEUTE DA HACK----------*/
###############################  SETTINGS ###############################
$enable_wwd_counter = True; #Enables or disables counting of hidden users and guests
							#Values: True or False
Auf "False" stellen, aber dann werden auch die Gäste nicht mehr angezeigt.

Weiß jemand was ich da ändern muss?
(Link zur Textdatei des MODs)

Gruß
Ralle

Verfasst: 22.05.2006 13:42
von cYbercOsmOnauT
Du fragst im falschen Forum. Ich schiebe...

Gruß,
Tekin

Verfasst: 22.05.2006 14:03
von Ralle6000
OK, Sorry :oops:

Verfasst: 23.05.2006 11:29
von Ralle6000
Also nochmal zum "Wer war da" MOD, da ich bisher keine Antwort bekommen habe, habe ich das Ding auf "False" gestellt, so dass versteckte User und Gäste nun ausgeblendet werden.

Nun möchte ich aber, dass ein ganz bestimmter (normaler) User genauso wie ich (der Admin) sehen kann, WER sich da zurzeit versteckt (hat gewisse Gründe).

Kann man da irgendwie eine User-ID hinzufügen, für den dann auch alles sichtbar ist???

Ich nehme mal an, das muss irgendwo hier im MOD sein, in der index.php:

Code: Alles auswählen

if ( $userdata['user_level'] == ADMIN )
{
	$sql_add = ", user_allow_viewonline";
}
else
{
	$sql_add2 = "AND user_allow_viewonline = '1'";
}
Habe aber keine Ahnung davon.

[Edit]

Wäre so eine Lösung sicher? Funktionieren tut es anscheinend:

Code: Alles auswählen

if ( $userdata['user_level'] == ADMIN )
{
	$sql_add = ", user_allow_viewonline";
}

if ( $userdata['user_id'] == xx )
{
	$sql_add = ", user_allow_viewonline";
}

else
{
	$sql_add2 = "AND user_allow_viewonline = '1'";
}
(Statt dem "xx" würde ich dann natürlich die User-ID eingeben).

Bitte um Hilfe!

Grüße
Ralf

Verfasst: 23.05.2006 12:34
von Kreezer
Ich hab damals für hofipalace.de folgenden Code geschrieben. Vielleicht hilt's ja weiter...

Code: Alles auswählen

// by kreezer - http://www.kreezer.de/
// 20.07.2005, 12:16
$result = $db->sql_query('Select `user_id`, `username`, `user_allow_viewonline`, `user_session_time`, `user_level` FROM '.USERS_TABLE." WHERE `user_session_time` > $mitternacht ORDER BY `user_session_time` DESC");
while( $row = $db->sql_fetchrow($result)) {
   if( $row['user_allow_viewonline'] ) {
      $user_today .= ($count_user_today > 0) ? ', ' : '';
      $user_today .= '<a href="'.append_sid('profile.php?mode=viewprofile&u='.$row['user_id']).'"';
      $user_today .= ($row['user_level'] == 1) ? ' style="color: #'.$theme['fontcolor3'].'"><b>'.$row['username'].'</b></a>' : '';
      $user_today .= ($row['user_level'] == 2) ? ' style="color: #'.$theme['fontcolor2'].'"><b>'.$row['username'].'</b></a>' : '';
      $user_today .= ($row['user_level'] != 1 && $row['user_level'] != 2) ? '">'.$row['username'].'</a>' : '';
      $user_today .= ' ('.$user_today_text['zuletzt_um'].' '.date('H:i', $row['user_session_time']).')';
      $count_user_today++;
   } elseif( !$row['user_allow_viewonline'] && $userdata['user_level'] == ADMIN ) {
      $user_today .= ($count_user_today > 0) ? ', ' : '';
      $user_today .= '<a href="'.append_sid('profile.php?mode=viewprofile&u='.$row['user_id']).'"';
      $user_today .= ($row['user_level'] == 1) ? ' style="color: #'.$theme['fontcolor3'].'"><b><i>'.$row['username'].'</i></b></a>' : '';
      $user_today .= ($row['user_level'] == 2) ? ' style="color: #'.$theme['fontcolor2'].'"><b><i>'.$row['username'].'</i></b></a>' : '';
      $user_today .= ($row['user_level'] != 1 && $row['user_level'] != 2) ? '"><i>'.$row['username'].'</i></a>' : '';
      $user_today .= ' ('.$user_today_text['zuletzt_um'].' '.date('H:i', $row['user_session_time']).')';
      $count_user_today++;
   }
}

Verfasst: 23.05.2006 12:49
von Ralle6000
Ist das jetzt, um versteckte User ganz auszublenden?
Dann werde ich das mal testen. Vielen Dank!

Aber noch zu meiner anderen Frage:

Versteckte User für einen bestimmten User im "Wer war da MOD" sichtbar machen, kann jemand den Code oben in meinem letzten Posting absegnen? Auch wenn er funktioniert, weiß ich nicht ob das so vielleicht irgendwelche Sicherheitslücken verursacht.

Ich habe wenig Ahnung von PHP.

Grüße
Ralf

Verfasst: 30.05.2006 19:28
von Kreezer
Der von mir gepostete Code macht Folgendes:
Für normale Nutzer des Forums werden versteckte Nutzer nicht angezeigt. Nutzer mit Administrationsrechten sehen versteckte Nutzer kursiv angezeigt. Nutzer, welche ihren Onlinestatus nicht verstecken, werden ganz normal angezeigt.

Wenn du nun willst, dass ein bestimmter Nutzer zusätzlich zu den Admins auch versteckte Nutzer sieht, ersetzt du einfach

Code: Alles auswählen

$userdata['user_level'] == ADMIN
durch

Code: Alles auswählen

($userdata['user_level'] == ADMIN || $userdata['user_id'] == DIE_USERID)
PS: Vielleicht ist es einigen Programmieren schon aufgefallen, dass mein kompletter Code ein wenig umständlich ist. Wenn jemand den Code produktiv einsetzen will, kann er mich gern noch einmal kontaktieren, dann mach ich den Code ein wenig "schlanker".

Verfasst: 17.08.2007 12:48
von L4OA
Um im 'Wer war da'-Mod die Verstckten Benutzer auszublenden einfach in der index.php folgene Zeilen auskommentieren:

Code: Alles auswählen

	$hidden = $db->sql_numrows($result) - $count_user_today;
	$total_users += $hidden;


	$user_today_text .= ( $hidden == 0 || $hidden == '' ) ? $lang['Hidden_users_zero_total'] : '';
	$user_today_text .= ( $hidden == 1 ) ? str_replace('%d', $hidden, $lang['Hidden_user_total']) : 

'';
	$user_today_text .= ( $hidden > 1 ) ? str_replace('%d', $hidden, $lang['Hidden_users_total']) : 

'';
also:

Code: Alles auswählen

//	$hidden = $db->sql_numrows($result) - $count_user_today;
//	$total_users += $hidden;


//	$user_today_text .= ( $hidden == 0 || $hidden == '' ) ? $lang['Hidden_users_zero_total'] : '';
//	$user_today_text .= ( $hidden == 1 ) ? str_replace('%d', $hidden, $lang['Hidden_user_total']) : 

//'';
//	$user_today_text .= ( $hidden > 1 ) ? str_replace('%d', $hidden, $lang['Hidden_users_total']) : 

//'';