function system_user_timezone

Same name in other branches
  1. 8.9.x core/modules/system/system.module \system_user_timezone()

Add the time zone field to the user edit and register forms.

2 calls to system_user_timezone()
system_form_user_profile_form_alter in modules/system/system.module
Implements hook_form_FORM_ID_alter().
system_form_user_register_form_alter in modules/system/system.module
Implements hook_form_FORM_ID_alter().

File

modules/system/system.module, line 2034

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 ? variable_get('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',
            ),
        );
        drupal_add_js('misc/timezone.js');
    }
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.