diff options
author | Steven Wittens <steven@10.no-reply.drupal.org> | 2004-09-12 12:47:51 +0000 |
---|---|---|
committer | Steven Wittens <steven@10.no-reply.drupal.org> | 2004-09-12 12:47:51 +0000 |
commit | 8c07aaa9c776c080bdd925c2efd2cb4ec655cdba (patch) | |
tree | 7b374de98954c1c8602603cc1d16ae12b4ae9496 /modules | |
parent | f6033d29e7000c9928c23ae77b2bb8b1b4850acb (diff) | |
download | brdo-8c07aaa9c776c080bdd925c2efd2cb4ec655cdba.tar.gz brdo-8c07aaa9c776c080bdd925c2efd2cb4ec655cdba.tar.bz2 |
#10733: fixing problems when creating users.
Diffstat (limited to 'modules')
-rw-r--r-- | modules/user.module | 9 | ||||
-rw-r--r-- | modules/user/user.module | 9 |
2 files changed, 10 insertions, 8 deletions
diff --git a/modules/user.module b/modules/user.module index af39a0a38..a62ccab94 100644 --- a/modules/user.module +++ b/modules/user.module @@ -928,7 +928,6 @@ function user_register($edit = array()) { } if ($edit) { - $edit['roles'] = array(_user_authenticated_id()); // needed for validation user_module_invoke('validate', $edit, $edit, 'account'); if (!form_get_errors()) { @@ -937,7 +936,7 @@ function user_register($edit = array()) { // TODO: Is this necessary? Won't session_write() replicate this? unset($edit['session']); - $account = user_save('', array('name' => $edit['name'], 'pass' => $pass, 'init' => $edit['mail'], 'mail' => $edit['mail'], 'roles' => $edit['roles'], 'status' => (variable_get('user_register', 1) == 1 ? 1 : 0))); + $account = user_save('', array('name' => $edit['name'], 'pass' => $pass, 'init' => $edit['mail'], 'mail' => $edit['mail'], 'roles' => array(_user_authenticated_id()), 'status' => (variable_get('user_register', 1) == 1 ? 1 : 0))); watchdog('user', t('New user: %name %e-mail.', array('%name' => '<em>'. $edit['name'] .'</em>', '%e-mail' => '<em><'. $edit['mail'] .'></em>')), l(t('edit'), 'user/'. $account->uid .'/edit')); $variables = array('%username' => $edit['name'], '%site' => variable_get('site_name', 'drupal'), '%password' => $pass, '%uri' => $base_url, '%uri_brief' => substr($base_url, strlen('http://')), '%mailto' => $edit['mail'], '%date' => format_date(time()), '%login_uri' => url('user/login', NULL, NULL, TRUE), '%edit_uri' => url('user/'. $account->uid .'/edit', NULL, NULL, TRUE)); @@ -1043,7 +1042,7 @@ function user_edit_validate($uid, &$edit) { } // Validate the roles - if (!$edit['roles']) { + if (user_access('administer users') && !$edit['roles']) { form_set_error('roles', t('You must select at least one role.')); $edit['roles'] = array(); } @@ -1271,12 +1270,14 @@ function user_configure_settings() { function user_admin_create($edit = array()) { if ($edit) { + // Because the admin form doesn't have roles selection they need to be set to validate properly + $edit['roles'] = array(_user_authenticated_id()); user_module_invoke('validate', $edit, $edit, 'account'); if (!form_get_errors()) { watchdog('user', t('New user: %name %e-mail.', array('%name' => '<em>'. $edit['name'] .'</em>', '%e-mail' => '<em><'. $edit['mail'] .'></em>'))); - user_save('', array('name' => $edit['name'], 'pass' => $edit['pass'], 'init' => $edit['mail'], 'mail' => $edit['mail'], 'roles' => array(_user_authenticated_id()), 'status' => 1)); + user_save('', array('name' => $edit['name'], 'pass' => $edit['pass'], 'init' => $edit['mail'], 'mail' => $edit['mail'], 'roles' => $edit['roles'], 'status' => 1)); drupal_set_message(t('Created a new user account. No e-mail has been sent.')); diff --git a/modules/user/user.module b/modules/user/user.module index af39a0a38..a62ccab94 100644 --- a/modules/user/user.module +++ b/modules/user/user.module @@ -928,7 +928,6 @@ function user_register($edit = array()) { } if ($edit) { - $edit['roles'] = array(_user_authenticated_id()); // needed for validation user_module_invoke('validate', $edit, $edit, 'account'); if (!form_get_errors()) { @@ -937,7 +936,7 @@ function user_register($edit = array()) { // TODO: Is this necessary? Won't session_write() replicate this? unset($edit['session']); - $account = user_save('', array('name' => $edit['name'], 'pass' => $pass, 'init' => $edit['mail'], 'mail' => $edit['mail'], 'roles' => $edit['roles'], 'status' => (variable_get('user_register', 1) == 1 ? 1 : 0))); + $account = user_save('', array('name' => $edit['name'], 'pass' => $pass, 'init' => $edit['mail'], 'mail' => $edit['mail'], 'roles' => array(_user_authenticated_id()), 'status' => (variable_get('user_register', 1) == 1 ? 1 : 0))); watchdog('user', t('New user: %name %e-mail.', array('%name' => '<em>'. $edit['name'] .'</em>', '%e-mail' => '<em><'. $edit['mail'] .'></em>')), l(t('edit'), 'user/'. $account->uid .'/edit')); $variables = array('%username' => $edit['name'], '%site' => variable_get('site_name', 'drupal'), '%password' => $pass, '%uri' => $base_url, '%uri_brief' => substr($base_url, strlen('http://')), '%mailto' => $edit['mail'], '%date' => format_date(time()), '%login_uri' => url('user/login', NULL, NULL, TRUE), '%edit_uri' => url('user/'. $account->uid .'/edit', NULL, NULL, TRUE)); @@ -1043,7 +1042,7 @@ function user_edit_validate($uid, &$edit) { } // Validate the roles - if (!$edit['roles']) { + if (user_access('administer users') && !$edit['roles']) { form_set_error('roles', t('You must select at least one role.')); $edit['roles'] = array(); } @@ -1271,12 +1270,14 @@ function user_configure_settings() { function user_admin_create($edit = array()) { if ($edit) { + // Because the admin form doesn't have roles selection they need to be set to validate properly + $edit['roles'] = array(_user_authenticated_id()); user_module_invoke('validate', $edit, $edit, 'account'); if (!form_get_errors()) { watchdog('user', t('New user: %name %e-mail.', array('%name' => '<em>'. $edit['name'] .'</em>', '%e-mail' => '<em><'. $edit['mail'] .'></em>'))); - user_save('', array('name' => $edit['name'], 'pass' => $edit['pass'], 'init' => $edit['mail'], 'mail' => $edit['mail'], 'roles' => array(_user_authenticated_id()), 'status' => 1)); + user_save('', array('name' => $edit['name'], 'pass' => $edit['pass'], 'init' => $edit['mail'], 'mail' => $edit['mail'], 'roles' => $edit['roles'], 'status' => 1)); drupal_set_message(t('Created a new user account. No e-mail has been sent.')); |