diff --git a/htdocs/install/etape5.php b/htdocs/install/etape5.php index 708c132c4bb..220317d755b 100644 --- a/htdocs/install/etape5.php +++ b/htdocs/install/etape5.php @@ -88,7 +88,7 @@ if ($_POST["action"] == "set" || $_POST["action"] == "upgrade") $conf->db->name = $dolibarr_main_db_name; $conf->db->user = $dolibarr_main_db_user; $conf->db->pass = $dolibarr_main_db_pass; - + $db = new DoliDb($conf->db->type,$conf->db->host,$conf->db->user,$conf->db->pass,$conf->db->name); $ok = 0; @@ -104,46 +104,74 @@ if ($_POST["action"] == "set" || $_POST["action"] == "upgrade") { if ($db->connected == 1) { + $conf->setValues($db); + + $code=0; + + // Recherche du code AD99 le plus élevé. + $sql.= "select code from llx_user where code like 'AD%'"; + $resql=$db->query($sql); + if ($resql) + { + $num = $db->num_rows($resql); + $i = 0; + while ($i < $num) + { + $obj = $db->fetch_object($resql); + $codefound=substr($obj->code,2); + if (is_numeric($codefound) && $codefound > $code) $code=$codefound; + //print "Found code=$code"; + $i++; + } + } + + $code++; + $code=sprintf("%02d",$code); + $sql = "INSERT INTO llx_user(datec,login,pass,admin,name,code) VALUES (now()"; - $sql .= ",'".$_POST["login"]."'"; - $sql .= ",'".$_POST["pass"]."'"; - $sql .= ",1,'Administrateur','ADM')"; - } - - $resql=$db->query($sql); - - if ($resql) - { - print $langs->trans("AdminLoginCreatedSuccessfuly")."
"; - $success = 1; - } - else - { - if ($db->errno() == 'DB_ERROR_RECORD_ALREADY_EXISTS') - { - print $langs->trans("AdminLoginAlreadyExists",$_POST["login"])."
"; - $success = 1; - } - else { - print $langs->trans("FailedToCreateAdminLogin")."
"; - } - } - - if ($success) - { - $db->query("DELETE FROM llx_const WHERE name='MAIN_NOT_INSTALLED'"); - - // Si install non Français, on configure pour fonctionner en mode internationnal - if ($langs->defaultlang != "fr_FR") - { - $db->query("UPDATE llx_const set value='eldy_backoffice.php' WHERE name='MAIN_MENU_BARRETOP';"); - $db->query("UPDATE llx_const set value='eldy_backoffice.php' WHERE name='MAIN_MENU_BARRELEFT';"); - - $db->query("UPDATE llx_const set value='eldy_frontoffice.php' WHERE name='MAIN_MENUFRONT_BARRETOP';"); - $db->query("UPDATE llx_const set value='eldy_frontoffice.php' WHERE name='MAIN_MENUFRONT_BARRELEFT';"); - } - - } + $sql.= ",'".$_POST["login"]."'"; + $sql.= ",'".($conf->global->DATABASE_PWD_ENCRYPTED?md5($_POST["pass"]):$_POST["pass"])."'"; + $sql.= ",1,'Administrateur','AD".$code."')"; + //print "sql=".$sql." ".mysql_errno($db->db); + $resql=$db->query($sql); + if ($resql) + { + print $langs->trans("AdminLoginCreatedSuccessfuly",$_POST["login"])."
"; + $success = 1; + } + else + { + if ($db->errno() == 'DB_ERROR_RECORD_ALREADY_EXISTS') + { + print $langs->trans("AdminLoginAlreadyExists",$_POST["login"])."
"; + $success = 1; + } + else + { + print $langs->trans("FailedToCreateAdminLogin")."
"; + } + } + + if ($success) + { + $db->query("DELETE FROM llx_const WHERE name='MAIN_NOT_INSTALLED'"); + + // Si install non Français, on configure pour fonctionner en mode internationnal + if ($langs->defaultlang != "fr_FR") + { + $db->query("UPDATE llx_const set value='eldy_backoffice.php' WHERE name='MAIN_MENU_BARRETOP';"); + $db->query("UPDATE llx_const set value='eldy_backoffice.php' WHERE name='MAIN_MENU_BARRELEFT';"); + + $db->query("UPDATE llx_const set value='eldy_frontoffice.php' WHERE name='MAIN_MENUFRONT_BARRETOP';"); + $db->query("UPDATE llx_const set value='eldy_frontoffice.php' WHERE name='MAIN_MENUFRONT_BARRELEFT';"); + } + + } + } + else + { + print $langs->trans("Error")."
"; + } } $db->query("UPDATE llx_const set value='".$setuplang."' WHERE name='MAIN_LANG_DEFAULT';"); diff --git a/htdocs/main.inc.php b/htdocs/main.inc.php index 5a83acbcb03..3926ade1ebc 100644 --- a/htdocs/main.inc.php +++ b/htdocs/main.inc.php @@ -106,14 +106,14 @@ if (! session_id() && ! isset($_SESSION["dol_user"]) && ! isset($_SESSION["dol_ $pear = $dolibarr_main_db_type.'://'.$dolibarr_main_db_user.':'.$dolibarr_main_db_pass.'@'.$dolibarr_main_db_host.'/'.$dolibarr_main_db_name; - if ($conf->global->DATABASE_PWD_ENCRYPTED) - { - $cryptType = "md5"; - } - else - { - $cryptType = "none"; - } + if ($conf->global->DATABASE_PWD_ENCRYPTED) + { + $cryptType = "md5"; + } + else + { + $cryptType = "none"; + } $params = array( "dsn" => $pear,