Fix: pagecode when using postgresql
This commit is contained in:
parent
1b2a4f4742
commit
01d37ad159
@ -40,7 +40,7 @@ class DoliDBPgsql
|
||||
//! Database label
|
||||
static $label='PostgreSQL'; // Label of manager
|
||||
//! Charset
|
||||
var $forcecharset='latin1'; // Can't be static as it may be forced with a dynamic value
|
||||
var $forcecharset='UTF8'; // Can't be static as it may be forced with a dynamic value
|
||||
//! Version min database
|
||||
static $versionmin=array(8,4,0); // Version min database
|
||||
|
||||
@ -111,6 +111,7 @@ class DoliDBPgsql
|
||||
// Essai connexion serveur
|
||||
//print "$host, $user, $pass, $name, $port";
|
||||
$this->db = $this->connect($host, $user, $pass, $name, $port);
|
||||
|
||||
if ($this->db)
|
||||
{
|
||||
$this->connected = 1;
|
||||
@ -374,12 +375,13 @@ class DoliDBPgsql
|
||||
$name = str_replace(array("\\", "'"), array("\\\\", "\\'"), $name);
|
||||
$port = str_replace(array("\\", "'"), array("\\\\", "\\'"), $port);
|
||||
|
||||
//if (! $name) $name="postgres";
|
||||
if (! $name) $name="postgres"; // When try to connect using admin user
|
||||
|
||||
// try first Unix domain socket (local)
|
||||
if (! $host || $host == "" || $host == "localhost" || $host == "127.0.0.1")
|
||||
{
|
||||
$con_string = "dbname='".$name."' user='".$login."' password='".$passwd."'";
|
||||
$con_string = "dbname='".$name."' user='".$login."' password='".$passwd."'"; // $name may be empty
|
||||
//print "$con_string";exit;
|
||||
$this->db = pg_connect($con_string);
|
||||
}
|
||||
|
||||
@ -978,10 +980,15 @@ class DoliDBPgsql
|
||||
*/
|
||||
function DDLCreateDb($database,$charset='',$collation='',$owner='')
|
||||
{
|
||||
if (empty($charset)) $charset=$this->forcecharset;
|
||||
if (empty($charset)) $charset=$this->forcecharset;
|
||||
if (empty($collation)) $collation=$this->forcecollate;
|
||||
|
||||
$ret=$this->query('CREATE DATABASE '.$database.' OWNER '.$owner.' ENCODING \''.$charset.'\'');
|
||||
// Test charset match LC_TYPE (pgsql error otherwise)
|
||||
//print $charset.' '.setlocale(LC_CTYPE,'0'); exit;
|
||||
|
||||
$sql='CREATE DATABASE '.$database.' OWNER '.$owner.' ENCODING \''.$charset.'\'';
|
||||
dol_syslog($sql,LOG_DEBUG);
|
||||
$ret=$this->query($sql);
|
||||
return $ret;
|
||||
}
|
||||
|
||||
|
||||
@ -92,8 +92,8 @@ $dolibarr_main_document_root_alt=trim($dolibarr_main_document_root_alt);
|
||||
if (empty($dolibarr_main_db_port)) $dolibarr_main_db_port=0; // Pour compatibilite avec anciennes configs, si non defini, on prend 'mysql'
|
||||
if (empty($dolibarr_main_db_type)) $dolibarr_main_db_type='mysql'; // Pour compatibilite avec anciennes configs, si non defini, on prend 'mysql'
|
||||
if (empty($dolibarr_main_db_prefix)) $dolibarr_main_db_prefix='llx_';
|
||||
if (empty($dolibarr_main_db_character_set)) $dolibarr_main_db_character_set='latin1'; // Old installation
|
||||
if (empty($dolibarr_main_db_collation)) $dolibarr_main_db_collation='latin1_swedish_ci'; // Old installation
|
||||
if (empty($dolibarr_main_db_character_set)) $dolibarr_main_db_character_set=($dolibarr_main_db_type=='mysql'?'latin1':''); // Old installation
|
||||
if (empty($dolibarr_main_db_collation)) $dolibarr_main_db_collation=($dolibarr_main_db_type=='mysql'?'latin1_swedish_ci':''); // Old installation
|
||||
if (empty($dolibarr_main_db_encryption)) $dolibarr_main_db_encryption=0;
|
||||
if (empty($dolibarr_main_db_cryptkey)) $dolibarr_main_db_cryptkey='';
|
||||
if (empty($dolibarr_main_limit_users)) $dolibarr_main_limit_users=0;
|
||||
|
||||
@ -518,7 +518,8 @@ if (! $error && $db->connected && $action == "set")
|
||||
if (! $error && (isset($_POST["db_create_database"]) && $_POST["db_create_database"] == "on"))
|
||||
{
|
||||
dolibarr_install_syslog("etape1: Create database : ".$dolibarr_main_db_name, LOG_DEBUG);
|
||||
$db=getDoliDBInstance($conf->db->type,$conf->db->host,$userroot,$passroot,'',$conf->db->port);
|
||||
$newdb=getDoliDBInstance($conf->db->type,$conf->db->host,$userroot,$passroot,'',$conf->db->port);
|
||||
//print 'eee'.$conf->db->type." ".$conf->db->host." ".$userroot." ".$passroot." ".$conf->db->port." ".$db->connected." ".$newdb->forcecharset;exit;
|
||||
|
||||
if ($db->connected)
|
||||
{
|
||||
@ -545,6 +546,7 @@ if (! $error && $db->connected && $action == "set")
|
||||
// Affiche aide diagnostique
|
||||
print '<tr><td colspan="2"><br>';
|
||||
print $langs->trans("ErrorFailedToCreateDatabase",$dolibarr_main_db_name).'<br>';
|
||||
print $db->lasterror().'<br>';
|
||||
print $langs->trans("IfDatabaseExistsGoBackAndCheckCreate");
|
||||
print '<br>';
|
||||
print '</td></tr>';
|
||||
@ -575,7 +577,7 @@ if (! $error && $db->connected && $action == "set")
|
||||
} // Fin si "creation database"
|
||||
|
||||
|
||||
// We testOn test maintenant l'acces par le user base dolibarr
|
||||
// We test access with dolibarr database user (not admin)
|
||||
if (! $error)
|
||||
{
|
||||
dolibarr_install_syslog("etape1: connexion de type=".$conf->db->type." sur host=".$conf->db->host." port=".$conf->db->port." user=".$conf->db->user." name=".$conf->db->name, LOG_DEBUG);
|
||||
|
||||
@ -287,9 +287,9 @@ function conf($dolibarr_main_document_root)
|
||||
|
||||
if (empty($character_set_client)) $character_set_client="UTF-8";
|
||||
$conf->file->character_set_client=strtoupper($character_set_client);
|
||||
if (empty($dolibarr_main_db_character_set)) $dolibarr_main_db_character_set='latin1'; // Old installation
|
||||
if (empty($dolibarr_main_db_character_set)) $dolibarr_main_db_character_set=($conf->db->type=='mysql'?'latin1':''); // Old installation
|
||||
$conf->db->character_set=$dolibarr_main_db_character_set;
|
||||
if (empty($dolibarr_main_db_collation)) $dolibarr_main_db_collation='latin1_swedish_ci'; // Old installation
|
||||
if (empty($dolibarr_main_db_collation)) $dolibarr_main_db_collation=($conf->db->type=='mysql'?'latin1_swedish_ci':''); // Old installation
|
||||
$conf->db->dolibarr_main_db_collation=$dolibarr_main_db_collation;
|
||||
if (empty($dolibarr_main_db_encryption)) $dolibarr_main_db_encryption=0;
|
||||
$conf->db->dolibarr_main_db_encryption = $dolibarr_main_db_encryption;
|
||||
|
||||
@ -107,10 +107,18 @@ if (! isset($dolibarr_main_db_prefix) || ! $dolibarr_main_db_prefix) $dolibarr_m
|
||||
define('MAIN_DB_PREFIX',(isset($dolibarr_main_db_prefix)?$dolibarr_main_db_prefix:''));
|
||||
|
||||
define('DOL_DATA_ROOT',(isset($dolibarr_main_data_root)?$dolibarr_main_data_root:''));
|
||||
if (empty($conf->file->character_set_client)) $conf->file->character_set_client=$charset;
|
||||
if (empty($conf->db->dolibarr_main_db_collation)) $conf->db->dolibarr_main_db_collation='latin1_swedish_ci';
|
||||
if (empty($conf->db->dolibarr_main_db_encryption)) $conf->db->dolibarr_main_db_encryption=0;
|
||||
if (empty($conf->db->dolibarr_main_db_cryptkey)) $conf->db->dolibarr_main_db_cryptkey='';
|
||||
|
||||
if (empty($character_set_client)) $character_set_client="UTF-8";
|
||||
$conf->file->character_set_client=strtoupper($character_set_client);
|
||||
if (empty($dolibarr_main_db_character_set)) $dolibarr_main_db_character_set=($conf->db->type=='mysql'?'latin1':''); // Old installation
|
||||
$conf->db->character_set=$dolibarr_main_db_character_set;
|
||||
if (empty($dolibarr_main_db_collation)) $dolibarr_main_db_collation=($conf->db->type=='mysql'?'latin1_swedish_ci':''); // Old installation
|
||||
$conf->db->dolibarr_main_db_collation=$dolibarr_main_db_collation;
|
||||
if (empty($dolibarr_main_db_encryption)) $dolibarr_main_db_encryption=0;
|
||||
$conf->db->dolibarr_main_db_encryption = $dolibarr_main_db_encryption;
|
||||
if (empty($dolibarr_main_db_cryptkey)) $dolibarr_main_db_cryptkey='';
|
||||
$conf->db->dolibarr_main_db_cryptkey = $dolibarr_main_db_cryptkey;
|
||||
|
||||
if (empty($conf->db->user)) $conf->db->user='';
|
||||
|
||||
|
||||
@ -151,7 +159,7 @@ function conf($dolibarr_main_document_root)
|
||||
$conf->db->user = trim($dolibarr_main_db_user);
|
||||
$conf->db->pass = trim($dolibarr_main_db_pass);
|
||||
|
||||
if (empty($conf->db->dolibarr_main_db_collation)) $conf->db->dolibarr_main_db_collation='latin1_swedish_ci';
|
||||
if (empty($conf->db->dolibarr_main_db_collation)) $conf->db->dolibarr_main_db_collation='utf8_general_ci';
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user