############################################################## 
## MOD Title:          Upgrade for Advanced time management
## MOD Author:         -=ET=- < space_et@tiscali.fr > (n/a) http://www.golfexpert.net/phpbb
## MOD Description:    This MOD will allow you to upgrade your
##                     Daylight Saving Time management MOD
##                     from 2.0.0 to 2.0.1
## MOD Version:        1.0.0
## Compatibility:      2.0.5->2.0.6 (prior release not tested)
##
## Installation Level: Easy
## Installation Time:  5 Minutes (1mn by EasyMOD of Nuttzy)
## Files To Edit:      5
##      admin/admin_board.php
##      admin/admin_users.php
##      includes/functions.php
##      includes/page_header.php
##      includes/usercp_register.php
##
## Included Files:     6
##      root/includes/pc_time_data.php
##      root/language/lang_english/lang_adv_time.php 
##      root/language/lang_french/lang_adv_time.php
##      root/language/lang_german/lang_adv_time.php 
##      root/language/lang_italian/lang_adv_time.php
##      root/language/lang_spanish/lang_adv_time.php
##
############################################################## 
## 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: 
## 
## Advanced time management MOD 2.0.0 needs
## to be already installed!!!
##
## 1. EasyMOD
## -----------
## This MOD is compatible and can be installed by EasyMOD
## of Nuttzy (but is not officially EasyMOD Compliant)!
## http://area51.phpbb.com/phpBB22/viewforum.php?sid=&f=15
##
## However, on alpha releases of EM and meanwhile beta or 
## final release some actions are NOT performed.
## You'll have to do them manually !
##
## 1.1 SQL commands are not performed
## -----------
## No database update is needed.
##
## 1.2 Translation are not managed
## -----------
## Moreover, EM can not already manage actions for any other
## language than English (but language intructions are proceed
## to all installed languages in order to prevent errors).
## So the translations provided with this MOD must be installed
## manually if you need them.
## For this MOD, copy lang_adv_time.php file(s) manually from
## their root/language/lang_xxx directories to their respective
## language/lang_xxx directories in the phpBB root dir.
##
## 2 Official last version link
## -----------
## Meanwhile the phpBB group validation and as the MOD is not yet
## in the phpBB MOD database, check this official link for updates...
## http://www.golfexpert.net/phpBB
##
## 3 Special note for www.free.fr
## -----------
## This MOD uses session variables but with this host you must
## create a "sessions" directory in your FTP root directory in
## order to make this kind of variable available.
##
## Special thanks!
## -----------
## A very big thank you to Mara's dad for its advices in JavaScript!
## He prevents me from becoming crazy with computer settings modes! lol ;-)
## 
############################################################## 
## MOD History: 
## 
##   2003-11-28 - Version 1.0.0
##      - Initial release
##
############################################################## 
## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD 
############################################################## 
#
#-----[ COPY ]------------------------------------------------
#
copy root/includes/pc_time_data.php to includes/pc_time_data.php
copy root/language/lang_english/lang_adv_time.php to language/lang_english/lang_adv_time.php

#
# Because EM 0.0.10a can not already manage files for not
# necessarily existing language, language provide with this MOD can
# not be automatically installed (if I add the above instruction it
# can cause an installation error). So, if you need this language
# copy this file manually.
#
# copy root/language/lang_french/lang_adv_time.php to language/lang_french/lang_adv_time.php
# copy root/language/lang_german/lang_adv_time.php to language/lang_german/lang_adv_time.php
# copy root/language/lang_italian/lang_adv_time.php to language/lang_italian/lang_adv_time.php
# copy root/language/lang_spanish/lang_adv_time.php to language/lang_spanish/lang_adv_time.php
#

# 
#-----[ OPEN ]------------------------------------------------ 
# 
admin/admin_board.php 

# 
#-----[ FIND ]------------------------------------------------
# 
// Start add - Advanced time management MOD
include($phpbb_root_path . 'language/lang_' . $board_config['default_lang'] . '/lang_adv_time.' . $phpEx);
// End add - Advanced time management MOD

# 
#-----[ REPLACE WITH ]---------------------------------------- 
# 
// Start add - Advanced time management MOD
if ( !file_exists(@phpbb_realpath($phpbb_root_path . 'language/lang_' . $board_config['default_lang'] . '/lang_adv_time.' . $phpEx)) ) 
{ 
	include($phpbb_root_path . 'language/lang_english/lang_adv_time.' . $phpEx); 
} else 
{ 
	include($phpbb_root_path . 'language/lang_' . $board_config['default_lang'] . '/lang_adv_time.' . $phpEx); 
} 
// End add - Advanced time management MOD
# 
#-----[ OPEN ]------------------------------------------------
# 
admin/admin_users.php

