Seite 1 von 2

Erweiterung der index.php

Verfasst: 08.01.2004 16:59
von Fabse
Hi!


Geht es, dass man die index.php so erweitert, dass die gesamten User von gestern auch sieht? Like this:

Insgesamt haben heute 32 User das Forum besucht :: 3 registrierte, kein versteckter und 29 Gäste. , davon 2 innerhalb der letzten Stunde.
Registrierte Benutzer: Fabse, fRost`, Split_Drachen

//Und dann das von gestern:

Insgesamm haben gestern XX User das Forum besucht :: xx registrierte, x versteckte und xx Gäste, davon xx innerhalb der letzten Stunde.#
Registrierte Benutzer: xx, xx, xx, xx, xx, ...

Wie geht das?

Verfasst: 08.01.2004 17:02
von Firestarter
das macht der Hack last_visit_1.2.7em.zip

Verfasst: 08.01.2004 18:57
von Fabse
nein ich mein stats. nur von gestern! den last visit hab ich!!

Verfasst: 27.04.2004 00:15
von timo111
ich schieb den beitrag mal hoch weil ich das gleiche suche.

der last visit mod soll mir zusätzlich zu den usern die heute online waren auch noch die user von gestern anzeigen.

Verfasst: 27.04.2004 03:43
von itst
In der Query einen Tag (86400 Sekunden) mehr anfordern.

Verfasst: 27.04.2004 04:14
von timo111
kannst du das auch etwas näher beschreiben? :wink:

Verfasst: 27.04.2004 04:21
von itst
Ich kenne den Mod nicht, aber er wird die Benutzerdaten wohl so aus der Datenbank holen, das er user_lastvisit benutzt. Und da user_lastvisit vom Typ TIMESTAMP ist, wird der Mod wohl mit

Code: Alles auswählen

UNIX_TIMESTAMP(user_lastvisit) > NOW() - 86400
arbeiten. Aus 86400 172800 machen und gut iss.

Verfasst: 27.04.2004 04:53
von timo111
es geht um den last-visit mod.
ich vermute mal das es in diesem teil geändert werden muss, oder?:

Code: Alles auswählen

# 
#-----[ OPEN ]------------------------------------------------ 
# 
index.php

# 
#-----[ FIND ]------------------------------------------------ 
# 
//
// Start output of page

# 
#-----[ BEFORE, ADD ]----------------------------------------- 
# 

// Start add - Last visit MOD
$time_now=time();
$time1Hour=$time_now-3600;
$minutes = date('is', $time_now);
$hour_now = $time_now - (60*($minutes[0].$minutes[1])) - ($minutes[2].$minutes[3]); 
$dato=create_date('H', $time_now,$board_config['board_timezone']);
$timetoday = $hour_now - (3600*$dato); 
$sql = 'SELECT session_ip, MAX(session_time) as session_time FROM '.SESSIONS_TABLE.' WHERE session_user_id="'.ANONYMOUS.'" AND session_time >= '.$timetoday.' AND session_time< '.($timetoday+86399).' GROUP BY session_ip';
if (!$result = $db->sql_query($sql)) message_die(GENERAL_ERROR, "Couldn't retrieve guest user today data", "", __LINE__, __FILE__, $sql); 
while( $guest_list = $db->sql_fetchrow($result))
{ 
	if ($guest_list['session_time'] >$time1Hour) $users_lasthour++;
}
$guests_today = $db->sql_numrows($result);
$sql = 'SELECT user_id,username,user_allow_viewonline,user_level,user_lastlogon FROM ' . USERS_TABLE . ' WHERE user_id!="'.ANONYMOUS.'" AND user_session_time >= '.$timetoday.' AND user_session_time< '.($timetoday+86399).' ORDER BY username'; 
if (!$result = $db->sql_query($sql)) message_die(GENERAL_ERROR, "Couldn't retrieve user today data", "", __LINE__, __FILE__, $sql); 
while( $todayrow = $db->sql_fetchrow($result)) 
{ 
	$style_color = ""; 
	if ($todayrow['user_lastlogon']>=$time1Hour)
	{
		$users_lasthour++;
	}
	switch ($todayrow['user_level'])
	{
		case ADMIN :
		      $todayrow['username'] = '<b>' . $todayrow['username'] . '</b>'; 
      		$style_color = 'style="color:#' . $theme['fontcolor3'] . '"';
			break;
		case MOD :
		      $todayrow['username'] = '<b>' . $todayrow['username'] . '</b>'; 
      		$style_color = 'style="color:#' . $theme['fontcolor2'] . '"';
			break;
	}
 	$users_today_list.=( $todayrow['user_allow_viewonline'])?' <a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $todayrow['user_id']) . '"' . $style_color .'>' . $todayrow['username'] . '</a>,' : (($userdata[user_level]==ADMIN) ? ' <a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $todayrow['user_id']) . '"' . $style_color .'><i>' . $todayrow['username'] . '</i></a>,' : '');
	if (!$todayrow['user_allow_viewonline']) $logged_hidden_today++;
	else $logged_visible_today++;
}
if ($users_today_list) 
{
	$users_today_list[ strlen( $users_today_list)-1] = ' '; 
} else
{
	$users_today_list = $lang['None'];
}
$total_users_today = $db->sql_numrows($result)+$guests_today;

$users_today_list = $lang['Registered_users'].' ' . $users_today_list;
$l_today_user_s = ($total_users_today) ? ( ( $total_users_today == 1 )? $lang['User_today_total'] : $lang['Users_today_total'] ) : $lang['Users_today_zero_total'];
$l_today_r_user_s = ($logged_visible_today) ? ( ( $logged_visible_today == 1 ) ? $lang['Reg_user_total'] : $lang['Reg_users_total'] ) : $lang['Reg_users_zero_total'];
$l_today_h_user_s = ($logged_hidden_today) ? (($logged_hidden_today == 1) ? $lang['Hidden_user_total'] : $lang['Hidden_users_total'] ) : $lang['Hidden_users_zero_total'];
$l_today_g_user_s = ($guests_today) ? (($guests_today == 1) ? $lang['Guest_user_total'] : $lang['Guest_users_total']) : $lang['Guest_users_zero_total'];
$l_today_users = sprintf($l_today_user_s, $total_users_today);
$l_today_users .= sprintf($l_today_r_user_s, $logged_visible_today); 
$l_today_users .= sprintf($l_today_h_user_s, $logged_hidden_today); 
$l_today_users .= sprintf($l_today_g_user_s, $guests_today);
// End add - Last visit MOD
mir reicht übrigends die ausgabe "gestern waren xyz user zu besucht". ich brauch nicht die komplette liste.

Verfasst: 27.04.2004 14:10
von itst
Augen auf :D

Code: Alles auswählen

($timetoday+86399)
Da machste nun

Code: Alles auswählen

($timetoday+172799)
draus.

Verfasst: 27.04.2004 17:23
von timo111
ich bräuchte den mod jetzt natürlich doppelt. die user von heute soll er ja auch weiterhin anzeigen. kann man den entsprechenden code anpassen oder muss ich den mod nochmal einbauen?