user_register
modules/user/user.module, строка 2389
- Версии
- 5 – 6
user_register()
Конструктор формы; Форма регистрации пользователя.
См. также
Связанные темы
Код
<?php
function user_register() {
global $user;
$admin = user_access('administer users');
// 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 = array();
// Display the registration form.
if (!$admin) {
$form['user_registration_help'] = array('#value' => filter_xss_admin(variable_get('user_registration_help', '')));
}
// Merge in the default user edit fields.
$form = array_merge($form, user_edit_form($form_state, NULL, NULL, TRUE));
if ($admin) {
$form['account']['notify'] = array(
'#type' => 'checkbox',
'#title' => t('Notify user of new account')
);
// Redirect back to page which initiated the create request;
// usually admin/user/user/create.
$form['destination'] = array('#type' => 'hidden', '#value' => $_GET['q']);
}
// Create a dummy variable for pass-by-reference parameters.
$null = NULL;
$extra = _user_forms($null, NULL, NULL, 'register');
// Remove form_group around default fields if there are no other groups.
if (!$extra) {
foreach (array('name', 'mail', 'pass', 'status', 'roles', 'notify') as $key) {
if (isset($form['account'][$key])) {
$form[$key] = $form['account'][$key];
}
}
unset($form['account']);
}
else {
$form = array_merge($form, $extra);
}
if (variable_get('configurable_timezones', 1)) {
// Override field ID, so we only change timezone on user registration,
// and never touch it on user edit pages.
$form['timezone'] = array(
'#type' => 'hidden',
'#default_value' => variable_get('date_default_timezone', NULL),
'#id' => 'edit-user-register-timezone',
);
// Add the JavaScript callback to automatically set the timezone.
drupal_add_js(
// Global Killswitch
if (Drupal.jsEnabled) {
$(document).ready(function() {
Drupal.setDefaultTimezone();
});
}
?>
Код функции для версии 6 обрезан
окончание такое: