##############################################################
## MOD Title: Update CrackerTracker Professional v5.0.2 to v5.0.3
## MOD Author: cback < webmaster@cback.de > (Christian Knerr) http://www.cback.de
## MOD Author: cYbercOsmOnauT < mods@cybercosmonaut.de > (Tekin Birdzen) http://www.cybercosmonaut.de
##############################################################
## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD 
##############################################################
## No database Update required!
##############################################################
#
#-----[ 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 you already uploaded before
but please pay attention:

There is a new logfile called logfile_debug_mode.txt ! You need to upload and CHMOD it to 777!

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


#
#-----[ FIND ]------------------------------------------
#
/*
 * 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'] && $ctracker_config->settings['global_message'] != '' )
{
	// 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'	=> '')
		);
	}
}


#
#-----[ 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);
	}
	if ( !empty($HTTP_SERVER_VARS['HTTP_REFERER']) )
	{
	  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);
	}
	if ( !empty($HTTP_SERVER_VARS['HTTP_REFERER']) )
	{
	  preg_match('#/([^/]*?)$#', $HTTP_SERVER_VARS['HTTP_REFERER'], $backlink);
	  redirect($backlink[1]);
	}
}

if ( $userdata['ct_global_msg_read'] == 1 && $userdata['session_logged_in'] && $ctracker_config->settings['global_message'] != '' )
{
	// 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'	=> '')
		);
	}
}

/*
 * CrackerTracker Debug Mode Check
 */
if ( CT_DEBUG_MODE === true && $userdata['user_level'] == ADMIN )
{
  $template->assign_block_vars('ctracker_message', array(
			'ROW_COLOR'			=> 'FFDFDF',
			'ICON_GLOB'			=> $images['ctracker_note'],
			'L_MESSAGE_TEXT'	=> $lang['ctracker_dbg_mode'],
			'L_MARK_MESSAGE'	=> '',
			'U_MARK_MESSAGE'	=> '')
  );
}


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


#
#-----[ FIND ]------------------------------------------
#
			(empty($new_time))? $new_time = time() + 20 * 60 : null;


#
#-----[ REPLACE WITH ]------------------------------------------
#
			(empty($ctracker_config->settings['pwreset_time']))? $new_time = time() + 20 * 60 : null;
			

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