Minor improvements

This commit is contained in:
2020-03-31 21:19:03 +02:00
parent b175fd28ab
commit cd155d17dd
3 changed files with 8 additions and 6 deletions

View File

@@ -98,6 +98,7 @@ class PhpObject
function __construct($sClass='', $bDebug=false, $iExtractMode=self::MODE_FILE) function __construct($sClass='', $bDebug=false, $iExtractMode=self::MODE_FILE)
{ {
$this->asMessageStack = array();
$this->resetMessageStack(); $this->resetMessageStack();
$this->setDebug($bDebug); $this->setDebug($bDebug);
$this->setExtractMode($iExtractMode); $this->setExtractMode($iExtractMode);

View File

@@ -37,14 +37,14 @@ class Db extends PhpObject
* 'cascading_delete'=>array('table_name1'=>array('linked_table1', 'linked_table2', ...), 'table_name2'=>...)) * 'cascading_delete'=>array('table_name1'=>array('linked_table1', 'linked_table2', ...), 'table_name2'=>...))
* @var Array * @var Array
*/ */
public function __construct($sDbServer, $sLogin, $sPass, $sDatabase, $asOptions, $sEncoding='utf8mb4', $sTimeZone='Europe/Paris') public function __construct($sDbServer, $sLogin, $sPass, $sDatabase, $asOptions, $sEncoding='utf8mb4')
{ {
parent::__construct(__FILE__, Settings::DEBUG); parent::__construct(__FILE__, Settings::DEBUG);
$this->sDatabase = $sDatabase; $this->sDatabase = $sDatabase;
$this->asOptions = $asOptions; $this->asOptions = $asOptions;
//$this->oConnection = mysql_connect(self::DB_SERVER, self::DB_LOGIN, self::DB_PASS); //$this->oConnection = mysql_connect(self::DB_SERVER, self::DB_LOGIN, self::DB_PASS);
$this->oConnection = new mysqli($sDbServer, $sLogin, $sPass); $this->oConnection = new mysqli($sDbServer, $sLogin, $sPass);
$this->syncPhpParams($sEncoding, $sTimeZone); $this->syncPhpParams($sEncoding);
/* /*
$dsn = 'mysql:dbname='.$this->sDatabase.';host='.self::DB_SERVER; $dsn = 'mysql:dbname='.$this->sDatabase.';host='.self::DB_SERVER;
@@ -73,13 +73,13 @@ class Db extends PhpObject
} }
} }
private function syncPhpParams($sEncoding, $sTimeZone) private function syncPhpParams($sEncoding)
{ {
//Characters encoding //Characters encoding
$this->oConnection->set_charset($sEncoding); //SET NAMES $this->oConnection->set_charset($sEncoding); //SET NAMES
//Timezone //Timezone
$this->setQuery("SET time_zone='{$sTimeZone}';"); $this->setQuery("SET time_zone='".date_default_timezone_get()."';");
} }
public function __destruct() public function __destruct()
@@ -622,6 +622,7 @@ class Db extends PhpObject
$sQuery .= " ".$sKeyWord." * "; $sQuery .= " ".$sKeyWord." * ";
} }
} }
return $this->getArrayQuery(trim($sQuery), $bStringOnly, $sGroupBy); return $this->getArrayQuery(trim($sQuery), $bStringOnly, $sGroupBy);
} }

View File

@@ -63,12 +63,11 @@ 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']);
$sTimeZone = ($sTimeZone=='')?Settings::TIMEZONE:$sTimeZone;
$this->setContext($sProcessPage, $sTimeZone); $this->setContext($sProcessPage, $sTimeZone);
//Init objects //Init objects
if($bDb) { if($bDb) {
$this->oDb = new Db(Settings::DB_SERVER, Settings::DB_LOGIN, Settings::DB_PASS, Settings::DB_NAME, $this->getSqlOptions() , Settings::DB_ENC, $sTimeZone); $this->oDb = new Db(Settings::DB_SERVER, Settings::DB_LOGIN, Settings::DB_PASS, Settings::DB_NAME, $this->getSqlOptions() , Settings::DB_ENC);
if(in_array($this->oDb->sDbState, array(Db::DB_NO_DATA, Db::DB_NO_TABLE))) $this->install(); if(in_array($this->oDb->sDbState, array(Db::DB_NO_DATA, Db::DB_NO_TABLE))) $this->install();
} }
} }
@@ -82,6 +81,7 @@ abstract class Main extends PhpObject
private function setContext($sProcessPage, $sTimeZone='') private function setContext($sProcessPage, $sTimeZone='')
{ {
//Browser <> PHP <> MySql synchronization //Browser <> PHP <> MySql synchronization
if($sTimeZone=='') $sTimeZone = Settings::TIMEZONE;
date_default_timezone_set($sTimeZone); date_default_timezone_set($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);