Seite 1 von 2

Problem mit "onlinestatus verstecken"

Verfasst: 03.03.2006 08:57
von Light Lan
So ich hab da ein kleines Problem.
Als Admin sieht man ja versteckte user kursiv.
Tja das Problem ist, dass ich sie in meinem Forum normal sehe, also wie die anderen.
Is mir aufgefallen, wie ich mich selbst versteckt habe.
Bitte um Hilfe.

Verfasst: 03.03.2006 09:31
von miccom
mal ernsthaft: wie soll man dir jetzt helfen? keiner ist hier hellseher...

welches phpbb, ist es überhaupt ein phpbb?
hast du mods eingebaut oder irgendwas geändert?
hast du dir einen 2. standard account eingerichtet um das problem zu testen?
mehr input = mehr output!

so ein link zu deinem board wäre schon mal ein guter anfang!

Verfasst: 03.03.2006 10:01
von Light Lan
ja phpbb die neueste version.
2.0.19
sonst wär ich ja nicht hier. ;)
"Wer war da" - MOD
Definierung von Farbgruppen (Color Groups)
Zusätzlich habe ich auch noch das erweiterte ModPanel und den Admin Style Watcher.
forum is http://lightlan.li.funpic.de

Verfasst: 03.03.2006 10:07
von miccom
habs getestet, geht doch alles?

miccom2 = hidden
miccom sieht miccom2 nicht

btw: die gelbe linkfarbe lässt sich schlecht auf dem pergament-hintergrund lesen!

/e beweis:
http://www.niedermayr.cc/webstuff/phpbbde_support17.jpg

Verfasst: 03.03.2006 10:14
von Light Lan
ähm lies doch mal genau o.O
ich seh den zwar dann als admin, aber eben nicht kursiv, wie es eben normal ist.
und ja ich such zur zeit eh nach ner anderen linkfarbe und probier etwas rum, aber bisher hats nur grausam ausgeschaut.
Edit: zur verdeutlichung habe ich mal nen Screenshot gemacht.
[ externes Bild ]
Im wer is online biste nicht kursiv, obwohl versteckt und im "Wer war da" biste kursiv, wies sein sollte.

Verfasst: 03.03.2006 10:25
von miccom
unter "normal" verstehe ich, dass du den user siehst obwohl er online aber versteckt ist! :roll: naja, egal :D

ich finde den kursiven codeteil im index leider auch nicht, aber in der viewonline.php suche mal nach:

Code: Alles auswählen

if ( !$row['user_allow_viewonline'] )
darunter sollte stehen:

Code: Alles auswählen

			{
				$view_online = ( $userdata['user_level'] == ADMIN ) ? true : false;
				$hidden_users++;

				$username = '<i>' . $username . '</i>';
			}
die <i>-tags machens kursiv.

