[2.0.x] Wer ist in welchem Forum aktiv?

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.
Benutzeravatar
doctormord
Mitglied
Beiträge: 152
Registriert: 27.04.2003 16:11

Beitrag von doctormord »

gibts vllt. eine erweiterung, sodass er die benutzernamen einzeigt, die gerade dort sind?
Acid
Ehrenadmin
Beiträge: 12195
Registriert: 26.04.2001 02:00
Wohnort: Berlin

Beitrag von Acid »

hmm.. was wird´n bei Dir momentan angezeigt (anstatt den Benutzernamen)!?
Benutzeravatar
doctormord
Mitglied
Beiträge: 152
Registriert: 27.04.2003 16:11

Beitrag 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
Matthias70
Mitglied
Beiträge: 18
Registriert: 18.03.2003 14:59
Kontaktdaten:

Beitrag von Matthias70 »

Registrierte Benutzer und versteckte Benutzer werden alle angezeigt, aber bei der Funktion "User aktiv: Gast" fehlt Gast

Hat jemand eine Erklärung?
Benutzeravatar
Elvis
Mitglied
Beiträge: 3373
Registriert: 26.05.2003 22:39

Beitrag von Elvis »

die zeile haste aber mit eingebaut oder?

$l_online_users_extra .= sprintf($l_g_user_s, $guests_online);
Matthias70
Mitglied
Beiträge: 18
Registriert: 18.03.2003 14:59
Kontaktdaten:

Beitrag 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
Benutzeravatar
Elvis
Mitglied
Beiträge: 3373
Registriert: 26.05.2003 22:39

Beitrag 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,
Matthias70
Mitglied
Beiträge: 18
Registriert: 18.03.2003 14:59
Kontaktdaten:

Beitrag 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
Acid
Ehrenadmin
Beiträge: 12195
Registriert: 26.04.2001 02:00
Wohnort: Berlin

Beitrag 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.
Matthias70
Mitglied
Beiträge: 18
Registriert: 18.03.2003 14:59
Kontaktdaten:

Beitrag 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
Antworten

Zurück zu „phpBB 2.0: Mod Support“