diff --git a/core/modules/datetime/datetime.module b/core/modules/datetime/datetime.module index d964242..797528a 100644 --- a/core/modules/datetime/datetime.module +++ b/core/modules/datetime/datetime.module @@ -31,14 +31,16 @@ function datetime_element_info() { $format_type = datetime_default_format_type(); - // Date formats cannot be loaded during update. - if (defined('MAINTENANCE_MODE') && MAINTENANCE_MODE == 'update') { - $date_format = ''; - $time_format = ''; - } - else { - $date_format = entity_load('date_format', 'html_date')->getPattern($format_type); - $time_format = entity_load('date_format', 'html_time')->getPattern($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, @@ -427,7 +429,7 @@ function theme_datetime_wrapper($variables) { * list of the possible formats and HTML5 standards for the HTML5 * requirements. Defaults to the right HTML5 format for the chosen element * if a HTML5 element is used, otherwise defaults to - * config('system.date')->get('formats.html_date.pattern.php'). + * entity_load('date_format', 'html_date')->getPattern(). * - #date_date_element: The date element. Options are: * - datetime: Use the HTML5 datetime element type. * - datetime-local: Use the HTML5 datetime-local element type. @@ -447,7 +449,7 @@ function theme_datetime_wrapper($variables) { * a list of the possible formats and HTML5 standards for the HTML5 * requirements. Defaults to the right HTML5 format for the chosen element * if a HTML5 element is used, otherwise defaults to - * config('system.date')->get('formats.html_time.pattern.php'). + * entity_load('date_format', 'html_time')->getPattern(). * - #date_time_callbacks: An array of optional callbacks for the time * element. Can be used to add a jQuery timepicker or an 'All day' checkbox. * - #date_year_range: A description of the range of years to allow, like diff --git a/core/modules/system/lib/Drupal/system/DateFormatStorageController.php b/core/modules/system/lib/Drupal/system/DateFormatStorageController.php index 6d28298..0d767ba 100644 --- a/core/modules/system/lib/Drupal/system/DateFormatStorageController.php +++ b/core/modules/system/lib/Drupal/system/DateFormatStorageController.php @@ -22,15 +22,12 @@ protected function preSave(EntityInterface $entity) { parent::preSave($entity); $languages = language_list(); - $locale_format = array( - 'name' => $entity->label(), - 'pattern' => $entity->get('pattern'), - ); // Check if the suggested language codes are configured. foreach ($entity->getLocales() as $langcode) { if (isset($languages[$langcode])) { - config('locale.config.' . $langcode . '.system.date') - ->set('formats.' . $entity->id(), $locale_format) + config('locale.config.' . $langcode . '.system.date_format.' . $entity->id()) + ->set('label', $entity->label()) + ->set('pattern', $entity->get('pattern')) ->save(); } } @@ -48,10 +45,7 @@ protected function postDelete($entities) { foreach ($entities as $entity) { $format_id = $entity->id(); foreach ($languages as $langcode => $data) { - $config = config('locale.config.' . $langcode . '.system.date'); - if ($config->get($format_id)) { - $config->clear($format_id)->save(); - } + config("locale.config.$langcode.system.date_format.$format_id")->delete(); } } } diff --git a/core/modules/system/system.admin.inc b/core/modules/system/system.admin.inc index 0aeead9..c55b0f6 100644 --- a/core/modules/system/system.admin.inc +++ b/core/modules/system/system.admin.inc @@ -1868,11 +1868,11 @@ function system_date_format_localize_form($form, &$form_state, $langcode) { function system_date_format_localize_form_submit($form, &$form_state) { $langcode = $form_state['values']['langcode']; - $formats = Drupal::entityQuery('date_format')->execute(); - foreach ($formats as $date_format_id) { + $formats = entity_load_multiple('date_format'); + foreach ($formats as $date_format_id => $format_info) { if (isset($form_state['values']['date_format_' . $date_format_id])) { $format = $form_state['values']['date_format_' . $date_format_id]; - system_date_format_localize_form_save($langcode, $date_format_id, $formats[$format]['pattern']); + system_date_format_localize_form_save($langcode, $date_format_id, $formats[$format]->get('pattern')); } } drupal_set_message(t('Configuration saved.'));