Form builder; the user registration form.
See also
Related topics
10 string references to 'user_register_form'
- FieldInfoTestCase::testFieldInfo in modules/
field/ tests/ field.test - Test that field types and field definitions are correcly cached.
- FieldInfoTestCase::testSettingsInfo in modules/
field/ tests/ field.test - Test that the field_info settings convenience functions work.
- locale_form_alter in modules/
locale/ locale.module - Implements hook_form_alter().
- openid_authentication in modules/
openid/ openid.module - Authenticate a user or attempt registration.
- UserRegistrationTestCase::testRegistrationWithUserFields in modules/
user/ user.test - Tests Field API fields on user registration forms.
File
- modules/
user/ user.module, line 3903 - Enables the user registration and login system.
Code
function user_register_form($form, &$form_state) {
global $user;
$admin = user_access('administer users');
// Pass access information to the submit handler. Running an access check
// inside the submit function interferes with form processing and breaks
// hook_form_alter().
$form['administer_users'] = array(
'#type' => 'value',
'#value' => $admin,
);
// If we aren't admin but already logged on, go to the user page instead.
if (!$admin && $user->uid) {
drupal_goto('user/' . $user->uid);
}
$form['#user'] = drupal_anonymous_user();
$form['#user_category'] = 'register';
$form['#attached']['library'][] = array(
'system',
'jquery.cookie',
);
$form['#attributes']['class'][] = 'user-info-from-cookie';
// Start with the default user account fields.
user_account_form($form, $form_state);
// Attach field widgets, and hide the ones where the 'user_register_form'
// setting is not on.
$langcode = entity_language('user', $form['#user']);
field_attach_form('user', $form['#user'], $form, $form_state, $langcode);
foreach (field_info_instances('user', 'user') as $field_name => $instance) {
if (empty($instance['settings']['user_register_form'])) {
$form[$field_name]['#access'] = FALSE;
}
}
if ($admin) {
// Redirect back to page which initiated the create request;
// usually admin/people/create.
$form_state['redirect'] = $_GET['q'];
}
$form['actions'] = array(
'#type' => 'actions',
);
$form['actions']['submit'] = array(
'#type' => 'submit',
'#value' => t('Create new account'),
);
$form['#validate'][] = 'user_register_validate';
// Add the final user registration form submit handler.
$form['#submit'][] = 'user_register_submit';
return $form;
}