diff --git a/modules/user.module b/modules/user.module index 539fab30afa..59f1a1d3d9a 100644 --- a/modules/user.module +++ b/modules/user.module @@ -779,10 +779,13 @@ function user_login($edit = array(), $msg = '') { foreach (module_list() as $module) { if (module_hook($module, 'auth')) { if (module_invoke($module, 'auth', $name, $pass, $server)) { - if (variable_get('user_register', 1) == 1 && !user_load(array('name' => "$name@$server"))) { // Register this new user. - $user = user_save('', array('name' => "$name@$server", 'pass' => user_password(), 'init' => "$name@$server", 'status' => 1, "authname_$module" => "$name@$server", 'roles' => array(_user_authenticated_id()))); - watchdog('user', "new user: $name@$server ($module ID)", l(t('edit user'), "user/$user->uid/edit")); - break; + if (variable_get('user_register', 1) == 1) { + $account = user_load(array('name' => "$name@$server")); + if (!$account->uid) { // Register this new user. + $user = user_save('', array('name' => "$name@$server", 'pass' => user_password(), 'init' => "$name@$server", 'status' => 1, "authname_$module" => "$name@$server", 'roles' => array(_user_authenticated_id()))); + watchdog('user', "new user: $name@$server ($module ID)", l(t('edit user'), "user/$user->uid/edit")); + break; + } } } } diff --git a/modules/user/user.module b/modules/user/user.module index 539fab30afa..59f1a1d3d9a 100644 --- a/modules/user/user.module +++ b/modules/user/user.module @@ -779,10 +779,13 @@ function user_login($edit = array(), $msg = '') { foreach (module_list() as $module) { if (module_hook($module, 'auth')) { if (module_invoke($module, 'auth', $name, $pass, $server)) { - if (variable_get('user_register', 1) == 1 && !user_load(array('name' => "$name@$server"))) { // Register this new user. - $user = user_save('', array('name' => "$name@$server", 'pass' => user_password(), 'init' => "$name@$server", 'status' => 1, "authname_$module" => "$name@$server", 'roles' => array(_user_authenticated_id()))); - watchdog('user', "new user: $name@$server ($module ID)", l(t('edit user'), "user/$user->uid/edit")); - break; + if (variable_get('user_register', 1) == 1) { + $account = user_load(array('name' => "$name@$server")); + if (!$account->uid) { // Register this new user. + $user = user_save('', array('name' => "$name@$server", 'pass' => user_password(), 'init' => "$name@$server", 'status' => 1, "authname_$module" => "$name@$server", 'roles' => array(_user_authenticated_id()))); + watchdog('user', "new user: $name@$server ($module ID)", l(t('edit user'), "user/$user->uid/edit")); + break; + } } } }