diff options
author | Dries Buytaert <dries@buytaert.net> | 2004-05-19 14:55:19 +0000 |
---|---|---|
committer | Dries Buytaert <dries@buytaert.net> | 2004-05-19 14:55:19 +0000 |
commit | d0090e69e67cdd213be259281cbb008bca0d4006 (patch) | |
tree | f5f9814771191cebe6b59f2371a16fecad2ebbf0 /modules/user/user.module | |
parent | cd2f2bc0f9d01ef091e3e1d967849786461cb18b (diff) | |
download | brdo-d0090e69e67cdd213be259281cbb008bca0d4006.tar.gz brdo-d0090e69e67cdd213be259281cbb008bca0d4006.tar.bz2 |
- Patch #7614 by jhriggs: fixed some role related problems.
Diffstat (limited to 'modules/user/user.module')
-rw-r--r-- | modules/user/user.module | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/modules/user/user.module b/modules/user/user.module index e6b6cd42c..34003c959 100644 --- a/modules/user/user.module +++ b/modules/user/user.module @@ -86,11 +86,13 @@ function user_save($account, $array = array()) { db_query("UPDATE {users} SET $query changed = %d WHERE uid = %d", array_merge($v, array(time(), $account->uid))); - // reload user roles - db_query("DELETE FROM {users_roles} WHERE uid = %d", $account->uid); + // reload user roles if provided + if (is_array($array['rid'])) { + db_query("DELETE FROM {users_roles} WHERE uid = %d", $account->uid); - foreach ($array['rid'] as $rid) { - db_query("INSERT INTO {users_roles} (uid, rid) VALUES (%d, %d)", $account->uid, $rid); + foreach ($array['rid'] as $rid) { + db_query("INSERT INTO {users_roles} (uid, rid) VALUES (%d, %d)", $account->uid, $rid); + } } $user = user_load(array('uid' => $account->uid)); |