# 
#-----[ FIND ]------------------------------------------------
# 
// Start add - Advanced time management MOD
include($phpbb_root_path . 'language/lang_' . $board_config['default_lang'] . '/lang_adv_time.' . $phpEx);
// End add - Advanced time management MOD

# 
#-----[ REPLACE WITH ]---------------------------------------- 
# 
// Start add - Advanced time management MOD
if ( !file_exists(@phpbb_realpath($phpbb_root_path . 'language/lang_' . $board_config['default_lang'] . '/lang_adv_time.' . $phpEx)) ) 
{ 
	include($phpbb_root_path . 'language/lang_english/lang_adv_time.' . $phpEx); 
} else 
{ 
	include($phpbb_root_path . 'language/lang_' . $board_config['default_lang'] . '/lang_adv_time.' . $phpEx); 
} 
// End add - Advanced time management MOD
# 
#-----[ FIND ]------------------------------------------------ 
# 
// Start add - Advanced time management MOD
$time_mode = ( isset($_POST['time_mode']) ) ? intval ($_POST['time_mode']) : $board_config['default_time_mode'];
if ( !eregi("[^0-9]",$_POST['dst_time_lag']) )
{
	$dst_time_lag = ( isset($_POST['dst_time_lag']) ) ? intval  ($_POST['dst_time_lag']) : $board_config['default_dst_time_lag'];
}
// End add - Advanced time management MOD

#
#-----[ REPLACE WITH ]---------------------------------------- 
# 
// Start add - Advanced time management MOD
$time_mode = ( isset($HTTP_POST_VARS['time_mode']) ) ? intval ($HTTP_POST_VARS['time_mode']) : $board_config['default_time_mode'];
if ( !eregi("[^0-9]",$HTTP_POST_VARS['dst_time_lag']) )
{
	$dst_time_lag = ( isset($HTTP_POST_VARS['dst_time_lag']) ) ? intval  ($HTTP_POST_VARS['dst_time_lag']) : $board_config['default_dst_time_lag'];
}
// End add - Advanced time management MOD
# 
#-----[ FIND ]------------------------------------------------ 
# 
// Start add - Advanced time management MOD
if ( eregi("[^0-9]",$_POST['dst_time_lag']) || $dst_time_lag<0 || $dst_time_lag>120 )
{
	$error = TRUE;
	$error_msg .= ( ( isset($error_msg) ) ? '<br />' : '' ) . $lang['dst_time_lag_error'];
}
// End add - Advanced time management MOD

#
#-----[ REPLACE WITH ]---------------------------------------- 
# 
// Start add - Advanced time management MOD
if ( eregi("[^0-9]",$HTTP_POST_VARS['dst_time_lag']) || $dst_time_lag<0 || $dst_time_lag>120 )
{
	$error = TRUE;
	$error_msg .= ( ( isset($error_msg) ) ? '<br />' : '' ) . $lang['dst_time_lag_error'];
}
// End add - Advanced time management MOD
# 
#-----[ OPEN ]------------------------------------------------ 
#
includes/functions.php 

