diff --git a/htdocs/install/etape1.php b/htdocs/install/etape1.php index 3378e71b8b7f0ab8e4359d0d8d8303706054377f..0e8354f32c9b8a3305196c8f3120ed3ff9ccb811 100644 --- a/htdocs/install/etape1.php +++ b/htdocs/install/etape1.php @@ -229,7 +229,7 @@ if ($_POST["action"] == "set") */ if (isset($_POST["db_create_user"]) && $_POST["db_create_user"] == "on") { - dolibarr_syslog ("Creation de l'utilisateur : ".$dolibarr_main_db_user); + dolibarr_syslog ("Creation de l'utilisateur: ".$dolibarr_main_db_user." choix base: ".$choix); if ($choix == 1) //choix 1=mysql { @@ -239,18 +239,18 @@ if ($_POST["action"] == "set") if ($db->connected) { $sql = "INSERT INTO user "; - $sql .= "(Host,User,password,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_user',password('$dolibarr_main_db_pass')"; - $sql .= ",'Y','Y','Y','Y','Y','Y','Y','Y');"; + $sql.= "(Host,User,password,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_user',password('$dolibarr_main_db_pass')"; + $sql.= ",'Y','Y','Y','Y','Y','Y','Y','Y');"; //print "$sql<br>\n"; $db->query($sql); $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 .= " VALUES ('$dolibarr_main_db_host','$dolibarr_main_db_name','$dolibarr_main_db_user'"; - $sql .= ",'Y','Y','Y','Y','Y','Y','Y','Y');"; + $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.= ",'Y','Y','Y','Y','Y','Y','Y','Y');"; //print "$sql<br>\n"; @@ -267,7 +267,7 @@ if ($_POST["action"] == "set") } else { - if ($db->errno() == DB_ERROR_RECORD_ALREADY_EXISTS) + if ($db->errno() == 'DB_ERROR_RECORD_ALREADY_EXISTS') { dolibarr_syslog("Utilisateur deja existant"); print '<tr><td>'; @@ -298,10 +298,10 @@ if ($_POST["action"] == "set") print '</tr>'; // Affiche aide diagnostique - print '<tr><td colspan="2"><br>Vous avez demand� la cr�ation du login Dolibarr ('.$dolibarr_main_db_user.') mais pour cela '; - print 'Dolibarr doit se connecter sur le serveur ('.$dolibarr_main_db_host.') via le super utilisateur ('.$userroot.'), mot de passe ('.$passroot.'). '; - print 'La connexion ayant �chou�, les param�tres du serveur ou du super utilisateur sont peut-etre incorrects.<br>'; - print 'Revenez en arri�re pour corriger les param�tres.<br>'; + print '<tr><td colspan="2"><br>Vous avez demand� la cr�ation du login Dolibarr "<b>'.$dolibarr_main_db_user.'</b>", mais pour cela, '; + print 'Dolibarr doit se connecter sur le serveur "<b>'.$dolibarr_main_db_host.'</b>" via le super utilisateur "<b>'.$userroot.'</b>", mot de passe "<b>'.$passroot.'</b>".<br>'; + print 'La connexion ayant �chou�, les param�tres du serveur ou du super utilisateur sont peut-etre incorrects. '; + print 'Revenez en arri�re pour corriger les param�tres.<br><br>'; print '</td></tr>'; $ok=-1; @@ -309,29 +309,37 @@ if ($_POST["action"] == "set") } else //choix 2=postgresql { - $nom = $dolibarr_main_db_user; - $con=pg_connect("host=localhost dbname=dolibarr user=postgres"); - $query_str = "create user \"$nom\" with password '".$dolibarr_main_db_pass."';"; - //print $query_str; - $ret = pg_query($con,$query_str); - - if ($ret) - { - print '<tr><td>'; - print $langs->trans("UserCreation").' : '; - print $dolibarr_main_db_user; - print '</td>'; - print '<td>'.$langs->trans("OK").'</td>'; - print '</tr>'; + if (! function_exists("pg_connect")) { + print $langs->trans("ThisPHPDoesNotSupportTypeBase",'pgsql'); + $ok=0; } - else + + if ($ok) { - print '<tr><td>'; - print $langs->trans("UserCreation").' : '; - print $dolibarr_main_db_user; - print '</td>'; - print '<td>'.$langs->trans("Error").'</td>'; - print '</tr>'; + $nom = $dolibarr_main_db_user; + $con=pg_connect("host=".$dolibarr_main_db_host." dbname=".$dolibarr_main_db_name." user=postgres"); + $query_str = "create user \"".$nom."\" with password '".$dolibarr_main_db_pass."';"; + //print $query_str; + $ret = pg_query($con,$query_str); + + if ($ret) + { + print '<tr><td>'; + print $langs->trans("UserCreation").' : '; + print $dolibarr_main_db_user; + print '</td>'; + print '<td>'.$langs->trans("OK").'</td>'; + print '</tr>'; + } + else + { + print '<tr><td>'; + print $langs->trans("UserCreation").' : '; + print $dolibarr_main_db_user; + print '</td>'; + print '<td>'.$langs->trans("Error").'</td>'; + print '</tr>'; + } } } @@ -339,8 +347,8 @@ if ($_POST["action"] == "set") /* - * Si creation database demand�e, on la cr�e - */ + * Si creation database demand�e, on la cr�e + */ if (isset($_POST["db_create_database"]) && $_POST["db_create_database"] == "on") { dolibarr_syslog ("Creation de la base : ".$dolibarr_main_db_name); @@ -366,7 +374,7 @@ if ($_POST["action"] == "set") print '<td>'.$langs->trans("Error").' '.$db->errno().'</td></tr>'; // Affiche aide diagnostique - print '<tr><td colspan="2"><br>La cr�ation de la base Dolibarr ('.$dolibarr_main_db_name.') a �chou�.'; + print '<tr><td colspan="2"><br>La cr�ation de la base Dolibarr "<b>'.$dolibarr_main_db_name.'</b>" a �chou�.'; print 'Si la base existe d�j�, revenez en arri�re et d�sactiver l\'option "Cr�er la base de donn�e".<br>'; print '</td></tr>'; @@ -383,10 +391,10 @@ if ($_POST["action"] == "set") print '</tr>'; // Affiche aide diagnostique - print '<tr><td colspan="2"><br>Vous avez demand� la cr�ation de la base Dolibarr ('.$dolibarr_main_db_name.') mais pour cela '; - print 'Dolibarr doit se connecter sur le serveur ('.$dolibarr_main_db_host.') via le super utilisateur ('.$userroot.'), mot de passe ('.$passroot.'). '; - print 'La connexion ayant �chou�, les param�tres du serveur ou du super utilisateur sont peut-etre incorrects.<br>'; - print 'Revenez en arri�re pour corriger les param�tres.<br>'; + print '<tr><td colspan="2"><br>Vous avez demand� la cr�ation de la base Dolibarr "<b>'.$dolibarr_main_db_name.'</b>", mais pour cela, '; + print 'Dolibarr doit se connecter sur le serveur "<b>'.$dolibarr_main_db_host.'</b>" via le super utilisateur "<b>'.$userroot.'</b>", mot de passe "<b>'.$passroot.'</b>".<br>'; + print 'La connexion ayant �chou�, les param�tres du serveur ou du super utilisateur sont peut-etre incorrects. '; + print 'Revenez en arri�re pour corriger les param�tres.<br><br>'; print '</td></tr>'; $ok=-1; @@ -395,16 +403,18 @@ if ($_POST["action"] == "set") /* - * On essaie l'acc�s par le user admin dolibarr - */ + * On essaie l'acc�s par le user admin dolibarr + */ if ($ok == 0) { - + dolibarr_syslog("connexion de type=".$conf->db->type." sur host=".$conf->db->host." user=".$conf->db->user." name=".$conf->db->name); + //print "connexion de type=".$conf->db->type." sur host=".$conf->db->host." user=".$conf->db->user." name=".$conf->db->name; + $db = new DoliDb($conf->db->type,$conf->db->host,$conf->db->user,$conf->db->pass,$conf->db->name); if ($db->connected == 1) { - // si acc�s serveur ok et acc�s base ok, tout est ok, on ne va pas plus loin, on a m�me pas utilis� le compte root. + // si acc�s serveur ok et acc�s base ok, tout est ok, on ne va pas plus loin, on a m�me pas utilis� le compte root. if ($db->database_selected == 1) { dolibarr_syslog("la connexion au serveur par le user ".$conf->db->user." est reussie"); @@ -444,8 +454,8 @@ if ($_POST["action"] == "set") print "</td></tr>"; // Affiche aide diagnostique - print '<tr><td colspan="2"><br>V�rifier que le nom de base ('.$dolibarr_main_db_name.') est correct. '; - print 'Si ce nom est correct et que cette base n\'existe pas d�j�, vous devez cocher l\'option "Cr�er la base de donn�e".<br>'; + print '<tr><td colspan="2"><br>V�rifier que le nom de base "<b>'.$dolibarr_main_db_name.'</b>" est correct.<br>'; + print 'Si ce nom est correct et que cette base n\'existe pas d�j�, vous devez cocher l\'option "Cr�er la base de donn�e". '; print 'Revenez en arri�re pour corriger les param�tres.<br>'; print '</td></tr>'; @@ -463,7 +473,7 @@ if ($_POST["action"] == "set") print "</td></tr>"; // Affiche aide diagnostique - print '<tr><td colspan="2"><br>Le serveur ('.$conf->db->host.'), nom de base ('.$conf->db->name.'), login ('.$conf->db->user.'), ou mot de passe ('.$conf->db->pass.') de la base de donn�e est peut-�tre incorrect ou la version du client PHP trop ancienne par rapport � la version de la base de donn�e.<br>'; + print '<tr><td colspan="2"><br>Le serveur "<b>'.$conf->db->host.'</b>", nom de base "<b>'.$conf->db->name.'</b>", login "<b>'.$conf->db->user.'</b>", ou mot de passe <b>"'.$conf->db->pass.'</b>" de la base de donn�e est peut-�tre incorrect ou la version du client PHP trop ancienne par rapport � la version de la base de donn�e.<br>'; print 'Si le login n\'existe pas encore, vous devez cocher l\'option "Cr�er l\'utilisateur".<br>'; print 'Revenez en arri�re pour corriger les param�tres.<br>'; print '</td></tr>';