forked from Wavyzz/dolibarr
Fix: Use dayling savint time
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
<?php
|
||||
/* Copyright (C) 2005-2010 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
/* Copyright (C) 2005-2011 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
* Copyright (C) 2007 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
@@ -165,20 +165,27 @@ $var=!$var;
|
||||
print '<tr '.$bc[$var].'><td width="300">=> price(1234.56)</td><td>'.price(1234.56).'</td>';
|
||||
//print '<tr class="liste_titre"><td>'.$langs->trans("TimeZone").'</td><td>'.$langs->trans("Value").'</td></tr>'."\n";
|
||||
// Timezone
|
||||
// PHP server
|
||||
$var=!$var;
|
||||
print '<tr '.$bc[$var].'><td width="300">'.$langs->trans("OSTZ").' (variable system TZ)</td><td>'.$_ENV["TZ"].'</td></tr>'."\n";
|
||||
$var=!$var;
|
||||
print '<tr '.$bc[$var].'><td width="300">'.$langs->trans("PHPTZ").' (php.ini date.timezone)</td><td>'.ini_get("date.timezone").'</td></tr>'."\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"].'<br>'."\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 '<tr '.$bc[$var].'><td width="300">=> '.$langs->trans("CurrentTimeZone").'</td><td>'; // Timezone server PHP
|
||||
print date_default_timezone_get();
|
||||
print '<tr '.$bc[$var].'><td width="300">'.$langs->trans("CurrentTimeZone").'</td><td>'; // 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 '</td></tr>'."\n"; // value defined in http://fr3.php.net/manual/en/timezones.europe.php
|
||||
}
|
||||
$var=!$var;
|
||||
print '<tr '.$bc[$var].'><td width="300">=> '.$langs->trans("PHPServerOffsetWithGreenwich").'</td><td>'.(-dol_mktime(0,0,0,1,1,1970)>0?'+':'').(-dol_mktime(0,0,0,1,1,1970)).'</td></tr>'."\n";
|
||||
else
|
||||
{
|
||||
$var=!$var;
|
||||
print '<tr '.$bc[$var].'><td width="300">'.$langs->trans("PHPServerOffsetWithGreenwich").'</td><td>';
|
||||
$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 '</td></tr>'."\n";
|
||||
}
|
||||
$var=!$var;
|
||||
print '<tr '.$bc[$var].'><td width="300">=> '.$langs->trans("CurrentHour").'</td><td>'.dol_print_date(dol_now(),'dayhour','tzserver').'</td></tr>'."\n";
|
||||
$var=!$var;
|
||||
@@ -195,9 +202,11 @@ $var=!$var;
|
||||
print '<tr '.$bc[$var].'><td width="300">=> '.$langs->trans("CompanyHour").'</td><td>'.$langs->trans("FeatureNotYetAvailable").'</td></tr>'."\n";
|
||||
# Client
|
||||
$var=!$var;
|
||||
print '<tr '.$bc[$var].'><td width="300">'.$langs->trans("ClientTZ").'</td><td>'.($_SESSION['dol_tz']!=''?($_SESSION['dol_tz']>=0?'+':'').$_SESSION['dol_tz']:'').'</td></tr>'."\n";
|
||||
print '<tr '.$bc[$var].'><td width="300">'.$langs->trans("ClientTZ").'</td><td>'.($_SESSION['dol_tz']!=''?($_SESSION['dol_tz']>=0?'+':'').$_SESSION['dol_tz']:'').' ('.($_SESSION['dol_tz']>=0?'+':'').($_SESSION['dol_tz']*60*60).')</td></tr>'."\n";
|
||||
//$var=!$var;
|
||||
//print '<tr '.$bc[$var].'><td width="300">=> '.$langs->trans("ClientOffsetWithGreenwich").'</td><td>'..'</td></tr>'."\n";
|
||||
$var=!$var;
|
||||
print '<tr '.$bc[$var].'><td width="300">=> '.$langs->trans("ClientOffsetWithGreenwich").'</td><td>'.($_SESSION['dol_tz']>=0?'+':'').($_SESSION['dol_tz']*60*60).'</td></tr>'."\n";
|
||||
print '<tr '.$bc[$var].'><td width="300">'.$langs->trans("DaylingSavingTime").'</td><td>'.($_SESSION['dol_dst']>=0?yn(1):yn(0)).' ('.($_SESSION['dol_dst']>=0?'+':'').($_SESSION['dol_dst']*60*60).')</td></tr>'."\n";
|
||||
$var=!$var;
|
||||
print '<tr '.$bc[$var].'><td width="300">=> '.$langs->trans("ClientHour").'</td><td>'.dol_print_date(dol_now(),'dayhour','tzuser').'</td></tr>'."\n";
|
||||
#print "<tr ".$bc[$var]."><td width=\"300\">=> ".$langs->trans("ClientHour")."</td><td>".$langs->trans("FeatureNotYetAvailable")."</td></tr>\n";
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user