# 
#-----[ FIND ]------------------------------------------------ 
# 
// Start replacement - Advanced time management MOD
if ( $userdata['user_id'] != ANONYMOUS )
{
	switch ( $userdata['user_time_mode'] )
	{
		case 1:
			$dst_sec = $userdata['user_dst_time_lag'] * 60;
			return ( !empty($translate) ) ? strtr(@gmdate($format, $gmepoch + (3600 * $tz) + $dst_sec), $translate) : @gmdate($format, $gmepoch + (3600 * $tz) + $dst_sec);
			break;
		case 2:
			$dst_sec = date('I', $gmepoch) * $userdata['user_dst_time_lag'] * 60;
			return ( !empty($translate) ) ? strtr(@gmdate($format, $gmepoch + (3600 * $tz) + $dst_sec), $translate) : @gmdate($format, $gmepoch + (3600 * $tz) + $dst_sec);
			break;
		case 3:
			return ( !empty($translate) ) ? strtr(@date($format, $gmepoch), $translate) : @date($format, $gmepoch);
			break;
		case 4:
		case 5:
			if ( !($board_config['gzip_compress']==1 && ob_get_level()==0) )
			{
				@ini_set('arg_separator.output', '&amp;');
				session_start();
			}

			if ( isset($_SESSION['pc_timezoneoffset']) )
			{
				$tzo_sec = $_SESSION['pc_timezoneoffset'] * (-60);
			} else
			{
				$tzo_sec = $userdata['user_pc_time_offset'];
			}
			return ( !empty($translate) ) ? strtr(@gmdate($format, $gmepoch + $tzo_sec), $translate) : @gmdate($format, $gmepoch + $tzo_sec); 
			break;
		case 6:
			if ( !($board_config['gzip_compress']==1 && ob_get_level()==0) )
			{
				@ini_set('arg_separator.output', '&amp;');
				session_start();
			}

			if ( isset($_SESSION['pc_time_offset']) )
			{
				$tzo_sec = $_SESSION['pc_time_offset'];
			} else
			{
				$tzo_sec = $userdata['user_pc_time_offset'];
			}
			return ( !empty($translate) ) ? strtr(@gmdate($format, $gmepoch + $tzo_sec), $translate) : @gmdate($format, $gmepoch + $tzo_sec); 
			break;
		default:
			return ( !empty($translate) ) ? strtr(@gmdate($format, $gmepoch + (3600 * $tz)), $translate) : @gmdate($format, $gmepoch + (3600 * $tz)); 
			break;
	}
} else
{
	switch ( $board_config['default_time_mode'] )
	{
		case 1:
			$dst_sec = $board_config['default_dst_time_lag'] * 60;
			return ( !empty($translate) ) ? strtr(@gmdate($format, $gmepoch + (3600 * $tz) + $dst_sec), $translate) : @gmdate($format, $gmepoch + (3600 * $tz) + $dst_sec);
			break;
		case 2:
			$dst_sec = date('I', $gmepoch) * $board_config['default_dst_time_lag'] * 60; 
			return ( !empty($translate) ) ? strtr(@gmdate($format, $gmepoch + (3600 * $tz) + $dst_sec), $translate) : @gmdate($format, $gmepoch + (3600 * $tz) + $dst_sec);
			break;
		case 3:
			return ( !empty($translate) ) ? strtr(@date($format, $gmepoch), $translate) : @date($format, $gmepoch);
			break;
		case 4:
		case 5:
			if ( !($board_config['gzip_compress']==1 && ob_get_level()==0) )
			{
				@ini_set('arg_separator.output', '&amp;');
				session_start();
			}

			if ( isset($_SESSION['pc_timezoneoffset']) )
			{
				$tzo_sec = $_SESSION['pc_timezoneoffset'] * (-60);
			} else
			{
				$tzo_sec = $userdata['user_pc_time_offset'];
			}
			return ( !empty($translate) ) ? strtr(@gmdate($format, $gmepoch + $tzo_sec), $translate) : @gmdate($format, $gmepoch + $tzo_sec); 
			break;
		case 6:
			if ( !($board_config['gzip_compress']==1 && ob_get_level()==0) )
			{
				@ini_set('arg_separator.output', '&amp;');
				session_start();
			}

			if ( isset($_SESSION['pc_time_offset']) )
			{
				$tzo_sec = $_SESSION['pc_time_offset'];
			} else
			{
				$tzo_sec = $userdata['user_pc_time_offset'];
			}
			return ( !empty($translate) ) ? strtr(@gmdate($format, $gmepoch + $tzo_sec), $translate) : @gmdate($format, $gmepoch + $tzo_sec); 
			break;
		default:
			return ( !empty($translate) ) ? strtr(@gmdate($format, $gmepoch + (3600 * $tz)), $translate) : @gmdate($format, $gmepoch + (3600 * $tz)); 
			break;
	} 
}
// End replacement - Advanced time management MOD

