diff options
-rw-r--r-- | inc/auth/mysql.class.php | 5 | ||||
-rw-r--r-- | inc/auth/plain.class.php | 9 |
2 files changed, 11 insertions, 3 deletions
diff --git a/inc/auth/mysql.class.php b/inc/auth/mysql.class.php index ad9d532d3..f0dde6ae0 100644 --- a/inc/auth/mysql.class.php +++ b/inc/auth/mysql.class.php @@ -164,7 +164,10 @@ class auth_mysql extends auth_basic { if($this->openDB()) { $this->lockTables("WRITE"); if (($info = $this->getUserInfo($user)) !== false) { + $newuser = $user; foreach ($changes as $field => $value) { + if ($field == 'user') + $newuser = $value; if ($field == 'pass' && !$this->cnf['encryptPass']) $value = auth_cryptPassword($value); $info[$field] = $value; // update user record @@ -172,7 +175,7 @@ class auth_mysql extends auth_basic { $rc = $this->delUser($user); // remove user from database if ($rc) - $rc = $this->addUser($user,$info['pass'],$info['name'],$info['mail'],$info['grps']); + $rc = $this->addUser($newuser,$info['pass'],$info['name'],$info['mail'],$info['grps']); if (!$rc) msg($lang['modUserFailed'], -1); } diff --git a/inc/auth/plain.class.php b/inc/auth/plain.class.php index d492463e5..140bd7519 100644 --- a/inc/auth/plain.class.php +++ b/inc/auth/plain.class.php @@ -111,13 +111,18 @@ class auth_plain extends auth_basic { if (!is_array($changes) || !count($changes)) return true; // update userinfo with new data, remembering to encrypt any password + $newuser = $user; foreach ($changes as $field => $value) { + if ($field == 'user') { + $newuser = $value; + continue; + } if ($field == 'pass') $value = auth_cryptPassword($value); $userinfo[$field] = $value; } $groups = join(',',$userinfo['grps']); - $userline = join(':',array($user, $userinfo['pass'], $userinfo['name'], $userinfo['mail'], $groups))."\n"; + $userline = join(':',array($newuser, $userinfo['pass'], $userinfo['name'], $userinfo['mail'], $groups))."\n"; if (!$this->deleteUsers(array($user))) { msg('Unable to modify user data. Please inform the Wiki-Admin',-1); @@ -131,7 +136,7 @@ class auth_plain extends auth_basic { return false; } - $this->users[$user] = $userinfo; + $this->users[$newuser] = $userinfo; return true; } |