diff --git a/htdocs/admin/system/dolibarr.php b/htdocs/admin/system/dolibarr.php index 4cd85527da7..e216b55cbd4 100644 --- a/htdocs/admin/system/dolibarr.php +++ b/htdocs/admin/system/dolibarr.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2005-2011 Laurent Destailleur * Copyright (C) 2007 Rodolphe Quiedeville * * This program is free software; you can redistribute it and/or modify @@ -165,20 +165,27 @@ $var=!$var; print '=> price(1234.56)'.price(1234.56).''; //print ''.$langs->trans("TimeZone").''.$langs->trans("Value").''."\n"; // Timezone -// PHP server -$var=!$var; -print ''.$langs->trans("OSTZ").' (variable system TZ)'.$_ENV["TZ"].''."\n"; -$var=!$var; -print ''.$langs->trans("PHPTZ").' (php.ini date.timezone)'.ini_get("date.timezone").''."\n"; // date.timezone must be in valued defined in http://fr3.php.net/manual/en/timezones.europe.php + +$txt =$langs->trans("OSTZ").' (variable system TZ): '.$_ENV["TZ"].'
'."\n"; +$txt.=$langs->trans("PHPTZ").' (php.ini date.timezone): '.ini_get("date.timezone").''."\n"; // date.timezone must be in valued defined in http://fr3.php.net/manual/en/timezones.europe.php + if (function_exists('date_default_timezone_get')) { $var=!$var; - print '=> '.$langs->trans("CurrentTimeZone").''; // Timezone server PHP - print date_default_timezone_get(); + print ''.$langs->trans("CurrentTimeZone").''; // Timezone server PHP + $a=date_default_timezone_get(); + $a.=' ('.(-dol_mktime(0,0,0,1,1,1970)>0?'+':'').(-dol_mktime(0,0,0,1,1,1970)).')'; + print $form->textwithtooltip($a,$txt,2,1,img_info()); print ''."\n"; // value defined in http://fr3.php.net/manual/en/timezones.europe.php } -$var=!$var; -print '=> '.$langs->trans("PHPServerOffsetWithGreenwich").''.(-dol_mktime(0,0,0,1,1,1970)>0?'+':'').(-dol_mktime(0,0,0,1,1,1970)).''."\n"; +else +{ + $var=!$var; + print ''.$langs->trans("PHPServerOffsetWithGreenwich").''; + $a=(-dol_mktime(0,0,0,1,1,1970)>0?'+':'').(-dol_mktime(0,0,0,1,1,1970)); + print $form->textwithtooltip($a,$txt,2,1,img_info()); + print ''."\n"; +} $var=!$var; print '=> '.$langs->trans("CurrentHour").''.dol_print_date(dol_now(),'dayhour','tzserver').''."\n"; $var=!$var; @@ -195,9 +202,11 @@ $var=!$var; print '=> '.$langs->trans("CompanyHour").''.$langs->trans("FeatureNotYetAvailable").''."\n"; # Client $var=!$var; -print ''.$langs->trans("ClientTZ").''.($_SESSION['dol_tz']!=''?($_SESSION['dol_tz']>=0?'+':'').$_SESSION['dol_tz']:'').''."\n"; +print ''.$langs->trans("ClientTZ").''.($_SESSION['dol_tz']!=''?($_SESSION['dol_tz']>=0?'+':'').$_SESSION['dol_tz']:'').' ('.($_SESSION['dol_tz']>=0?'+':'').($_SESSION['dol_tz']*60*60).')'."\n"; +//$var=!$var; +//print '=> '.$langs->trans("ClientOffsetWithGreenwich").''..''."\n"; $var=!$var; -print '=> '.$langs->trans("ClientOffsetWithGreenwich").''.($_SESSION['dol_tz']>=0?'+':'').($_SESSION['dol_tz']*60*60).''."\n"; +print ''.$langs->trans("DaylingSavingTime").''.($_SESSION['dol_dst']>=0?yn(1):yn(0)).' ('.($_SESSION['dol_dst']>=0?'+':'').($_SESSION['dol_dst']*60*60).')'."\n"; $var=!$var; print '=> '.$langs->trans("ClientHour").''.dol_print_date(dol_now(),'dayhour','tzuser').''."\n"; #print "=> ".$langs->trans("ClientHour")."".$langs->trans("FeatureNotYetAvailable")."\n"; diff --git a/htdocs/langs/en_US/admin.lang b/htdocs/langs/en_US/admin.lang index 92f07510518..a975bfaead8 100644 --- a/htdocs/langs/en_US/admin.lang +++ b/htdocs/langs/en_US/admin.lang @@ -106,7 +106,8 @@ OSTZ=Time Zone OS server PHPTZ=Time Zone PHP server PHPServerOffsetWithGreenwich=PHP server offset width Greenwich (seconds) ClientOffsetWithGreenwich=Client/Browser offset width Greenwich (seconds) -CurrentHour=PHP server hour +DaylingSavingTime=Daylight saving time (user) +CurrentHour=Hour PHP (server) CompanyTZ= Time Zone company (main company) CompanyHour= Hour company (main company) CurrentSessionTimeOut=Current session timeout diff --git a/htdocs/langs/fr_FR/admin.lang b/htdocs/langs/fr_FR/admin.lang index d596ccc3e3c..a8d67bf54fa 100644 --- a/htdocs/langs/fr_FR/admin.lang +++ b/htdocs/langs/fr_FR/admin.lang @@ -107,7 +107,8 @@ OSTZ= Time Zone OS PHPTZ= Time Zone config PHP PHPServerOffsetWithGreenwich= Offset serveur PHP avec Greenwich (secondes) ClientOffsetWithGreenwich= Offset client/navigateur avec Greenwich (secondes) -CurrentHour= Heure serveur PHP +DaylingSavingTime=Heure d'été (utilisateur) +CurrentHour= Heure PHP (serveur) CompanyTZ= Time Zone société (maison mère) CompanyHour= Heure société (maison mère) CurrentSessionTimeOut= Time out session courante diff --git a/htdocs/lib/functions.lib.php b/htdocs/lib/functions.lib.php index b6e76c5ee9a..f76afe9565d 100644 --- a/htdocs/lib/functions.lib.php +++ b/htdocs/lib/functions.lib.php @@ -558,27 +558,27 @@ function dol_print_date($time,$format='',$tzoutput='tzserver',$outputlangs='',$e global $conf,$langs; $to_gmt=false; - $offset=0; + $offsettz=$offsetdst=0; if ($tzoutput) { $to_gmt=true; // For backward compatibility - $offset=0; if (is_string($tzoutput)) { if ($tzoutput == 'tzserver') { $to_gmt=false; - $offset=0; + $offsettz=$offsetdst=0; } if ($tzoutput == 'tzuser') { $to_gmt=true; - $offset=(empty($_SESSION['dol_tz'])?0:$_SESSION['dol_tz'])*60*60; + $offsettz=(empty($_SESSION['dol_tz'])?0:$_SESSION['dol_tz'])*60*60; + $offsetdst=(empty($_SESSION['dol_dst'])?0:$_SESSION['dol_dst'])*60*60; } if ($tzoutput == 'tzcompany') { $to_gmt=false; - $offset=0; // TODO Define this and use it later + $offsettz=$offsetdst=0; // TODO Define this and use it later } } } @@ -639,14 +639,14 @@ function dol_print_date($time,$format='',$tzoutput='tzserver',$outputlangs='',$e $ssec = $reg[6]; $time=dol_mktime($shour,$smin,$ssec,$smonth,$sday,$syear,true); - $ret=adodb_strftime($format,$time+$offset,$to_gmt); + $ret=adodb_strftime($format,$time+$offsettz+$offsetdst,$to_gmt); } else { // Date is a timestamps if ($time < 100000000000) // Protection against bad date values { - $ret=adodb_strftime($format,$time+$offset,$to_gmt); + $ret=adodb_strftime($format,$time+$offsettz+$offsetdst,$to_gmt); } else $ret='Bad value '.$time.' for date'; } @@ -654,7 +654,7 @@ function dol_print_date($time,$format='',$tzoutput='tzserver',$outputlangs='',$e if (preg_match('/__b__/i',$format)) { // Here ret is string in PHP setup language (strftime was used). Now we convert to $outputlangs. - $month=adodb_strftime('%m',$time+$offset); + $month=adodb_strftime('%m',$time+$offsettz+$offsetdst); if ($encodetooutput) { $monthtext=$outputlangs->transnoentities('Month'.$month); @@ -673,7 +673,7 @@ function dol_print_date($time,$format='',$tzoutput='tzserver',$outputlangs='',$e } if (preg_match('/__a__/i',$format)) { - $w=adodb_strftime('%w',$time+$offset); + $w=adodb_strftime('%w',$time+$offsettz+$offsetdst); $dayweek=$outputlangs->transnoentitiesnoconv('Day'.$w); $ret=str_replace('__A__',$dayweek,$ret); $ret=str_replace('__a__',dol_substr($dayweek,0,3),$ret);