Verfasst: 03.03.2006 10:29
von Light Lan
Das steht da so drin.
Das is nämlich die Liste, die kommt, wenn man auf "Wer ist online" klickt. und da isses ja richtig.
Wenn ich wenigstens wüsste in welcher datei ich suchen muss :(
Edit: achja in den Unterforen seh ich versteckte user auch nich kursiv sondern normal.
Könnte das der gleiche Fehler sein?

Verfasst: 03.03.2006 10:38
von miccom
es steht im page_header.php, ich poste mal den code bis zur besagten stelle

Code: Alles auswählen

if (defined('SHOW_ONLINE'))
{

	$user_forum_sql = ( !empty($forum_id) ) ? "AND s.session_page = " . intval($forum_id) : '';
	$sql = "SELECT u.username, u.user_id, u.user_allow_viewonline, u.user_level, s.session_logged_in, s.session_ip, s.SearchBot
		FROM ".USERS_TABLE." u, ".SESSIONS_TABLE." s
		WHERE u.user_id = s.session_user_id
			AND s.session_time >= ".( time() - 300 ) . "
			$user_forum_sql
		ORDER BY u.username ASC, s.session_ip ASC";
	if( !($result = $db->sql_query($sql)) )
	{
		message_die(GENERAL_ERROR, 'Could not obtain user/online information', '', __LINE__, __FILE__, $sql);
	}

	$userlist_ary = array();
	$userlist_visible = array();

	$prev_user_id = 0;
	$prev_user_ip = $prev_session_ip = '';

	while( $row = $db->sql_fetchrow($result) )
	{
		// User is logged in and therefor not a guest
		if ( $row['session_logged_in'] )
		{
			// Skip multiple sessions for one user
			if ( $row['user_id'] != $prev_user_id )
			{
				$style_color = '';
				if ( $row['user_level'] == ADMIN )
				{
					$row['username'] = '<b>' . $row['username'] . '</b>';
					$style_color = 'style="color:#' . $theme['fontcolor3'] . '"';
				}
				else if ( $row['user_level'] == MOD )
				{
					$row['username'] = '<b>' . $row['username'] . '</b>';
					$style_color = 'style="color:#' . $theme['fontcolor2'] . '"';
				}

				if ( $row['user_allow_viewonline'] )
				{
					$user_online_link = '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $row['user_id']) . '"' . $style_color .'>' . $row['username'] . '</a>';
					$logged_visible_online++;
				}
				else
				{
					$user_online_link = '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $row['user_id']) . '"' . $style_color .'><i>' . $row['username'] . '</i></a>';
					$logged_hidden_online++;
				}
im letzten else

Verfasst: 03.03.2006 10:51
von Light Lan
da is bei mir wohl en mod drübergegangen

Code: Alles auswählen

if (defined('SHOW_ONLINE'))
{
	include_once($phpbb_root_path.'includes/functions_color_groups.'.$phpEx);
	$user_forum_sql = ( !empty($forum_id) ) ? "AND s.session_page = " . intval($forum_id) : '';
	$sql = "SELECT u.username, u.user_id, u.user_allow_viewonline, u.user_level, s.session_logged_in, s.session_ip
		FROM ".USERS_TABLE." u, ".SESSIONS_TABLE." s
		WHERE u.user_id = s.session_user_id
			AND s.session_time >= ".( time() - 300 ) . "
			$user_forum_sql
		ORDER BY u.username ASC, s.session_ip ASC";
	if( !($result = $db->sql_query($sql)) )
	{
		message_die(GENERAL_ERROR, 'Could not obtain user/online information', '', __LINE__, __FILE__, $sql);
	}

	$userlist_ary = array();
	$userlist_visible = array();

	$prev_user_id = 0;
	$prev_user_ip = $prev_session_ip = '';

	while( $row = $db->sql_fetchrow($result) )
	{
		// User is logged in and therefor not a guest
		if ( $row['session_logged_in'] )
		{
			// Skip multiple sessions for one user
			if ( $row['user_id'] != $prev_user_id )
			{
				$user_online_link = color_group_colorize_name($row['user_id']);
				if ( $row['user_allow_viewonline'] )
				{
					$logged_visible_online++;
				}
				else
				{
					$logged_hidden_online++;
				}
				

				if ( $row['user_allow_viewonline'] || $userdata['user_level'] == ADMIN )
				{
					$online_userlist .= ( $online_userlist != '' ) ? ', ' . $user_online_link : $user_online_link;
				}
			}
na ich schau dann mal, ob ichs hinkrieg. (backup gemacht)
Edit: Der Mod "Color Groups" ist da drüber gegangen. Laut deren Anleitung hab ich aber alles richtig gemacht. O.o ich find den Fehler nicht. :(

Verfasst: 04.03.2006 09:00
von Light Lan
*schubs*
Problem immer noch vorhanden.
Komm nicht weiter.
Aber jetzt weiß ich wozu sicherheitskopien gut sind. :roll: