diff --git a/core/modules/system/config/schema/system.schema.yml b/core/modules/system/config/schema/system.schema.yml index 020e9d3..857e59f 100644 --- a/core/modules/system/config/schema/system.schema.yml +++ b/core/modules/system/config/schema/system.schema.yml @@ -130,12 +130,6 @@ system.date_format.*: locked: type: boolean label: 'Locked' - locales: - type: sequence - label: 'Languages' - sequence: - - type: string - label: 'Language' pattern: type: mapping label: 'Format string' diff --git a/core/modules/system/config/system.date_format.fallback.yml b/core/modules/system/config/system.date_format.fallback.yml index 51e0182..6e0c242 100644 --- a/core/modules/system/config/system.date_format.fallback.yml +++ b/core/modules/system/config/system.date_format.fallback.yml @@ -4,7 +4,6 @@ label: 'Fallback date format' status: true langcode: en locked: true -locales: { } pattern: php: 'D, m/d/Y - H:i' intl: 'ccc, MM/dd/yyyy - kk:mm' diff --git a/core/modules/system/config/system.date_format.html_date.yml b/core/modules/system/config/system.date_format.html_date.yml index 50f2509..7c81d45 100644 --- a/core/modules/system/config/system.date_format.html_date.yml +++ b/core/modules/system/config/system.date_format.html_date.yml @@ -4,7 +4,6 @@ label: 'HTML Date' status: true langcode: en locked: true -locales: { } pattern: php: Y-m-d intl: yyyy-MM-dd diff --git a/core/modules/system/config/system.date_format.html_datetime.yml b/core/modules/system/config/system.date_format.html_datetime.yml index 33fad39..fd594fd 100644 --- a/core/modules/system/config/system.date_format.html_datetime.yml +++ b/core/modules/system/config/system.date_format.html_datetime.yml @@ -4,7 +4,6 @@ label: 'HTML Datetime' status: true langcode: en locked: true -locales: { } pattern: php: 'Y-m-d\TH:i:sO' intl: 'yyyy-MM-dd''T''kk:mm:ssZZ' diff --git a/core/modules/system/config/system.date_format.html_month.yml b/core/modules/system/config/system.date_format.html_month.yml index b2c8c60..439ee54 100644 --- a/core/modules/system/config/system.date_format.html_month.yml +++ b/core/modules/system/config/system.date_format.html_month.yml @@ -4,7 +4,6 @@ label: 'HTML Month' status: true langcode: en locked: true -locales: { } pattern: php: Y-m intl: Y-MM diff --git a/core/modules/system/config/system.date_format.html_time.yml b/core/modules/system/config/system.date_format.html_time.yml index d804313..cff494c 100644 --- a/core/modules/system/config/system.date_format.html_time.yml +++ b/core/modules/system/config/system.date_format.html_time.yml @@ -4,7 +4,6 @@ label: 'HTML Time' status: true langcode: en locked: true -locales: { } pattern: php: 'H:i:s' intl: 'H:mm:ss' diff --git a/core/modules/system/config/system.date_format.html_week.yml b/core/modules/system/config/system.date_format.html_week.yml index 4258b21..47720c2 100644 --- a/core/modules/system/config/system.date_format.html_week.yml +++ b/core/modules/system/config/system.date_format.html_week.yml @@ -4,7 +4,6 @@ label: 'HTML Week' status: true langcode: en locked: true -locales: { } pattern: php: Y-\WW intl: 'Y-''W''WW' diff --git a/core/modules/system/config/system.date_format.html_year.yml b/core/modules/system/config/system.date_format.html_year.yml index aaba268..fa67489 100644 --- a/core/modules/system/config/system.date_format.html_year.yml +++ b/core/modules/system/config/system.date_format.html_year.yml @@ -4,7 +4,6 @@ label: 'HTML Year' status: true langcode: en locked: true -locales: { } pattern: php: Y intl: Y diff --git a/core/modules/system/config/system.date_format.html_yearless_date.yml b/core/modules/system/config/system.date_format.html_yearless_date.yml index 221244b..420bac6 100644 --- a/core/modules/system/config/system.date_format.html_yearless_date.yml +++ b/core/modules/system/config/system.date_format.html_yearless_date.yml @@ -4,7 +4,6 @@ label: 'HTML Yearless date' status: true langcode: en locked: true -locales: { } pattern: php: m-d intl: MM-d diff --git a/core/modules/system/config/system.date_format.long.yml b/core/modules/system/config/system.date_format.long.yml index d9492bc..487458d 100644 --- a/core/modules/system/config/system.date_format.long.yml +++ b/core/modules/system/config/system.date_format.long.yml @@ -4,7 +4,6 @@ label: 'Default long date' status: true langcode: en locked: false -locales: { } pattern: php: 'l, F j, Y - H:i' intl: 'EEEE, LLLL d, yyyy - kk:mm' diff --git a/core/modules/system/config/system.date_format.medium.yml b/core/modules/system/config/system.date_format.medium.yml index 82c18f2..4d18cb4 100644 --- a/core/modules/system/config/system.date_format.medium.yml +++ b/core/modules/system/config/system.date_format.medium.yml @@ -4,7 +4,6 @@ label: 'Default medium date' status: true langcode: en locked: false -locales: { } pattern: php: 'D, m/d/Y - H:i' intl: 'ccc, MM/dd/yyyy - kk:mm' diff --git a/core/modules/system/config/system.date_format.short.yml b/core/modules/system/config/system.date_format.short.yml index bfba918..2bf1a4d 100644 --- a/core/modules/system/config/system.date_format.short.yml +++ b/core/modules/system/config/system.date_format.short.yml @@ -4,7 +4,6 @@ label: 'Default short date' status: true langcode: en locked: false -locales: { } pattern: php: 'm/d/Y - H:i' intl: 'MM/dd/yyyy - kk:mm' diff --git a/core/modules/system/lib/Drupal/system/Controller/DateFormatLanguageController.php b/core/modules/system/lib/Drupal/system/Controller/DateFormatLanguageController.php deleted file mode 100644 index 1f97951..0000000 --- a/core/modules/system/lib/Drupal/system/Controller/DateFormatLanguageController.php +++ /dev/null @@ -1,51 +0,0 @@ - $language) { - $row = array(); - $row[] = $language->name; - $links = array(); - $links['edit'] = array( - 'title' => t('Edit'), - 'href' => 'admin/config/regional/date-time/locale/' . $langcode . '/edit', - ); - $links['reset'] = array( - 'title' => t('Reset'), - 'href' => 'admin/config/regional/date-time/locale/' . $langcode . '/reset', - ); - $row[] = array( - 'data' => array( - '#type' => 'operations', - '#links' => $links, - ), - ); - $rows[] = $row; - } - - return array('#theme' => 'table', '#header' => $header, '#rows' => $rows); - - } - -} diff --git a/core/modules/system/lib/Drupal/system/DateFormatInterface.php b/core/modules/system/lib/Drupal/system/DateFormatInterface.php index 6801494..7a15cb2 100644 --- a/core/modules/system/lib/Drupal/system/DateFormatInterface.php +++ b/core/modules/system/lib/Drupal/system/DateFormatInterface.php @@ -40,44 +40,6 @@ public function getPattern($type = DrupalDateTime::PHP); public function setPattern($pattern, $type = DrupalDateTime::PHP); /** - * Adds a locale for this date format. - * - * @param string $locale - * The locale to add for this format. - * - * @return self - * Returns the date format. - */ - public function addLocale($locale); - - /** - * Sets the locales for this date format. This overwrites existing locales. - * - * @param array $locales - * The array of locales to set for this format. - * - * @return self - * Returns the date format. - */ - public function setLocales(array $locales); - - /** - * Returns an array of the locales for this date format. - * - * @return array - * An array of locale names. - */ - public function getLocales(); - - /** - * Determines if this data format has any locales. - * - * @return bool - * TRUE if the date format has locales, FALSE otherwise. - */ - public function hasLocales(); - - /** * Determines if this date format is locked. * * @return bool diff --git a/core/modules/system/lib/Drupal/system/Entity/DateFormat.php b/core/modules/system/lib/Drupal/system/Entity/DateFormat.php index fb4c7d3..d1dfca2 100644 --- a/core/modules/system/lib/Drupal/system/Entity/DateFormat.php +++ b/core/modules/system/lib/Drupal/system/Entity/DateFormat.php @@ -79,18 +79,12 @@ class DateFormat extends ConfigEntityBase implements DateFormatInterface { protected $locked = FALSE; /** - * @var array - */ - protected $locales = array(); - - /** * {@inheritdoc} */ public function getExportProperties() { $properties = parent::getExportProperties(); $names = array( 'locked', - 'locales', 'pattern', ); foreach ($names as $name) { @@ -117,78 +111,8 @@ public function setPattern($pattern, $type = DrupalDateTime::PHP) { /** * {@inheritdoc} */ - public function getLocales() { - return $this->locales; - } - - /** - * {@inheritdoc} - */ - public function setLocales(array $locales) { - $this->locales = $locales; - return $this; - } - - /** - * {@inheritdoc} - */ - public function hasLocales() { - return !empty($this->locales); - } - - /** - * {@inheritdoc} - */ - public function addLocale($locale) { - $this->locales[] = $locale; - $this->locales = array_unique($this->locales); - return $this; - } - - /** - * {@inheritdoc} - */ public function isLocked() { return (bool) $this->locked; } - /** - * {@inheritdoc} - */ - public function preSave(EntityStorageControllerInterface $storage_controller) { - parent::preSave($storage_controller); - - if ($this->hasLocales()) { - $config_factory = \Drupal::service('config.factory'); - $properties = $this->getExportProperties(); - $languages = language_list(); - // Check if the suggested language codes are configured. - foreach ($this->getLocales() as $langcode) { - if (isset($languages[$langcode])) { - $config_factory->get('locale.config.' . $langcode . '.system.date_format.' . $this->id()) - ->setData($properties) - ->save(); - } - } - } - } - - /** - * {@inheritdoc} - */ - public static function postDelete(EntityStorageControllerInterface $storage_controller, array $entities) { - parent::postDelete($storage_controller, $entities); - - // Clean up the localized entry if required. - if (\Drupal::moduleHandler()->moduleExists('language')) { - $languages = language_list(); - foreach ($entities as $entity) { - $format_id = $entity->id(); - foreach ($languages as $langcode => $data) { - \Drupal::config("locale.config.$langcode.system.date_format.$format_id")->delete(); - } - } - } - } - } diff --git a/core/modules/system/lib/Drupal/system/Form/DateFormatFormBase.php b/core/modules/system/lib/Drupal/system/Form/DateFormatFormBase.php index be4c55b..cc283af 100644 --- a/core/modules/system/lib/Drupal/system/Form/DateFormatFormBase.php +++ b/core/modules/system/lib/Drupal/system/Form/DateFormatFormBase.php @@ -11,6 +11,7 @@ use Drupal\Core\Ajax\ReplaceCommand; use Drupal\Core\Config\Entity\ConfigStorageController; use Drupal\Core\Datetime\Date; +use Drupal\Core\Language\Language; use Symfony\Component\DependencyInjection\ContainerInterface; use Drupal\Core\Datetime\DrupalDateTime; use Drupal\Core\Entity\Query\QueryFactory; @@ -168,22 +169,12 @@ public function form(array $form, array &$form_state) { '#required' => TRUE, ); - $languages = language_list(); - - $options = array(); - foreach ($languages as $langcode => $data) { - $options[$langcode] = $data->name; - } - - if (!empty($options)) { - $form['locales'] = array( - '#title' => t('Languages'), - '#type' => 'select', - '#options' => $options, - '#multiple' => TRUE, - '#default_value' => $this->entity->getLocales(), - ); - } + $form['langcode'] = array( + '#type' => 'language_select', + '#title' => t('Language'), + '#languages' => Language::STATE_ALL, + '#default_value' => $this->entity->langcode, + ); return parent::form($form, $form_state); } diff --git a/core/modules/system/lib/Drupal/system/Form/DateFormatLocalizeResetForm.php b/core/modules/system/lib/Drupal/system/Form/DateFormatLocalizeResetForm.php deleted file mode 100644 index 6770e18..0000000 --- a/core/modules/system/lib/Drupal/system/Form/DateFormatLocalizeResetForm.php +++ /dev/null @@ -1,117 +0,0 @@ -configFactory = $config_factory; - } - - /** - * {@inheritdoc} - */ - public static function create(ContainerInterface $container) { - return new static( - $container->get('config.factory') - ); - } - - /** - * {@inheritdoc} - */ - public function getFormId() { - return 'system_date_format_localize_reset_form'; - } - - /** - * {@inheritdoc} - */ - public function getQuestion() { - return t('Are you sure you want to reset the date formats for %language to the global defaults?', array( - '%language' => $this->language->name, - )); - } - - /** - * {@inheritdoc} - */ - public function getConfirmText() { - return t('Reset'); - } - - /** - * {@inheritdoc} - */ - public function getCancelRoute() { - return array( - 'route_name' => 'system.date_format_language_overview', - ); - } - - /** - * {@inheritdoc} - */ - public function getDescription() { - return t('Resetting will remove all localized date formats for this language. This action cannot be undone.'); - } - - /** - * {@inheritdoc} - * - * @param string $langcode - * The language code. - * - */ - public function buildForm(array $form, array &$form_state, $langcode = NULL) { - $this->language = language_load($langcode); - - return parent::buildForm($form, $form_state); - } - - /** - * {@inheritdoc} - */ - public function submitForm(array &$form, array &$form_state) { - foreach (config_get_storage_names_with_prefix('locale.config.' . $this->language->id . '.system.date_format.') as $config_id) { - $this->configFactory->get($config_id)->delete(); - } - entity_render_cache_clear(); - - $form_state['redirect'] = 'admin/config/regional/date-time/locale'; - } - -} diff --git a/core/modules/system/lib/Drupal/system/Form/SystemForm.php b/core/modules/system/lib/Drupal/system/Form/SystemForm.php deleted file mode 100644 index 20b64db..0000000 --- a/core/modules/system/lib/Drupal/system/Form/SystemForm.php +++ /dev/null @@ -1,24 +0,0 @@ - 'item', - '#title' => t('Language'), - '#markup' => language_load($langcode)->name, - '#weight' => -10, - ); - $form['langcode'] = array( - '#type' => 'value', - '#value' => $langcode, - ); - - // Get list of available formats. - $date_service = \Drupal::service('date'); - $formats = \Drupal::entityManager() - ->getStorageController('date_format') - ->loadMultiple(); - $choices = array(); - foreach ($formats as $date_format_id => $format_info) { - // Ignore values that are localized. - if (!$format_info->hasLocales()) { - $choices[$date_format_id] = $date_service->format(REQUEST_TIME, $date_format_id); - } - } - - // Get configured formats for each language. - $config_prefix = 'locale.config.' . $langcode . '.system.date_format.'; - foreach (config_get_storage_names_with_prefix($config_prefix) as $config_id) { - $date_format_id = substr($config_id, strlen($config_prefix)); - $choices[$date_format_id] = $date_service->format(REQUEST_TIME, $date_format_id); - } - - // Display a form field for each format type. - foreach ($formats as $date_format_id => $format_info) { - // Show date format select list. - $form['date_formats']['date_format_' . $date_format_id] = array( - '#type' => 'select', - '#title' => check_plain($format_info->label()), - '#attributes' => array('class' => array('date-format')), - '#default_value' => isset($choices[$date_format_id]) ? $date_format_id : 'custom', - '#options' => $choices, - ); - } - - $form['actions'] = array('#type' => 'actions'); - $form['actions']['submit'] = array( - '#type' => 'submit', - '#value' => t('Save configuration'), - ); - - return $form; -} - -/** - * Form submission handler for system_date_format_localize_form(). - */ -function system_date_format_localize_form_submit($form, &$form_state) { - $langcode = $form_state['values']['langcode']; - - $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]); - } - } - drupal_set_message(t('Configuration saved.')); - $form_state['redirect'] = 'admin/config/regional/date-time/locale'; -} - -/** - * Returns HTML for a locale date format form. - * - * @param $variables - * An associative array containing: - * - form: A render element representing the form. - * - * @ingroup themeable - */ -function theme_system_date_format_localize_form($variables) { - $form = $variables['form']; - $header = array( - 'machine_name' => t('Machine Name'), - 'pattern' => t('Format'), - ); - - foreach (element_children($form['date_formats']) as $key) { - $row = array(); - $row[] = $form['date_formats'][$key]['#title']; - unset($form['date_formats'][$key]['#title']); - $row[] = array('data' => drupal_render($form['date_formats'][$key])); - $rows[] = $row; - } - - $table = array( - '#theme' => 'table', - '#header' => $header, - '#rows' => $rows, - ); - $output = drupal_render($form['language']); - $output .= drupal_render($table); - $output .= drupal_render_children($form); - - return $output; -} - -/** - * Save locale specific date formats to the database. - * - * @param string $langcode - * Language code, can be 2 characters, e.g. 'en' or 5 characters, e.g. - * 'en-CA'. - * @param string $date_format_id - * Date format id, e.g. 'short', 'medium'. - * @param \Drupal\system\DateFormatInterface $format - * The date format entity. - */ -function system_date_format_localize_form_save($langcode, $date_format_id, DateFormatInterface $format) { - $format->addLocale($langcode)->save(); - \Drupal::config('locale.config.' . $langcode . '.system.date_format.' . $date_format_id) - ->set('pattern', $format->get('pattern')) - ->save(); -} diff --git a/core/modules/system/system.module b/core/modules/system/system.module index 66e5a6f..2c29b1c 100644 --- a/core/modules/system/system.module +++ b/core/modules/system/system.module @@ -189,9 +189,6 @@ function system_theme() { 'system_compact_link' => array( 'variables' => array(), ), - 'system_date_format_localize_form' => array( - 'render element' => 'form', - ), )); } @@ -822,26 +819,6 @@ function system_menu() { 'type' => MENU_CALLBACK, ); - // Localize date formats. - if (\Drupal::moduleHandler()->moduleExists('language')) { - $items['admin/config/regional/date-time/locale'] = array( - 'title' => 'Localize', - 'description' => 'Configure date formats for each locale', - 'weight' => -8, - 'route_name' => 'system.date_format_language_overview', - ); - $items['admin/config/regional/date-time/locale/%/edit'] = array( - 'title' => 'Localize date formats', - 'route_name' => 'system.localize_date_format', - 'description' => 'Configure date formats for each locale', - ); - $items['admin/config/regional/date-time/locale/%/reset'] = array( - 'title' => 'Reset date formats', - 'description' => 'Reset localized date formats to global defaults', - 'route_name' => 'system.date_format_localize_reset', - ); - } - return $items; } diff --git a/core/modules/system/system.routing.yml b/core/modules/system/system.routing.yml index 4281cb4..77a7419 100644 --- a/core/modules/system/system.routing.yml +++ b/core/modules/system/system.routing.yml @@ -214,13 +214,6 @@ system.date_format_edit: requirements: _entity_access: 'date_format.update' -system.date_format_language_overview: - path: '/admin/config/regional/date-time/locale' - defaults: - _controller: '\Drupal\system\Controller\DateFormatLanguageController::overviewPage' - requirements: - _permission: 'administer site configuration' - system.date_format_delete: path: '/admin/config/regional/date-time/formats/manage/{date_format}/delete' defaults: @@ -229,13 +222,6 @@ system.date_format_delete: requirements: _entity_access: 'date_format.delete' -system.date_format_localize_reset: - path: '/admin/config/regional/date-time/locale/{langcode}/reset' - defaults: - _form: '\Drupal\system\Form\DateFormatLocalizeResetForm' - requirements: - _permission: 'administer site configuration' - system.modules_list: path: '/admin/modules' defaults: @@ -377,13 +363,5 @@ system.batch_page: requirements: _access: 'TRUE' -system.localize_date_format: - path: '/admin/config/regional/date-time/locale/{langcode}/edit' - defaults: - _content: '\Drupal\system\Form\SystemForm::localizeDateFormat' - _title: 'Localize date formats' - requirements: - _permission: 'administer site configuration' - system.update: path: '/core/update.php'