# 
#-----[ REPLACE WITH ]---------------------------------------- 
#
// Start replacement - Advanced time management MOD
if ( $userdata['user_id'] != ANONYMOUS )
{
	switch ( $userdata['user_time_mode'] )
	{
		case 1:
			$dst_sec = $userdata['user_dst_time_lag'] * 60;
			return ( !empty($translate) ) ? strtr(@gmdate($format, $gmepoch + (3600 * $tz) + $dst_sec), $translate) : @gmdate($format, $gmepoch + (3600 * $tz) + $dst_sec);
			break;
		case 2:
			$dst_sec = date('I', $gmepoch) * $userdata['user_dst_time_lag'] * 60;
			return ( !empty($translate) ) ? strtr(@gmdate($format, $gmepoch + (3600 * $tz) + $dst_sec), $translate) : @gmdate($format, $gmepoch + (3600 * $tz) + $dst_sec);
			break;
		case 3:
			return ( !empty($translate) ) ? strtr(@date($format, $gmepoch), $translate) : @date($format, $gmepoch);
			break;
		case 4:
		case 5:
			if ( !($board_config['gzip_compress']==1 && ob_get_level()==0) )
			{
				@ini_set('arg_separator.output', '&amp;');
				session_start();
			}

			if ( isset($HTTP_SESSION_VARS['pc_timezoneoffset']) )
			{
				$tzo_sec = $HTTP_SESSION_VARS['pc_timezoneoffset'] * (-60);
			} else
			{
				$tzo_sec = $userdata['user_pc_time_offset'];
			}
			return ( !empty($translate) ) ? strtr(@gmdate($format, $gmepoch + $tzo_sec), $translate) : @gmdate($format, $gmepoch + $tzo_sec); 
			break;
		case 6:
			if ( !($board_config['gzip_compress']==1 && ob_get_level()==0) )
			{
				@ini_set('arg_separator.output', '&amp;');
				session_start();
			}

			if ( isset($HTTP_SESSION_VARS['pc_time_offset']) )
			{
				$tzo_sec = $HTTP_SESSION_VARS['pc_time_offset'];
			} else
			{
				$tzo_sec = $userdata['user_pc_time_offset'];
			}
			return ( !empty($translate) ) ? strtr(@gmdate($format, $gmepoch + $tzo_sec), $translate) : @gmdate($format, $gmepoch + $tzo_sec); 
			break;
		default:
			return ( !empty($translate) ) ? strtr(@gmdate($format, $gmepoch + (3600 * $tz)), $translate) : @gmdate($format, $gmepoch + (3600 * $tz)); 
			break;
	}
} else
{
	switch ( $board_config['default_time_mode'] )
	{
		case 1:
			$dst_sec = $board_config['default_dst_time_lag'] * 60;
			return ( !empty($translate) ) ? strtr(@gmdate($format, $gmepoch + (3600 * $tz) + $dst_sec), $translate) : @gmdate($format, $gmepoch + (3600 * $tz) + $dst_sec);
			break;
		case 2:
			$dst_sec = date('I', $gmepoch) * $board_config['default_dst_time_lag'] * 60; 
			return ( !empty($translate) ) ? strtr(@gmdate($format, $gmepoch + (3600 * $tz) + $dst_sec), $translate) : @gmdate($format, $gmepoch + (3600 * $tz) + $dst_sec);
			break;
		case 3:
			return ( !empty($translate) ) ? strtr(@date($format, $gmepoch), $translate) : @date($format, $gmepoch);
			break;
		case 4:
		case 5:
			if ( !($board_config['gzip_compress']==1 && ob_get_level()==0) )
			{
				@ini_set('arg_separator.output', '&amp;');
				session_start();
			}

			if ( isset($HTTP_SESSION_VARS['pc_timezoneoffset']) )
			{
				$tzo_sec = $HTTP_SESSION_VARS['pc_timezoneoffset'] * (-60);
			} else
			{
				$tzo_sec = $userdata['user_pc_time_offset'];
			}
			return ( !empty($translate) ) ? strtr(@gmdate($format, $gmepoch + $tzo_sec), $translate) : @gmdate($format, $gmepoch + $tzo_sec); 
			break;
		case 6:
			if ( !($board_config['gzip_compress']==1 && ob_get_level()==0) )
			{
				@ini_set('arg_separator.output', '&amp;');
				session_start();
			}

			if ( isset($HTTP_SESSION_VARS['pc_time_offset']) )
			{
				$tzo_sec = $HTTP_SESSION_VARS['pc_time_offset'];
			} else
			{
				$tzo_sec = $userdata['user_pc_time_offset'];
			}
			return ( !empty($translate) ) ? strtr(@gmdate($format, $gmepoch + $tzo_sec), $translate) : @gmdate($format, $gmepoch + $tzo_sec); 
			break;
		default:
			return ( !empty($translate) ) ? strtr(@gmdate($format, $gmepoch + (3600 * $tz)), $translate) : @gmdate($format, $gmepoch + (3600 * $tz)); 
			break;
	} 
}
// End replacement - Advanced time management MOD
# 
#-----[ OPEN ]------------------------------------------------ 
#
includes/page_header.php 

# 
#-----[ FIND ]------------------------------------------------ 
#
// Start add - Advanced time management MOD
include($phpbb_root_path . 'language/lang_' . $board_config['default_lang'] . '/lang_adv_time.' . $phpEx);

global $userdata;

