##############################################################
## MOD Title: Update CrackerTracker Professional v5.0.0 to v5.0.1
## MOD Author: cback < webmaster@cback.de > (Christian Knerr) http://www.cback.de
##############################################################
## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD 
##############################################################
## No database Update required!
## But I bet someone will ask where the DB Update File for this Update is located... ;-)
##############################################################
#
#-----[ DIY INSTRUCTIONS ]------------------------------------------
#
Please upload all included files (you can find them into the folder root/)
to the correct position of your Board. Overwrite all files from your existing
CrackerTracker. You don't have to upload ctracker/logfiles !


#
#-----[ OPEN ]------------------------------------------
#
includes/page_header.php


#
#-----[ FIND ]------------------------------------------
#
/*
 * CrackerTracker IP Range Scanner
 */
if ( $HTTP_GET_VARS['marknow'] == 'ipfeature' && $userdata['session_logged_in'] )
{
	// Mark Global Message as read
	$userdata['ct_last_ip'] = $userdata['ct_last_used_ip'];
	$sql = 'UPDATE ' . USERS_TABLE . ' SET ct_last_ip = ct_last_used_ip WHERE user_id=' . $userdata['user_id'];
	if ( !($result = $db->sql_query($sql)) )
	{
		message_die(GENERAL_ERROR, $lang['ctracker_error_updating_userdata'], '', __LINE__, __FILE__, $sql);
	}
}

if ( $ctracker_config->settings['login_ip_check'] == 1 && $userdata['ct_enable_ip_warn'] == 1 && $userdata['session_logged_in'] )
{
	include_once($phpbb_root_path . '/ctracker/classes/class_ct_userfunctions.' . $phpEx);
	$ctracker_user = new ct_userfunctions();
	$check_ip_range = $ctracker_user->check_ip_range();
	
	if ( $check_ip_range != 'allclear' )
	{
		$template->assign_block_vars('ctracker_message', array(
				'ROW_COLOR'			=> 'FFDFDF',
				'ICON_GLOB'			=> $images['ctracker_note'],
				'L_MESSAGE_TEXT'	=> $check_ip_range,
				'L_MARK_MESSAGE'	=> $lang['ctracker_gmb_markip'],
				'U_MARK_MESSAGE'	=> append_sid('index.' . $phpEx . '?marknow=ipfeature'))
		);
	}
}

/*
 * CrackerTracker Global Message Function
 */
 
if ( $HTTP_GET_VARS['marknow'] == 'globmsg' && $userdata['session_logged_in'] )
{
	// Mark Global Message as read
	$userdata['ct_global_msg_read'] = 0;
	$sql = 'UPDATE ' . USERS_TABLE . ' SET ct_global_msg_read = 0 WHERE user_id=' . $userdata['user_id'];
	if ( !($result = $db->sql_query($sql)) )
	{
		message_die(GENERAL_ERROR, $lang['ctracker_error_updating_userdata'], '', __LINE__, __FILE__, $sql);
	}
}
 
if ( $userdata['ct_global_msg_read'] == 1 && $userdata['session_logged_in'] )
{
	// Output Global Message
	$global_message_output = '';
	
	if ( $ctracker_config->settings['global_message_type'] == 1 )
	{
		$global_message_output = $ctracker_config->settings['global_message'];
	}
	else
	{
		$global_message_output = sprintf($lang['ctracker_gmb_link'], $ctracker_config->settings['global_message'], $ctracker_config->settings['global_message']);
	}

	$template->assign_block_vars('ctracker_message', array(
			'ROW_COLOR'			=> 'E1FFDF',
			'ICON_GLOB'			=> $images['ctracker_note'],
			'L_MESSAGE_TEXT'	=> $global_message_output,
			'L_MARK_MESSAGE'	=> $lang['ctracker_gmb_mark'],
			'U_MARK_MESSAGE'	=> append_sid('index.' . $phpEx . '?marknow=globmsg'))
	);
}

(($ctracker_config->settings['login_history'] == 1 || $ctracker_config->settings['login_ip_check'] == 1) && $userdata['session_logged_in'])? $template->assign_block_vars('login_sec_link', array()): null;

/*
 * CrackerTracker Password Expirement Check
 */
if ( $userdata['session_logged_in'] && $ctracker_config->settings['pw_control'] == 1 )
{
	if ( time() > $userdata['ct_last_pw_reset'] )
	{
		$template->assign_block_vars('ctracker_message', array(
			'ROW_COLOR'			=> 'FFDFDF',
			'ICON_GLOB'			=> $images['ctracker_note'],
			'L_MESSAGE_TEXT'	=> sprintf($lang['ctracker_info_pw_expired'], $ctracker_config->settings['pwreset_time']),
			'L_MARK_MESSAGE'	=> '',
			'U_MARK_MESSAGE'	=> '')
		);
	}
}


