Prise en compte du charset pour la création de la base de données - Fin

This commit is contained in:
cdelambert 2007-07-14 20:36:31 +00:00
parent 2dfc9e6177
commit 637b74516c
8 changed files with 36 additions and 17 deletions

View File

@ -137,7 +137,6 @@ if ($db->connected)
$listOfCharacterSet=$db->getListOfCharacterSet();
$listOfCollation=$db->getListOfCollation();
if ($defaultCharacterSet)
{
?>
<tr>
@ -161,10 +160,13 @@ if ($db->connected)
print '<option value="'.$characterSet['charset'].'" '.$selected.'>'.$characterSet['charset'].' ('.$characterSet['description'].')</option>';
}
print '</select>';
if ($disabled=="disabled"){
print '<input type="hidden" name="character_set_database" value="'.$defaultCharacterSet.'">';
}
}
else
{
print '<input name="character_set_database" '.$disabled.' value="'.$defaultCharacterSet.'">';
print '<input type="text" name="character_set_database" value="'.$defaultCharacterSet.'">';
}
?>
</td>
@ -197,10 +199,13 @@ if ($db->connected)
print '<option value="'.$collation['collation'].'" '.$selected.'>'.$collation['collation'].'</option>';
}
print '</select>';
if ($disabled=="disabled"){
print '<input type="hidden" name="collation_connection" value="'.$defaultCollationConnection.'">';
}
}
else
{
print '<input type="hidden" name="collation_connection" value="'.$collation['collation'].'">';
print '<input type="text" name="collation_connection" value="'.$defaultCollationConnection.'">';
}
?>
</td>

View File

@ -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 "<tr><td>".$langs->trans("ConfigurationSaving")."</td><td>".$langs->trans("OK")."</td>";
}
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 '<tr><td>';

View File

@ -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");

View File

@ -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");

View File

@ -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 '<table class="main" width="100%"><tr><td>';
print '<table class="main-inside" width="100%"><tr><td>';
}
function pFooter($nonext=0,$setuplang='')

View File

@ -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

View File

@ -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

View File

@ -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;