Seite 2 von 8

Verfasst: 27.05.2003 00:52
von doctormord
gibts vllt. eine erweiterung, sodass er die benutzernamen einzeigt, die gerade dort sind?

Verfasst: 27.05.2003 09:13
von Acid
hmm.. was wird´n bei Dir momentan angezeigt (anstatt den Benutzernamen)!?

Verfasst: 27.05.2003 13:24
von doctormord
stimmt, hast recht =D ..

allerdings scheint es nicht zu funktionieren wenn alles ausgefüllt ist?

also:

.forum
.beschreibung
.moderatoren

aka:

Test Forum
Forum zum testen der funktionen
Moderatoren DeKuh, UC

Verfasst: 27.05.2003 17:21
von Matthias70
Registrierte Benutzer und versteckte Benutzer werden alle angezeigt, aber bei der Funktion "User aktiv: Gast" fehlt Gast

Hat jemand eine Erklärung?

Verfasst: 27.05.2003 17:50
von Elvis
die zeile haste aber mit eingebaut oder?

$l_online_users_extra .= sprintf($l_g_user_s, $guests_online);

Verfasst: 27.05.2003 18:03
von Matthias70
In der index.php habe ich diese Zeile nicht drin
Bei mir schauts folgendermaßen aus.

Code: Alles auswählen

$total_active_users = $logged_visible_active + $logged_hidden_active + $guests_active; 
$l_t_user_s = ( $total_active_users == 0 ) ? $lang['Forum_no_active'] : ( ( $total_active_users == 1 ) ? $lang['Forum_one_active'] : $lang['Forum_more_active'] );
$l_h_user_s = ( $logged_hidden_active == 0 || $userdata['user_level'] == ADMIN ) ? '' : ( ( $logged_hidden_active == 1 ) ? $lang['Forum_one_hidden_active'] : $lang['Forum_more_hidden_active'] );
$l_g_user_s = ( $guests_active == 0 ) ? '' : ( ( $guests_active == 1 ) ? $lang['Forum_one_guest_active'] : $lang['Forum_more_guest_active'] );

$l_active_users = sprintf($l_t_user_s, $total_active_users); 
$l_active_users_info = sprintf($l_h_user_s, $logged_hidden_active); 
$l_active_users_info .= sprintf($l_g_user_s, $guests_active); 
Wie geschrieben, es funktioniert eigenlich alles bis auf die "Gast"-Anzeige?

Matthias

Verfasst: 27.05.2003 18:16
von Elvis
mmh

bei mir sieht das aber so haus laut Anleitung

# ÖFFNEN: index.php

[FINDE]:
$template->assign_block_vars('catrow.forumrow', array(
'ROW_COLOR' => '#' . $row_color,

[MIT FOLGENDEM ERSETZEN]:
//###################################################
$user_forum_sql = ( !empty($forum_id) ) ? "AND s.session_page = $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();

$logged_visible_online = 0;
$logged_hidden_online = 0;
$guests_online = 0;
$online_userlist = '';

$prev_user_id = 0;
$prev_user_ip = '';

while( $row = $db->sql_fetchrow($result) )
{
if ( $row['session_logged_in'] )
{
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++;
}

if ( $row['user_allow_viewonline'] || $userdata['user_level'] == ADMIN )
{
$online_userlist .= ( $online_userlist != '' ) ? ', ' . $user_online_link : $user_online_link;
}
}

$prev_user_id = $row['user_id'];
}
else
{
if ( $row['session_ip'] != $prev_session_ip )
{
$guests_online++;
}
}

$prev_session_ip = $row['session_ip'];
}

$total_online_users = $logged_visible_online + $logged_hidden_online + $guests_online;

if ( $total_online_users == 0 )
{
$l_t_user_s = $lang['Forum_no_active'];
}
else if ( $total_online_users == 1 )
{
$l_t_user_s = $lang['Forum_one_active'];
}
else
{
$l_t_user_s = $lang['Forum_more_active'];
}


if ( $logged_hidden_online == 0 )
{
$l_h_user_s = '';
}
else if ( $logged_hidden_online == 1 )
{
$l_h_user_s = $lang['Forum_one_hidden_active'];
}
else
{
$l_h_user_s = $lang['Forum_more_hidden_active'];
}

if ( $guests_online == 0 )
{
$l_g_user_s = '';
}
else if ( $guests_online == 1 )
{
$l_g_user_s = $lang['Forum_one_guest_active'];
}
else
{
$l_g_user_s = $lang['Forum_more_guests_active'];
}

$l_online_users = sprintf($l_t_user_s, $total_online_users);
$l_online_users_extra = sprintf($l_h_user_s, $logged_hidden_online);
$l_online_users_extra .= sprintf($l_g_user_s, $guests_online);

