diff --git a/htdocs/install/etape0.php b/htdocs/install/etape0.php index c59ee6e3bc8..9f967a74eaf 100644 --- a/htdocs/install/etape0.php +++ b/htdocs/install/etape0.php @@ -137,7 +137,6 @@ if ($db->connected) $listOfCharacterSet=$db->getListOfCharacterSet(); $listOfCollation=$db->getListOfCollation(); - if ($defaultCharacterSet) { ?> @@ -161,10 +160,13 @@ if ($db->connected) print ''; } print ''; + if ($disabled=="disabled"){ + print ''; + } } else { - print ''; + print ''; } ?> @@ -197,10 +199,13 @@ if ($db->connected) print ''; } print ''; + if ($disabled=="disabled"){ + print ''; + } } else { - print ''; + print ''; } ?> diff --git a/htdocs/install/etape1.php b/htdocs/install/etape1.php index 22fd6086804..e067475606f 100644 --- a/htdocs/install/etape1.php +++ b/htdocs/install/etape1.php @@ -31,7 +31,6 @@ define('DONOTLOADCONF',1); // To avoid loading conf by file inc..php include_once("./inc.php"); - $setuplang=isset($_POST["selectlang"])?$_POST["selectlang"]:(isset($_GET["selectlang"])?$_GET["selectlang"]:'auto'); $langs->setDefaultLang($setuplang); @@ -67,6 +66,9 @@ if (! $main_data_dir) { $main_data_dir="$main_dir/documents"; } /* * Actions */ + + + if ($_POST["action"] == "set") { umask(0); @@ -166,7 +168,6 @@ if ($_POST["action"] == "set") if (file_exists("$conffile")) { include("$conffile"); // On force rechargement. Ne pas mettre include_once ! - print "".$langs->trans("ConfigurationSaving")."".$langs->trans("OK").""; } else { @@ -249,14 +250,19 @@ if ($_POST["action"] == "set") */ if (! $error) { - include_once($dolibarr_main_document_root . "/conf/conf.class.php"); - $conf = new Conf(); $conf->db->type = trim($dolibarr_main_db_type); $conf->db->host = trim($dolibarr_main_db_host); $conf->db->name = trim($dolibarr_main_db_name); $conf->db->user = trim($dolibarr_main_db_user); $conf->db->pass = trim($dolibarr_main_db_pass); + if (! isset($character_set_client) || ! $character_set_client) $character_set_client='ISO-8859-1'; + $conf->character_set_client=trim($character_set_client); + if (! isset($dolibarr_main_db_charset) && ! $dolibarr_main_db_charset) $dolibarr_main_db_charset='latin1'; + $conf->db->character_set=trim($dolibarr_main_db_charset); + if (! isset($collation_connection) || ! $collation_connection) $collation_connection='latin1_swedish_ci'; + $conf->db->collation_connection=trim($collation_connection); + $userroot=isset($_POST["db_user_root"])?$_POST["db_user_root"]:""; $passroot=isset($_POST["db_pass_root"])?$_POST["db_pass_root"]:""; @@ -360,6 +366,7 @@ if ($_POST["action"] == "set") if ($db->connected) { + if ($db->DDLCreateDb($dolibarr_main_db_name)) { print ''; diff --git a/htdocs/install/etape2.php b/htdocs/install/etape2.php index eaf5238cf41..5a036bff7d2 100644 --- a/htdocs/install/etape2.php +++ b/htdocs/install/etape2.php @@ -27,7 +27,6 @@ */ include_once("./inc.php"); -if (file_exists($conffile)) include_once($conffile); if (! isset($dolibarr_main_db_prefix) || ! $dolibarr_main_db_prefix) $dolibarr_main_db_prefix='llx_'; define('MAIN_DB_PREFIX',$dolibarr_main_db_prefix); require_once($dolibarr_main_document_root . "/lib/databases/".$dolibarr_main_db_type.".lib.php"); diff --git a/htdocs/install/etape4.php b/htdocs/install/etape4.php index d9c3f8c650a..76d01f827ae 100644 --- a/htdocs/install/etape4.php +++ b/htdocs/install/etape4.php @@ -30,7 +30,6 @@ include_once("./inc.php"); -if (file_exists($conffile)) include_once($conffile); if (! isset($dolibarr_main_db_prefix) || ! $dolibarr_main_db_prefix) $dolibarr_main_db_prefix='llx_'; define('MAIN_DB_PREFIX',$dolibarr_main_db_prefix); require_once($dolibarr_main_document_root . "/lib/databases/".$dolibarr_main_db_type.".lib.php"); diff --git a/htdocs/install/inc.php b/htdocs/install/inc.php index a48976c6065..f18f4751182 100644 --- a/htdocs/install/inc.php +++ b/htdocs/install/inc.php @@ -54,8 +54,18 @@ if (file_exists($conffile)) { require_once($dolibarr_main_document_root . "/conf/conf.class.php"); $conf=new Conf(); + $conf = new Conf(); + $conf->db->type = trim($dolibarr_main_db_type); + $conf->db->host = trim($dolibarr_main_db_host); + $conf->db->name = trim($dolibarr_main_db_name); + $conf->db->user = trim($dolibarr_main_db_user); + $conf->db->pass = trim($dolibarr_main_db_pass); if (! isset($character_set_client) || ! $character_set_client) $character_set_client='ISO-8859-1'; $conf->character_set_client=$character_set_client; + if (! isset($dolibarr_main_db_charset) && ! $dolibarr_main_db_charset) $dolibarr_main_db_charset='latin1'; + $conf->db->character_set=$dolibarr_main_db_charset; + if (! isset($collation_connection) || ! $collation_connection) $collation_connection='latin1_swedish_ci'; + $conf->db->collation_connection=$collation_connection; } if ($dolibarr_main_document_root && $dolibarr_main_db_type && ! defined('DONOTLOADCONF')) { @@ -135,7 +145,6 @@ function pHeader($soutitre,$next,$action='set') print '
'; print '
'; - } function pFooter($nonext=0,$setuplang='') diff --git a/htdocs/lib/databases/mysql.lib.php b/htdocs/lib/databases/mysql.lib.php index a539885576a..d674bf55980 100644 --- a/htdocs/lib/databases/mysql.lib.php +++ b/htdocs/lib/databases/mysql.lib.php @@ -902,7 +902,7 @@ class DoliDb } function getDefaultCollationConnection(){ - $resql=$this->query('SHOW VARIABLES LIKE \'collation_connection\''); + $resql=$this->query('SHOW VARIABLES LIKE \'collation_database\''); if (!$resql) { // version Mysql < 4.1.1 diff --git a/htdocs/lib/databases/mysqli.lib.php b/htdocs/lib/databases/mysqli.lib.php index 87bba09c034..1f6792071cd 100644 --- a/htdocs/lib/databases/mysqli.lib.php +++ b/htdocs/lib/databases/mysqli.lib.php @@ -131,8 +131,8 @@ class DoliDb $this->db_user=$dolibarr_main_db_user; } */ - $this->forcecharset=$conf->character_set_client; - $this->forcecollate=$conf->collation_connection; + $this->forcecharset=$conf->db->character_set; + $this->forcecollate=$conf->db->collation_connection; $this->db_user=$conf->db->user; $this->transaction_opened=0; @@ -905,7 +905,7 @@ class DoliDb } function getDefaultCollationConnection(){ - $resql=$this->query('SHOW VARIABLES LIKE \'collation_connection\''); + $resql=$this->query('SHOW VARIABLES LIKE \'collation_database\''); if (!$resql) { // version Mysql < 4.1.1 diff --git a/htdocs/master.inc.php b/htdocs/master.inc.php index 7448b4916ef..0e1d73dceee 100644 --- a/htdocs/master.inc.php +++ b/htdocs/master.inc.php @@ -112,15 +112,15 @@ $conf->db->user = $dolibarr_main_db_user; $conf->db->pass = $dolibarr_main_db_pass; if (! isset($dolibarr_main_db_type) && ! $dolibarr_main_db_type) $dolibarr_main_db_type='mysql'; // Pour compatibilite avec anciennes configs, si non defini, on prend 'mysql' $conf->db->type = $dolibarr_main_db_type; -if (! isset($dolibarr_main_db_charset) && ! $dolibarr_main_db_charset) $dolibarr_main_db_charset='ISO-8859-1'; // Pour compatibilite avec anciennes configs, si non defini, on prend 'mysql' +if (! isset($dolibarr_main_db_charset) && ! $dolibarr_main_db_charset) $dolibarr_main_db_charset='latin1'; $conf->db->character_set=$dolibarr_main_db_charset; if (! isset($dolibarr_main_db_prefix) || ! $dolibarr_main_db_prefix) $dolibarr_main_db_prefix='llx_'; $conf->db->prefix = $dolibarr_main_db_prefix; // Identifiant propre au client if (! isset($character_set_client) || ! $character_set_client) $character_set_client='ISO-8859-1'; -$conf->character_set_client=$character_set_client; +$conf->db->character_set_client=$character_set_client; if (! isset($collation_connection) || ! $collation_connection) $collation_connection='latin1_swedish_ci'; -$conf->collation_connection=$collation_connection; +$conf->db->collation_connection=$collation_connection; // Identifiant autres $conf->main_authentication = $dolibarr_main_authentication;