1.20.x system.module | system_user_timezone(&$form, &$form_state) |
Add the time zone field to the user edit and register forms.
File
- modules/
system/ system.module, line 2478 - Configuration system that lets administrators modify the workings of the site.
Code
function system_user_timezone(&$form, &$form_state) {
global $user;
$account = $form['#user'];
$form['timezone'] = array(
'#type' => 'fieldset',
'#title' => t('Locale settings'),
'#weight' => 6,
'#collapsible' => TRUE,
);
$form['timezone']['timezone'] = array(
'#type' => 'select',
'#title' => t('Time zone'),
'#default_value' => isset($account->timezone) ? $account->timezone : ($account->uid == $user->uid ? config_get('system.date', 'default_timezone') : ''),
'#options' => system_time_zones($account->uid != $user->uid),
'#description' => t('Select the desired local time and time zone. Dates and times throughout this site will be displayed using this time zone.'),
);
if (!isset($account->timezone) && $account->uid == $user->uid && empty($form_state['input']['timezone'])) {
$form['timezone']['timezone']['#attributes'] = array('class' => array('timezone-detect'));
backdrop_add_js('core/misc/timezone.js');
}
}