diff --git a/htdocs/install/etape5.php b/htdocs/install/etape5.php index 11dac0c0f93..b6e5e00feae 100644 --- a/htdocs/install/etape5.php +++ b/htdocs/install/etape5.php @@ -99,24 +99,30 @@ if ($_POST["action"] == "set" || $_POST["action"] == "upgrade") { $conf->setValues($db); - $sql = "INSERT INTO llx_user(datec,login,pass,admin,name) VALUES (now()"; - $sql.= ",'".$_POST["login"]."'"; - $sql.= ",'".($conf->password_encrypted?md5($_POST["pass"]):$_POST["pass"])."'"; - $sql.= ",1,'Administrateur')"; - //print "sql=".$sql." ".mysql_errno($db->db); + // Create user + include_once(DOL_DOCUMENT_ROOT ."/user.class.php"); - dolibarr_install_syslog('install/etape5.php sql='.$sql, LOG_INFO); - $resql=$db->query($sql); - if ($resql) + $createuser=new User($db); + $createuser->id=0; + + $newuser = new User($db); + $newuser->nom='Admin'; + $newuser->prenom=''; + $newuser->login=$_POST["login"]; + $newuser->pass=$_POST["pass"]; + $newuser->admin=1; + + $result=$newuser->create($createuser,1); + if ($result > 0) { print $langs->trans("AdminLoginCreatedSuccessfuly",$_POST["login"])."
"; $success = 1; } else { - if ($db->errno() == 'DB_ERROR_RECORD_ALREADY_EXISTS') + if ($newuser->error == 'ErrorLoginAlreadyExists') { - dolibarr_install_syslog('install/etape5.php DB_ERROR_RECORD_ALREADY_EXISTS', LOG_WARNING); + dolibarr_install_syslog('install/etape5.php ErrorLoginAlreadyExists', LOG_WARNING); print '
'.$langs->trans("AdminLoginAlreadyExists",$_POST["login"])."

"; $success = 1; } diff --git a/htdocs/langs/en_US/errors.lang b/htdocs/langs/en_US/errors.lang index 0f31f2447d8..7b92d5a69b4 100644 --- a/htdocs/langs/en_US/errors.lang +++ b/htdocs/langs/en_US/errors.lang @@ -13,3 +13,4 @@ ErrorBadSupplierCodeSyntax=Bad syntax for supplier code ErrorSupplierCodeRequired=Supplier code required ErrorSupplierCodeAlreadyUsed=Supplier code already used ErrorBadParameters=Bad parameters +UserCannotBeDelete=User can not be deleted. May be it is associated on Dolibarr entities. \ No newline at end of file diff --git a/htdocs/langs/en_US/install.lang b/htdocs/langs/en_US/install.lang index 82aa53620d7..e303f6fe5ad 100644 --- a/htdocs/langs/en_US/install.lang +++ b/htdocs/langs/en_US/install.lang @@ -73,7 +73,7 @@ SetupEnd=End of setup SystemIsInstalled=Your system is now installed. SystemIsUpgraded=Dolibarr has been upgraded successfully. YouNeedToPersonalizeSetup=Now you must configure Dolibarr to match your needs (Look choice, functionnalities, ...). For this, click on the following link: -AdminLoginCreatedSuccessfuly=Administrator login created successfuly. +AdminLoginCreatedSuccessfuly=Dolibarr administrator login '%s' created successfuly. GoToSetupArea=Go to setup area Examples=Examples WithNoSlashAtTheEnd=Without the slash "/" at the end @@ -81,7 +81,7 @@ DirectoryRecommendation=It is recommanded to put this directry out of directory LoginAlreadyExists=Already exists DolibarrAdminLogin=Dolibarr admin login FailedToCreateAdminLogin=Failed to create Dolibarr administator account. -AdminLoginAlreadyExists=Dolibarr administrator account '%s' already exists. +AdminLoginAlreadyExists=Dolibarr administrator account '%s' already exists. WarningRemoveInstallDir=Warning, for security reasons, once install or upgrade is finished, you have to remove the install directory. ThisPHPDoesNotSupportTypeBase=This PHP system does not support interfaces to access database type %s FunctionNotAvailableInThisPHP=Not available on this PHP diff --git a/htdocs/langs/fr_FR/errors.lang b/htdocs/langs/fr_FR/errors.lang index a8780f69920..3953d40c58e 100644 --- a/htdocs/langs/fr_FR/errors.lang +++ b/htdocs/langs/fr_FR/errors.lang @@ -13,3 +13,4 @@ ErrorBadSupplierCodeSyntax=La syntaxe du code fournisseur est incorrect ErrorSupplierCodeRequired=Code fournisseur obligatoire ErrorSupplierCodeAlreadyUsed=Code fournisseur deja utilise ErrorBadParameters=Parametres incorrects +UserCannotBeDelete=L'utilisateur ne peut pas etre supprimée. Peut-être est-il associé à des éléments de Dolibarr. \ No newline at end of file diff --git a/htdocs/langs/fr_FR/install.lang b/htdocs/langs/fr_FR/install.lang index bf0fb35387e..d530b9eddff 100644 --- a/htdocs/langs/fr_FR/install.lang +++ b/htdocs/langs/fr_FR/install.lang @@ -75,7 +75,7 @@ SetupEnd=Fin de l'installation SystemIsInstalled=Votre système est maintenant installé. SystemIsUpgraded=Dolibarr a été mis à jour avec succès. YouNeedToPersonalizeSetup=Vous devez maintenant configurer Dolibarr selon vos besoins (Choix de l'apparence, des fonctionnalités, etc.). Pour cela, cliquez sur le lien ci-dessous: -AdminLoginCreatedSuccessfuly=Création du compte administrateur réussie. +AdminLoginCreatedSuccessfuly=Création du compte administrateur Dolibarr '%s' réussie. GoToSetupArea=Accès à l'espace de configuration Examples=Exemples WithNoSlashAtTheEnd=Sans le slash "/" à la fin @@ -83,7 +83,7 @@ DirectoryRecommendation=Il est recommand LoginAlreadyExists=Existe déjà DolibarrAdminLogin=Login de l'utilisateur administrateur de Dolibarr FailedToCreateAdminLogin=Echec de la création du compte administrateur Dolibarr. -AdminLoginAlreadyExists=Compte administrateur Dolibarr '%s' déjà existant. +AdminLoginAlreadyExists=Compte administrateur Dolibarr '%s' déjà existant. WarningRemoveInstallDir=Attention, pour des raisons de sécurité, une fois l'installation terminée, il est nécessaire de supprimer le répertoire install. ThisPHPDoesNotSupportTypeBase=Le système PHP ne supporta pas les interfaces d'accès pour les bases %s FunctionNotAvailableInThisPHP=Non disponible sur ce PHP diff --git a/htdocs/user.class.php b/htdocs/user.class.php index 81ce9b61acf..35382cad445 100644 --- a/htdocs/user.class.php +++ b/htdocs/user.class.php @@ -682,13 +682,14 @@ class User extends CommonObject */ function create($user='',$notrigger=0) { - global $conf,$langs; + global $conf; // Nettoyage parametres $this->login = trim($this->login); - dolibarr_syslog("User::Create login=".$this->login.", user=".$user->id); + dolibarr_syslog("User::Create login=".$this->login.", user=".(is_object($user)?$user->id:'')); + $error=0; $this->db->begin(); $sql = "SELECT login FROM ".MAIN_DB_PREFIX."user"; @@ -701,7 +702,7 @@ class User extends CommonObject if ($num) { - $this->error = $langs->trans("ErrorLoginAlreadyExists"); + $this->error = 'ErrorLoginAlreadyExists'; return -6; } else @@ -731,7 +732,7 @@ class User extends CommonObject return -4; } - if ($conf->global->STOCK_USERSTOCK == 1 && $conf->global->STOCK_USERSTOCK_AUTOCREATE == 1) + if (! empty($conf->global->STOCK_USERSTOCK) && ! empty($conf->global->STOCK_USERSTOCK_AUTOCREATE)) { require_once(DOL_DOCUMENT_ROOT."/product/stock/entrepot.class.php"); $entrepot = new Entrepot($this->db); diff --git a/htdocs/user/fiche.php b/htdocs/user/fiche.php index 827793e46bc..b60432de77c 100644 --- a/htdocs/user/fiche.php +++ b/htdocs/user/fiche.php @@ -114,6 +114,7 @@ if ($_POST["action"] == 'confirm_delete' && $_POST["confirm"] == "yes") $result = $edituser->delete(); if ($result < 0) { + $langs->load("errors"); $message='
'.$langs->trans("UserCannotBeDelete").'
'; } else