$who_total = $l_online_users;
$who_extra = $l_online_users_extra;
$who = $online_userlist;
//######################################################################
$template->assign_block_vars('catrow.forumrow', array(
'WHO' => $who,
'WHO_TOTAL' => $who_total,
'WHO_EXTRA' => $who_extra,
'ROW_COLOR' => '#' . $row_color,

Verfasst: 29.05.2003 10:37
von Matthias70
Hab schon Ringe unter den Augen, kann den Fehler aber beim besten Willen nicht erkennen.
Nach wie vor werden User aktiv: Gast nicht angezeigt, stattdessen nur User aktiv:
Hier der entsprechende Teil aus der index.php. Ist ne Menge Code ich weiß aber vielleicht findet ihr den ja den Fehler.

Code: Alles auswählen

// anfang: forenaktivitäten
							$sql = "SELECT u.username, u.user_id, u.user_allow_viewonline, u.user_level, s.session_logged_in, s.session_ip, s.session_page
							           FROM ".USERS_TABLE." u, ".SESSIONS_TABLE." s 
							           WHERE u.user_id = s.session_user_id 
							                      AND s.session_time >= ".( time() - 300 ) . " AND s.session_page = $forum_id
							           ORDER BY u.username ASC, s.session_ip ASC"; 
							if( !($result = $db->sql_query($sql)) ) 
							{ 
							        message_die(GENERAL_ERROR, 'Could not obtain activities in forums.', '', __LINE__, __FILE__, $sql); 
							} 

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

							$logged_visible_active = 0; 
							$logged_hidden_active = 0; 
							$guests_active = 0; 
							$active_userlist = ''; 

							$prev_user_id = 0; 
							$prev_user_ip = ''; 

							while( $row = $db->sql_fetchrow($result) ) 
							{ 
							        if ( $row['session_logged_in'] ) 
							        { 
                							        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['username'] == safda ) 
	                						                { 
		                					                        $row['username'] = '<b>' . $row['username'] . '</b>'; 
			                				                        $style_color = 'style="color:#00B0FF"'; 
				                			                } 
					                		                else if ( $row['user_level'] == MOD ) 
						                	                { 
			                				                        $row['username'] = '<b>' . $row['username'] . '</b>'; 
                							                        $style_color = 'style="color:#' . $theme['fontcolor2'] . '"'; 
	                						                } 

                							                if ( $row['user_allow_viewonline'] ) 
	                						                { 
		                					                        $user_active_link = '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $row['user_id']) . '"' . $style_color .'>' . $row['username'] . '</a>'; 
			                				                        $logged_visible_active++; 
				                			                } 
                							                else 
	                						                { 
		                					                        $user_active_link = '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $row['user_id']) . '"' . $style_color .'><i>' . $row['username'] . '</i></a>'; 
			                				                        $logged_hidden_active++; 
				                			                } 
          
                							                if ( $row['user_allow_viewonline'] || $userdata['user_level'] == ADMIN ) 
	                						                { 
		                					                        $active_userlist .= ( $active_userlist != '' ) ? ', ' . $user_active_link : $user_active_link; 
			                				                } 
                							        } 
                							        $prev_user_id = $row['user_id']; 
							        } 
							        else 
							        { 
							                if ( $row['session_ip'] != $prev_session_ip ) 
							                { 
							                        $guests_active++; 
							                } 
							        } 
							        $prev_session_ip = $row['session_ip']; 
							} 

							$total_active_users = $logged_visible_active + $logged_hidden_active + $guests_active; 

							$l_t_user_s = ( $total_active_users == 0 ) ? $lang['Forum_no_active'] : ( ( $total_active_users == 1 ) ? $lang['Forum_one_active'] : $lang['Forum_more_active'] );
							$l_h_user_s = ( $logged_hidden_active == 0 || $userdata['user_level'] == ADMIN ) ? '' : ( ( $logged_hidden_active == 1 ) ? $lang['Forum_one_hidden_active'] : $lang['Forum_more_hidden_active'] );
							$l_g_user_s = ( $guests_active == 0 ) ? '' : ( ( $guests_active == 1 ) ? $lang['Forum_one_guest_active'] : $lang['Forum_more_guest_active'] );

							$l_active_users = sprintf($l_t_user_s, $total_active_users); 
							$l_active_users_info = sprintf($l_h_user_s, $logged_hidden_active); 
							$l_active_users_info .= sprintf($l_g_user_s, $guests_active); 

			if( $userdata['user_level'] == ADMIN )
			{
				$active_total = $l_active_users; 
				$active_info = $l_active_users_info; 
				$active = $active_userlist; 
			}

							// ende: forenaktivitäten

								$template->assign_block_vars('catrow.forumrow',   array( 
								'ACTIVE' => $active, 
								'ACTIVE_TOTAL' => $active_total, 
								'ACTIVE_INFO' => $active_info, 
								'ROW_COLOR' => '#' . $row_color,
viele Grüße
Matthias

Verfasst: 31.05.2003 11:43
von Acid
..sind bei dir viele Gäste auf dem Board unterwegs ?
Ersetze ma testweise (in index.php)...

Code: Alles auswählen

$l_active_users_info = sprintf($l_h_user_s, $logged_hidden_active);
$l_active_users_info .= sprintf($l_g_user_s, $guests_active); 
..mit..

Code: Alles auswählen

$l_active_users_info = sprintf($l_g_user_s, $guests_active); 
Nicht wundern, versteckte User werden nun nicht angezeigt (die Namen scho, nur die Info á la "2 Hidden" nicht).... halt nur zum testen. Gäste sollten nun angezeigt werden.

Verfasst: 31.05.2003 14:44
von Matthias70
Habe die Veränderung gerade vorgenommen.
In meinem Forum sind definitiv mehr Gäste, als versteckte User unterwegs. Von da her ist es kein Problem, wenn die Anzahl der versteckten User nicht angezeigt wird.

Danke für den Hinweis und die vielen anderen guten Mods von dir.
Matthias