You are here

function date_timezone_element_process in Date 8

Same name and namespace in other branches
  1. 7.3 date_api/date_api_elements.inc \date_timezone_element_process()
  2. 7 date_api/date_api_elements.inc \date_timezone_element_process()
  3. 7.2 date_api/date_api_elements.inc \date_timezone_element_process()

Creates a timezone form element.

Parameters

array $element: The timezone form element.

Return value

array the timezone form element

1 string reference to 'date_timezone_element_process'
_date_api_element_info in date_api/date_api_elements.inc
Implements hook_element_info().

File

date_api/date_api_elements.inc, line 194
Date API elements themes and validation. This file is only included during the edit process to reduce memory usage.

Code

function date_timezone_element_process($element, &$form_state, $form) {
  if (date_hidden_element($element)) {
    return $element;
  }
  $element['#tree'] = TRUE;
  $label = theme('date_part_label_timezone', array(
    'part_type' => 'select',
    'element' => $element,
  ));
  $element['timezone'] = array(
    '#type' => 'select',
    '#title' => $element['#date_label_position'] == 'above' ? $label : '',
    '#options' => system_time_zones($element['#required']),
    '#value' => $element['#value'],
    '#weight' => $element['#weight'],
    '#required' => $element['#required'],
    '#theme' => 'date_select_element',
    '#theme_wrappers' => array(
      'form_element',
    ),
  );
  if (isset($element['#element_validate'])) {
    array_push($element['#element_validate'], 'date_timezone_validate');
  }
  else {
    $element['#element_validate'] = array(
      'date_timezone_validate',
    );
  }
  $context = array(
    'form' => $form,
  );
  drupal_alter('date_timezone_process', $element, $form_state, $context);
  return $element;
}