summaryrefslogtreecommitdiff
path: root/modules/user/user.module
diff options
context:
space:
mode:
Diffstat (limited to 'modules/user/user.module')
-rw-r--r--modules/user/user.module11
1 files changed, 7 insertions, 4 deletions
diff --git a/modules/user/user.module b/modules/user/user.module
index 0dc6285a1..975a1ad77 100644
--- a/modules/user/user.module
+++ b/modules/user/user.module
@@ -1192,15 +1192,18 @@ function user_set_authmaps($account, $authmaps) {
foreach ($authmaps as $key => $value) {
$module = explode('_', $key, 2);
if ($value) {
- db_insert('authmap')->key(array(
+ db_merge('authmap')
+ ->key(array(
'uid' => $account->uid,
'module' => $module[1],
- ))->fields(array(
+ ))
+ ->fields(array(
'authname' => $value,
- ))->execute();
+ ))
+ ->execute();
}
else {
- db_query("DELETE FROM {authmap} WHERE uid = %d AND module = '%s'", $account->uid, $module[1]);
+ db_delete('authmap')->condition('uid', $account->uid)->condition('module', $module[1])->execute();
}
}
}