diff --git a/core/modules/datetime/datetime.module b/core/modules/datetime/datetime.module index 21ba5d6..91c163c 100644 --- a/core/modules/datetime/datetime.module +++ b/core/modules/datetime/datetime.module @@ -30,29 +30,14 @@ * Implements hook_element_info(). */ function datetime_element_info() { - $format_type = datetime_default_format_type(); - - $date_format = ''; - $time_format = ''; - // Date formats cannot be loaded during install or update. - if (!defined('MAINTENANCE_MODE')) { - if ($date_format_entity = entity_load('date_format', 'html_date')) { - $date_format = $date_format_entity->getPattern($format_type); - } - if ($time_format_entity = entity_load('date_format', 'html_time')) { - $time_format = $time_format_entity->getPattern($format_type); - } - } $types['datetime'] = array( '#input' => TRUE, '#element_validate' => array('datetime_datetime_validate'), '#process' => array('datetime_datetime_form_process'), '#theme' => 'datetime_form', '#theme_wrappers' => array('datetime_wrapper'), - '#date_date_format' => $date_format, '#date_date_element' => 'date', '#date_date_callbacks' => array(), - '#date_time_format' => $time_format, '#date_time_element' => 'time', '#date_time_callbacks' => array(), '#date_year_range' => '1900:2050', @@ -502,6 +487,13 @@ function theme_datetime_wrapper($variables) { * The form element whose value has been processed. */ function datetime_datetime_form_process($element, &$form_state) { + $format_type = datetime_default_format_type(); + if (!isset($element['#date_date_format']) && $date_format_entity = entity_load('date_format', 'html_date')) { + $element['#date_date_format'] = $date_format_entity->getPattern($format_type); + } + if (!isset($element['#date_time_format']) && $time_format_entity = entity_load('date_format', 'html_time')) { + $element['#date_time_format'] = $time_format_entity->getPattern($format_type); + } // The value callback has populated the #value array. $date = !empty($element['#value']['object']) ? $element['#value']['object'] : NULL;