diff --git a/htdocs/user/class/user.class.php b/htdocs/user/class/user.class.php index 393d9710a48..4287349356e 100644 --- a/htdocs/user/class/user.class.php +++ b/htdocs/user/class/user.class.php @@ -1221,7 +1221,9 @@ class User extends CommonObject // Mise a jour if (! $changelater) { - $sql = "UPDATE ".MAIN_DB_PREFIX."user"; + if (! is_object($this->oldcopy)) $this->oldcopy=dol_clone($this); + + $sql = "UPDATE ".MAIN_DB_PREFIX."user"; $sql.= " SET pass_crypted = '".$this->db->escape($password_crypted)."',"; $sql.= " pass_temp = null"; if (! empty($conf->global->DATABASE_PWD_ENCRYPTED)) @@ -1239,7 +1241,7 @@ class User extends CommonObject $result = $this->db->query($sql); if ($result) { - if ($this->db->affected_rows($result)) + if ($this->db->affected_rows($result)) { $this->pass=$password; $this->pass_indatabase=$password; diff --git a/htdocs/user/fiche.php b/htdocs/user/fiche.php index 4531214e886..52883b081a7 100644 --- a/htdocs/user/fiche.php +++ b/htdocs/user/fiche.php @@ -362,6 +362,8 @@ if ($action == 'update' && ! $_POST["cancel"]) $edituser = new User($db); $edituser->fetch($_GET["id"]); + $edituser->oldcopy=dol_clone($edituser); + $ret=$edituser->setPassword($user,$_POST["password"]); if ($ret < 0) {