Si on relance install, on peut créer un nouveau compte admin.

Si on est en mode crypté, le mot de passe est crypté pour ce nouveau compte.
This commit is contained in:
Laurent Destailleur 2006-10-19 18:51:35 +00:00
parent e543268a3f
commit 6ee57fec28
2 changed files with 76 additions and 48 deletions

View File

@ -104,46 +104,74 @@ if ($_POST["action"] == "set" || $_POST["action"] == "upgrade")
{ {
if ($db->connected == 1) 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 = "INSERT INTO llx_user(datec,login,pass,admin,name,code) VALUES (now()";
$sql .= ",'".$_POST["login"]."'"; $sql.= ",'".$_POST["login"]."'";
$sql .= ",'".$_POST["pass"]."'"; $sql.= ",'".($conf->global->DATABASE_PWD_ENCRYPTED?md5($_POST["pass"]):$_POST["pass"])."'";
$sql .= ",1,'Administrateur','ADM')"; $sql.= ",1,'Administrateur','AD".$code."')";
} //print "sql=".$sql." ".mysql_errno($db->db);
$resql=$db->query($sql);
if ($resql)
{
print $langs->trans("AdminLoginCreatedSuccessfuly",$_POST["login"])."<br>";
$success = 1;
}
else
{
if ($db->errno() == 'DB_ERROR_RECORD_ALREADY_EXISTS')
{
print $langs->trans("AdminLoginAlreadyExists",$_POST["login"])."<br>";
$success = 1;
}
else
{
print $langs->trans("FailedToCreateAdminLogin")."<br>";
}
}
$resql=$db->query($sql); if ($success)
{
$db->query("DELETE FROM llx_const WHERE name='MAIN_NOT_INSTALLED'");
if ($resql) // Si install non Français, on configure pour fonctionner en mode internationnal
{ if ($langs->defaultlang != "fr_FR")
print $langs->trans("AdminLoginCreatedSuccessfuly")."<br>"; {
$success = 1; $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';");
else
{
if ($db->errno() == 'DB_ERROR_RECORD_ALREADY_EXISTS')
{
print $langs->trans("AdminLoginAlreadyExists",$_POST["login"])."<br>";
$success = 1;
}
else {
print $langs->trans("FailedToCreateAdminLogin")."<br>";
}
}
if ($success) $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';");
$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") }
{ else
$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';"); print $langs->trans("Error")."<br>";
}
$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';");
}
}
} }
$db->query("UPDATE llx_const set value='".$setuplang."' WHERE name='MAIN_LANG_DEFAULT';"); $db->query("UPDATE llx_const set value='".$setuplang."' WHERE name='MAIN_LANG_DEFAULT';");

View File

@ -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; $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) if ($conf->global->DATABASE_PWD_ENCRYPTED)
{ {
$cryptType = "md5"; $cryptType = "md5";
} }
else else
{ {
$cryptType = "none"; $cryptType = "none";
} }
$params = array( $params = array(
"dsn" => $pear, "dsn" => $pear,