#
#-----[ REPLACE WITH ]------------------------------------------
#
/*
 * CrackerTracker IP Range Scanner
 */
if ( $HTTP_GET_VARS['marknow'] == 'ipfeature' && $userdata['session_logged_in'] )
{
	// Mark IP Feature Read
	$userdata['ct_last_ip'] = $userdata['ct_last_used_ip'];
	$sql = 'UPDATE ' . USERS_TABLE . ' SET ct_last_ip = ct_last_used_ip WHERE user_id=' . $userdata['user_id'];
	if ( !($result = $db->sql_query($sql)) )
	{
		message_die(GENERAL_ERROR, $lang['ctracker_error_updating_userdata'], '', __LINE__, __FILE__, $sql);
	}
	preg_match('#/([^/]*?)$#', $HTTP_SERVER_VARS['HTTP_REFERER'], $backlink);
	redirect($backlink[1]);
}

if ( $ctracker_config->settings['login_ip_check'] == 1 && $userdata['ct_enable_ip_warn'] == 1 && $userdata['session_logged_in'] )
{
	include_once($phpbb_root_path . '/ctracker/classes/class_ct_userfunctions.' . $phpEx);
	$ctracker_user = new ct_userfunctions();
	$check_ip_range = $ctracker_user->check_ip_range();
	
	if ( $check_ip_range != 'allclear' )
	{
		$template->assign_block_vars('ctracker_message', array(
				'ROW_COLOR'			=> 'FFDFDF',
				'ICON_GLOB'			=> $images['ctracker_note'],
				'L_MESSAGE_TEXT'	=> $check_ip_range,
				'L_MARK_MESSAGE'	=> $lang['ctracker_gmb_markip'],
				'U_MARK_MESSAGE'	=> append_sid('index.' . $phpEx . '?marknow=ipfeature'))
		);
	}
}

/*
 * CrackerTracker Global Message Function
 */
 
if ( $HTTP_GET_VARS['marknow'] == 'globmsg' && $userdata['session_logged_in'] )
{
	// Mark Global Message as read
	$userdata['ct_global_msg_read'] = 0;
	$sql = 'UPDATE ' . USERS_TABLE . ' SET ct_global_msg_read = 0 WHERE user_id=' . $userdata['user_id'];
	if ( !($result = $db->sql_query($sql)) )
	{
		message_die(GENERAL_ERROR, $lang['ctracker_error_updating_userdata'], '', __LINE__, __FILE__, $sql);
	}
	preg_match('#/([^/]*?)$#', $HTTP_SERVER_VARS['HTTP_REFERER'], $backlink);
	redirect($backlink[1]);
}
 
if ( $userdata['ct_global_msg_read'] == 1 && $userdata['session_logged_in'] )
{
	// Output Global Message
	$global_message_output = '';
	
	if ( $ctracker_config->settings['global_message_type'] == 1 )
	{
		$global_message_output = $ctracker_config->settings['global_message'];
	}
	else
	{
		$global_message_output = sprintf($lang['ctracker_gmb_link'], $ctracker_config->settings['global_message'], $ctracker_config->settings['global_message']);
	}

	$template->assign_block_vars('ctracker_message', array(
			'ROW_COLOR'			=> 'E1FFDF',
			'ICON_GLOB'			=> $images['ctracker_note'],
			'L_MESSAGE_TEXT'	=> $global_message_output,
			'L_MARK_MESSAGE'	=> $lang['ctracker_gmb_mark'],
			'U_MARK_MESSAGE'	=> append_sid('index.' . $phpEx . '?marknow=globmsg'))
	);
}

(($ctracker_config->settings['login_history'] == 1 || $ctracker_config->settings['login_ip_check'] == 1) && $userdata['session_logged_in'])? $template->assign_block_vars('login_sec_link', array()): null;

/*
 * CrackerTracker Password Expirement Check
 */
if ( $userdata['session_logged_in'] && $ctracker_config->settings['pw_control'] == 1 )
{
	if ( time() > $userdata['ct_last_pw_reset'] )
	{
		$template->assign_block_vars('ctracker_message', array(
			'ROW_COLOR'			=> 'FFDFDF',
			'ICON_GLOB'			=> $images['ctracker_note'],
			'L_MESSAGE_TEXT'	=> sprintf($lang['ctracker_info_pw_expired'], $ctracker_config->settings['pw_validity']),
			'L_MARK_MESSAGE'	=> '',
			'U_MARK_MESSAGE'	=> '')
		);
	}
}


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