Custom (user) timezone

This commit is contained in:
2019-10-19 20:57:09 +02:00
parent 181baffbe3
commit 229aeedea9

View File

@@ -53,7 +53,7 @@ abstract class Main extends PhpObject
* @param ClassManagement $oClassManagement * @param ClassManagement $oClassManagement
* @param string $sLang * @param string $sLang
*/ */
public function __construct($oClassManagement, $sProcessPage, $asMandatoryClasses=array(), $bDb=true, $sFile=__FILE__) public function __construct($oClassManagement, $sProcessPage, $asMandatoryClasses=array(), $bDb=true, $sTimeZone='', $sFile=__FILE__)
{ {
parent::__construct($sFile, Settings::DEBUG); parent::__construct($sFile, Settings::DEBUG);
$this->oClassManagement = $oClassManagement; $this->oClassManagement = $oClassManagement;
@@ -63,7 +63,7 @@ abstract class Main extends PhpObject
if($bDb) $asMandatoryClasses[] = array('name'=>'db', 'project'=>false); if($bDb) $asMandatoryClasses[] = array('name'=>'db', 'project'=>false);
foreach($asMandatoryClasses as $asClass) $this->oClassManagement->incClass($asClass['name'], $asClass['project']); foreach($asMandatoryClasses as $asClass) $this->oClassManagement->incClass($asClass['name'], $asClass['project']);
$this->setContext($sProcessPage); $this->setContext($sProcessPage, $sTimeZone);
//Init objects //Init objects
if($bDb) { if($bDb) {
@@ -78,10 +78,10 @@ abstract class Main extends PhpObject
return $this->oDb->getFullInstallQuery(); return $this->oDb->getFullInstallQuery();
} }
private function setContext($sProcessPage) private function setContext($sProcessPage, $sTimeZone='')
{ {
//Browser <> PHP <> MySql synchronization //Browser <> PHP <> MySql synchronization
date_default_timezone_set(Settings::TIMEZONE); date_default_timezone_set(($sTimeZone=='')?Settings::TIMEZONE:$sTimeZone);
ini_set('default_charset', Settings::TEXT_ENC); ini_set('default_charset', Settings::TEXT_ENC);
header('Content-Type: text/html; charset='.Settings::TEXT_ENC); header('Content-Type: text/html; charset='.Settings::TEXT_ENC);
mb_internal_encoding(Settings::TEXT_ENC); mb_internal_encoding(Settings::TEXT_ENC);