From 8da58f4be4e7310a013d4cbb8edc73aa4ed5b2b0 Mon Sep 17 00:00:00 2001 From: root Date: Mon, 6 Mar 2017 11:47:52 +0100 Subject: [PATCH] correction du controle de login utilisateur lors de la modification --- application/models/DbTable/Utilisateur.php | 12 +++++++----- application/services/User.php | 2 +- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/application/models/DbTable/Utilisateur.php b/application/models/DbTable/Utilisateur.php index ddc0c34c..a67351c9 100755 --- a/application/models/DbTable/Utilisateur.php +++ b/application/models/DbTable/Utilisateur.php @@ -45,17 +45,19 @@ public function getUsersWithInformations($group = null) return $this->fetchAll($select)->toArray(); } - public function isRegistered($login) + public function isRegistered($id_user, $login) { $select = $this->select() - ->setIntegrityCheck(false) ->from("utilisateur") - ->where("USERNAME_UTILISATEUR = ?", $login) - ->limit(1); + ->where("USERNAME_UTILISATEUR = ?", $login); + if ($id_user !== null) { + $select->where("ID_UTILISATEUR <> ?", $id_user); + } + $select->limit(1); $result = $this->fetchRow($select); - return ( $result != null ) ? true : false; + return $result != null; } public function getId($login) diff --git a/application/services/User.php b/application/services/User.php index 985875b5..6c7c4d4e 100755 --- a/application/services/User.php +++ b/application/services/User.php @@ -113,7 +113,7 @@ public function save($data, $avatar = null, $id_user = null) $db->beginTransaction(); try { - if ($id_user === null && $DB_user->isRegistered($data['USERNAME_UTILISATEUR'])) { + if ($DB_user->isRegistered($id_user, $data['USERNAME_UTILISATEUR'])) { throw new Exception("Nom d'utilisateur déjà enregistré. Veuillez en choisir un autre."); } $user = $id_user == null ? $DB_user->createRow() : $DB_user->find($id_user)->current();