############################################################## 
## MOD Title:          Extend rank color for Last Visit 
## MOD Author:         Gendo < gendo@denturax.com > (Matthieu V.) http://www.denturax.com
##
## MOD Description:    Compatibilit entre Last Visit de Niels & Extend rank color
##
## MOD ADD-on Version:  1.3.0
## Compatibility:       2.0.6-2.0.11
##
## Installation Level: Easy
## Installation Time:  3 minutes
## Files To Edit:      1
##         index.php 
##
## Included Files:     0
##		  
############################################################## 
## For Security Purposes, Please Check: http://www.phpbb.com/mods/ for the 
## latest version of this MOD. Downloading this MOD from other sites could cause malicious code 
## to enter into your phpBB Forum. As such, phpBB will not offer support for MOD's not offered 
## in our MOD-Database, located at: http://www.phpbb.com/mods/ 
############################################################## 
## Author Notes: 
##
############################################################## 
## MOD History: 
## 
##   2004-09-01 - Version 1.3.0
##      - Mise  jour pour la RC6
##
##   2004-08-09 - Version 1.2.0
##      - Correction de l'affichage des groupes en couleur.
##
##   2004-03-21 - Version 1.1.0
##      - Respect des priorits
## 
##   2004-03-20 - Version 1.0.0
##      - Premire version de l'add-on
## 
############################################################## 
## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD 
############################################################## 

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

# 
#-----[ FIND ]------------------------------------------------ 
# 
// 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&amp;" . POST_USERS_URL . "=" . $todayrow['user_id']) . '"' . $style_color .'>' . $todayrow['username'] . '</a>,' : (($userdata[user_level]==ADMIN) ? ' <a href="' . append_sid("profile.$phpEx?mode=viewprofile&amp;" . 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


#
#-----[ REPLACE WITH ]-----------------------------------------
#
//
// Nous devons placer ce code, une fois compatible avec le
// extend rank color, aprs avoir inclut le page_header
//

#
#-----[ FIND ]------------------------------------------------
#
	//
	// Start output of page
	//
	define('SHOW_ONLINE', true);
	$page_title = $lang['Index'];
	include($phpbb_root_path . 'includes/page_header.'.$phpEx);
# 
#-----[ AFTER, ADD ]------------------------------------------ 
#

// Start add - Last visit MOD, & extend rank color
	$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,user_whosonline_color 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++;
		}
		if ( $user_group_color[$todayrow['user_id']] )
		{
			$todayrow['username'] = '<b>' . $todayrow['username'] . '</b>';
			$style_color .= 'style="color:' . $user_group_color[$todayrow['user_id']] . '"';
		}
		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;
		}
		if ( $todayrow['user_whosonline_color'] )
		{
			$todayrow['username'] = '<b>' . $todayrow['username'] . '</b>';
			$style_color = 'style="color:' . $id_color[$todayrow[user_whosonline_color]] . '"';
		}
		$users_today_list.=( $todayrow['user_allow_viewonline'])?' <a href="' . append_sid("profile.$phpEx?mode=viewprofile&amp;" . POST_USERS_URL . "=" . $todayrow['user_id']) . '"' . $style_color .'>' . $todayrow['username'] . '</a>,' : (($userdata[user_level]==ADMIN) ? ' <a href="' . append_sid("profile.$phpEx?mode=viewprofile&amp;" . 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, & extend rank color

# 
#-----[ SAVE/CLOSE ALL FILES ]-------------------------------- 
# 
# EoM