if ( ($userdata['user_id'] != ANONYMOUS && $userdata['user_time_mode'] >= 4) || ($userdata['user_id'] == ANONYMOUS && $board_config['default_time_mode'] >= 4) )
{
	@ini_set('arg_separator.output', '&amp;');
	session_start();

	if ( !isset($_SESSION['pc_timezoneoffset']) && !isset($_POST['pc_timezoneoffset']) )
	{
		$template->assign_block_vars('switch_pc_time_data_search', array());
	} else
	{
		$template->assign_block_vars('switch_no_pc_time_data_search', array());
	}
} else
{
	$template->assign_block_vars('switch_no_pc_time_data_search', array());
}
// End add - Advanced time management MOD

# 
#-----[ REPLACE WITH ]---------------------------------------- 
# 
// Start add - Advanced time management MOD
if ( !file_exists(@phpbb_realpath($phpbb_root_path . 'language/lang_' . $board_config['default_lang'] . '/lang_adv_time.' . $phpEx)) ) 
{ 
	include($phpbb_root_path . 'language/lang_english/lang_adv_time.' . $phpEx); 
} else 
{ 
	include($phpbb_root_path . 'language/lang_' . $board_config['default_lang'] . '/lang_adv_time.' . $phpEx); 
} 

global $userdata;

if ( ($userdata['user_id'] != ANONYMOUS && $userdata['user_time_mode'] >= 4) || ($userdata['user_id'] == ANONYMOUS && $board_config['default_time_mode'] >= 4) )
{
	@ini_set('arg_separator.output', '&amp;');
	session_start();

	if ( !isset($HTTP_SESSION_VARS['pc_timezoneoffset']) && !isset($HTTP_POST_VARS['pc_timezoneoffset']) )
	{
		$template->assign_block_vars('switch_pc_time_data_search', array());
	} else
	{
		$template->assign_block_vars('switch_no_pc_time_data_search', array());
	}
} else
{
	$template->assign_block_vars('switch_no_pc_time_data_search', array());
}
// End add - Advanced time management MOD
# 
#-----[ OPEN ]------------------------------------------------ 
# 
includes/usercp_register.php 

# 
#-----[ FIND ]------------------------------------------------ 
# 
// Start add - Advanced time management MOD
include($phpbb_root_path . 'language/lang_' . $board_config['default_lang'] . '/lang_adv_time.' . $phpEx);
// End add - Advanced time management MOD

# 
#-----[ REPLACE WITH ]---------------------------------------- 
# 
// Start add - Advanced time management MOD
if ( !file_exists(@phpbb_realpath($phpbb_root_path . 'language/lang_' . $board_config['default_lang'] . '/lang_adv_time.' . $phpEx)) ) 
{ 
	include($phpbb_root_path . 'language/lang_english/lang_adv_time.' . $phpEx); 
} else 
{ 
	include($phpbb_root_path . 'language/lang_' . $board_config['default_lang'] . '/lang_adv_time.' . $phpEx); 
} 
// End add - Advanced time management MOD
# 
#-----[ FIND ]------------------------------------------------ 
# 
// Start add - Advanced time management MOD
$time_mode = ( isset($_POST['time_mode']) ) ? intval ($_POST['time_mode']) : $board_config['default_time_mode'];

if ( eregi("[^0-9]",$_POST['dst_time_lag']) || $dst_time_lag<0 || $dst_time_lag>120 )
{
	$error = TRUE;
	$error_msg .= ( ( isset($error_msg) ) ? '<br />' : '' ) . $lang['dst_time_lag_error'];
}
else
{
$dst_time_lag = ( isset($_POST['dst_time_lag']) ) ? intval ($_POST['dst_time_lag']) : $board_config['default_dst_time_lag'];
}
// End add - Advanced time management MOD

# 
#-----[ REPLACE WITH ]---------------------------------------- 
# 
// Start add - Advanced time management MOD
$time_mode = ( isset($HTTP_POST_VARS['time_mode']) ) ? intval ($HTTP_POST_VARS['time_mode']) : $board_config['default_time_mode'];

if ( eregi("[^0-9]",$HTTP_POST_VARS['dst_time_lag']) || $dst_time_lag<0 || $dst_time_lag>120 )
{
	$error = TRUE;
	$error_msg .= ( ( isset($error_msg) ) ? '<br />' : '' ) . $lang['dst_time_lag_error'];
}
else
{
$dst_time_lag = ( isset($HTTP_POST_VARS['dst_time_lag']) ) ? intval ($HTTP_POST_VARS['dst_time_lag']) : $board_config['default_dst_time_lag'];
}
// End add - Advanced time management MOD
# 
#-----[ SAVE/CLOSE ALL FILES ]-------------------------------- 
# 
# EoM 
