workaround pour bug installation sous mysql

TODO: changer verification droits d'acces voir 362 / 373
This commit is contained in:
opensides 2004-08-27 00:23:30 +00:00
parent 6c2dc008f7
commit f40d055a42

View File

@ -34,10 +34,13 @@ $conffile = "../conf/conf.php";
// Répertoire des pages dolibarr // Répertoire des pages dolibarr
$main_dir=isset($_POST["main_dir"])?$_POST["main_dir"]:''; $main_dir=isset($_POST["main_dir"])?$_POST["main_dir"]:'';
// Répertoire des documents générés (factures, etc...) // Répertoire des documents générés (factures, etc...)
$main_data_dir=isset($_POST["main_data_dir"])?$_POST["main_data_dir"]:''; $main_data_dir=isset($_POST["main_data_dir"])?$_POST["main_data_dir"]:'';
# En attendant que le main_data_dir soit géré de manière autonome, # En attendant que le main_data_dir soit géré de manière autonome,
# on le force à sa valeur fixe des anciennes versions. # on le force à sa valeur fixe des anciennes versions.
if (! $main_data_dir) { $main_data_dir="$main_dir/document"; } if (! $main_data_dir) { $main_data_dir="$main_dir/document"; }
if ($_POST["action"] == "set") if ($_POST["action"] == "set")
@ -48,6 +51,7 @@ if ($_POST["action"] == "set")
print '<table cellspacing="0" width="100%" cellpadding="4" border="0">'; print '<table cellspacing="0" width="100%" cellpadding="4" border="0">';
$error=0; $error=0;
$fp = fopen("$conffile", "w"); $fp = fopen("$conffile", "w");
if($fp) if($fp)
{ {
if (substr($main_dir, strlen($main_dir) -1) == "/") if (substr($main_dir, strlen($main_dir) -1) == "/")
@ -142,9 +146,11 @@ if ($_POST["action"] == "set")
else else
{ {
dolibarr_syslog ("Le dossier '".$main_dir."' existe"); dolibarr_syslog ("Le dossier '".$main_dir."' existe");
/* /*
* Répertoire des documents * Répertoire des documents
*/ */
if (! is_dir($main_data_dir)) if (! is_dir($main_data_dir))
{ {
@mkdir($main_data_dir, 0755); @mkdir($main_data_dir, 0755);
@ -174,17 +180,19 @@ if ($_POST["action"] == "set")
} }
else else
{ {
dolibarr_syslog ("Le dossier '".$dir[$i]."' create ok"); dolibarr_syslog ("Le dossier '".$dir[$i]."' a ete cree");
} }
} }
} }
} }
} }
} }
/* /*
* Base de données * Base de données
* *
*/ */
if ($error == 0) if ($error == 0)
{ {
include_once($dolibarr_main_document_root . "/conf/conf.class.php"); include_once($dolibarr_main_document_root . "/conf/conf.class.php");
@ -213,28 +221,33 @@ if ($_POST["action"] == "set")
{ {
dolibarr_syslog ("Creation de l'utilisateur : ".$dolibarr_main_db_user); dolibarr_syslog ("Creation de l'utilisateur : ".$dolibarr_main_db_user);
if($choix == 1)
{ //choix 1=mysql
$conf = new Conf(); $conf = new Conf();
$conf->db->host = $dolibarr_main_db_host; $conf->db->host = $dolibarr_main_db_host;
$conf->db->name = $dolibarr_main_db_name; $conf->db->name = $dolibarr_main_db_name;
//$conf->db->name = "mysql"; $conf->db->name = $dolibarr_main_db_type;
//$conf->db->user = isset($_POST["db_user_root"])?$_POST["db_user_root"]:""; $conf->db->user = isset($_POST["db_user_root"])?$_POST["db_user_root"]:"";
//$conf->db->pass = isset($_POST["db_pass_root"])?$_POST["db_pass_root"]:""; $conf->db->pass = isset($_POST["db_pass_root"])?$_POST["db_pass_root"]:"";
$conf->db->user = "postgres";
$conf->db->pass = "postgres";
//print $conf->db->host." , ".$conf->db->name." , ".$conf->db->user." , ".$conf->db->pass;
$db = new DoliDb();
if($choix==1)
{
$sql = "INSERT INTO user ";
$sql .= "(Host,User,password)";
$sql .= " VALUES ('$dolibarr_main_db_host','$dolibarr_main_db_user',password('$dolibarr_main_db_pass'))";
print $db->query($sql); //print $conf->db->host." , ".$conf->db->name." , ".$conf->db->user." , ".$conf->db->pass;
$db = new DoliDb();
$sql = "INSERT INTO user ";
$sql .= "(Host,User,password,elect_priv,Insert_priv,Update_priv,Delete_priv,Create_priv,Drop_priv,Index_Priv,Alter_priv)";
$sql .= " VALUES ('$dolibarr_main_db_host','$dolibarr_main_db_user',password('$dolibarr_main_db_pass')";
$sql .= ",'Y','Y','Y','Y','Y',Y','Y','Y');";
print $sql;
$db->query($sql);
$sql = "INSERT INTO db "; $sql = "INSERT INTO db ";
$sql .= "(Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv,Create_priv,Drop_priv,Index_Priv,Alter_priv)"; $sql .= "(Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv,Create_priv,Drop_priv,Index_Priv,Alter_priv)";
$sql .= " VALUES ('$dolibarr_main_db_host','$dolibarr_main_db_name','$dolibarr_main_db_user'"; $sql .= " VALUES ('$dolibarr_main_db_host','$dolibarr_main_db_name','$dolibarr_main_db_user'";
$sql .= ",'Y','Y','Y','Y','Y','Y','Y','Y')"; $sql .= ",'Y','Y','Y','Y','Y','Y','Y','Y');";
print $sql; print $sql;
@ -249,23 +262,27 @@ if ($_POST["action"] == "set")
{ {
if ($db->errno() == 1062) if ($db->errno() == 1062)
{ {
dolibarr_syslog("Utilisateur deja existant");
print "<tr><td>Création de l'utilisateur : $dolibarr_main_db_user</td><td>Deja existant</td></tr>"; print "<tr><td>Création de l'utilisateur : $dolibarr_main_db_user</td><td>Deja existant</td></tr>";
} }
else else
{ {
dolibarr_syslog("impossible de creer l'utilisateur");
print "<tr><td>Création de l'utilisateur : $dolibarr_main_db_user</td><td>ERREUR ".$db->error()."</td></tr>"; print "<tr><td>Création de l'utilisateur : $dolibarr_main_db_user</td><td>ERREUR ".$db->error()."</td></tr>";
} }
} }
$db->close(); $db->close();
} //choix==1 }
else else
{ { //choix 2=postgresql
$nom = $dolibarr_main_db_user; $nom = $dolibarr_main_db_user;
$con=pg_connect("host=localhost dbname=dolibarr user=postgres"); $con=pg_connect("host=localhost dbname=dolibarr user=postgres");
$query_str = "create user \"$nom\" with password '".$dolibarr_main_db_pass."';"; $query_str = "create user \"$nom\" with password '".$dolibarr_main_db_pass."';";
//print $query_str; //print $query_str;
$ret = pg_query($con,$query_str); $ret = pg_query($con,$query_str);
if ($ret) if ($ret)
print "<tr><td>Création de l'utilisateur:\"$nom\"</td><td>OK</td></tr>"; print "<tr><td>Création de l'utilisateur:\"$nom\"</td><td>OK</td></tr>";
else else
@ -283,15 +300,18 @@ if ($_POST["action"] == "set")
$conf->db->user = $dolibarr_main_db_user; $conf->db->user = $dolibarr_main_db_user;
$conf->db->pass = $dolibarr_main_db_pass; $conf->db->pass = $dolibarr_main_db_pass;
//print $conf->db->host.",".$conf->db->name.",".$conf->db->user.",".$conf->db->pass; //print $conf->db->host.",".$conf->db->name.",".$conf->db->user.",".$conf->db->pass;
$db = new DoliDb(); $db = new DoliDb();
$ok = 1; $ok = 1;
if ($db->connected == 1) if ($db->connected == 1)
{ {
dolibarr_syslog("la connexion au serveur est reussie");
print "<tr><td>Connexion au serveur : $dolibarr_main_db_host</td><td>OK</td></tr>"; print "<tr><td>Connexion au serveur : $dolibarr_main_db_host</td><td>OK</td></tr>";
} }
else else
{ {
dolibarr_syslog("la connection au serveur est rate");
print "<tr><td>Connexion au serveur : $dolibarr_main_db_host</td><td>ERREUR</td></tr>"; print "<tr><td>Connexion au serveur : $dolibarr_main_db_host</td><td>ERREUR</td></tr>";
$ok = 0; $ok = 0;
} }
@ -303,8 +323,8 @@ if ($_POST["action"] == "set")
// //
// Connexion base existante // Connexion base existante
// //
dolibarr_syslog("la connexion a la database est reussie");
print "<tr><td>Connexion à la base : $dolibarr_main_db_name</td><td>OK</td></tr>"; print "<tr><td>Connexion à la base : $dolibarr_main_db_name</td><td>OK</td></tr>";
$ok = 1 ; $ok = 1 ;
} }
else else
@ -312,15 +332,13 @@ if ($_POST["action"] == "set")
// //
// Création de la base // Création de la base
// //
dolibarr_syslog("la connexion a la database est rate");
print "<tr><td>Echec de connexion à la base : $dolibarr_main_db_name</td><td>Warning</td></tr>"; print "<tr><td>Echec de connexion à la base : $dolibarr_main_db_name</td><td>Warning</td></tr>";
print '<tr><td colspan="2">Création de la base : '.$dolibarr_main_db_name.'</td></tr>'; print '<tr><td colspan="2">Création de la base : '.$dolibarr_main_db_name.'</td></tr>';
$conf = new Conf(); $conf = new Conf();
$conf->db->host = $dolibarr_main_db_host; $conf->db->host = $dolibarr_main_db_host;
//$conf->db->name = "mysql";
$conf->db->name = $dolibarr_main_db_name; $conf->db->name = $dolibarr_main_db_name;
//$conf->db->user = "seb";
$conf->db->user = isset($_POST["db_user_root"])?$_POST["db_user_root"]:""; $conf->db->user = isset($_POST["db_user_root"])?$_POST["db_user_root"]:"";
$conf->db->pass = isset($_POST["db_pass_root"])?$_POST["db_pass_root"]:""; $conf->db->pass = isset($_POST["db_pass_root"])?$_POST["db_pass_root"]:"";
@ -330,10 +348,12 @@ if ($_POST["action"] == "set")
{ {
if ($dbt->connected == 1) if ($dbt->connected == 1)
{ {
dolibarr_syslog("la connexion au serveur avec l'utilisateur root reussi");
print "<tr><td>Connexion au serveur : $dolibarr_main_db_host avec l'utilisateur : ".$_POST["db_user_root"]."</td><td>OK</td></tr>"; print "<tr><td>Connexion au serveur : $dolibarr_main_db_host avec l'utilisateur : ".$_POST["db_user_root"]."</td><td>OK</td></tr>";
} }
else else
{ {
dolibarr_syslog("la connexion au serveur avec l'utilisateur root rate");
print "<tr><td>Connexion au serveur : $dolibarr_main_db_host avec l'utilisateur : ".$_POST["db_user_root"]."</td><td>ERREUR</td></tr>"; print "<tr><td>Connexion au serveur : $dolibarr_main_db_host avec l'utilisateur : ".$_POST["db_user_root"]."</td><td>ERREUR</td></tr>";
$ok = 0; $ok = 0;
} }
@ -348,7 +368,7 @@ if ($_POST["action"] == "set")
{ {
print "<tr><td>Vérification des droits de création</td><td>ERREUR</td></tr>"; print "<tr><td>Vérification des droits de création</td><td>ERREUR</td></tr>";
print '<tr><td colspna="2">-- Droits insuffissant</td></tr>'; print '<tr><td colspna="2">-- Droits insuffissant</td></tr>';
$ok = 0; //$ok = 0;
} }
} }
@ -364,7 +384,6 @@ if ($_POST["action"] == "set")
$ok = 0; $ok = 0;
} }
} }
} }
} }
} }