diff --git a/core/includes/bootstrap.inc b/core/includes/bootstrap.inc index cf0e3dd..735e721 100644 --- a/core/includes/bootstrap.inc +++ b/core/includes/bootstrap.inc @@ -1909,15 +1909,15 @@ function drupal_handle_request($test_only = FALSE) { */ function drupal_get_user_timezone() { global $user; - $config = config('system.timezone'); + $config = config('system.date'); - if ($config->get('user.configurable') && $user->uid && $user->timezone) { + if ($config->get('timezone.user.configurable') && $user->uid && $user->timezone) { return $user->timezone; } else { // Ignore PHP strict notice if time zone has not yet been set in the php.ini // configuration. - $config_data_default_timezone = $config->get('default'); + $config_data_default_timezone = $config->get('timezone.default'); return !empty($config_data_default_timezone) ? $config_data_default_timezone : @date_default_timezone_get(); } } diff --git a/core/includes/install.core.inc b/core/includes/install.core.inc index 77771d8..30470f2 100644 --- a/core/includes/install.core.inc +++ b/core/includes/install.core.inc @@ -2500,11 +2500,8 @@ function install_configure_form_submit($form, &$form_state) { ->set('langcode', language_default()->langcode) ->save(); - config('system.timezone') - ->set('default', $form_state['values']['date_default_timezone']) - ->save(); - config('system.date') + ->set('timezone.default', $form_state['values']['date_default_timezone']) ->set('country.default', $form_state['values']['site_default_country']) ->save(); diff --git a/core/modules/system/config/system.date.yml b/core/modules/system/config/system.date.yml index 55c6e75..3269e1d 100644 --- a/core/modules/system/config/system.date.yml +++ b/core/modules/system/config/system.date.yml @@ -62,3 +62,9 @@ formats: php: 'Y' intl: 'Y' locked: 1 +timezone: + default: '' + user: + configurable: '1' + default: '0' + warn: '0' \ No newline at end of file diff --git a/core/modules/system/config/system.timezone.yml b/core/modules/system/config/system.timezone.yml deleted file mode 100644 index b0d33a1..0000000 --- a/core/modules/system/config/system.timezone.yml +++ /dev/null @@ -1,5 +0,0 @@ -default: '' -user: - configurable: '1' - default: '0' - warn: '0' diff --git a/core/modules/system/lib/Drupal/system/Form/RegionalForm.php b/core/modules/system/lib/Drupal/system/Form/RegionalForm.php index 4cfb398..5bb5b2b 100644 --- a/core/modules/system/lib/Drupal/system/Form/RegionalForm.php +++ b/core/modules/system/lib/Drupal/system/Form/RegionalForm.php @@ -63,7 +63,6 @@ public function getFormID() { */ public function buildForm(array $form, array &$form_state) { $countries = $this->countryManager->getList(); - $system_timezone = $this->configFactory->get('system.timezone'); $system_date = $this->configFactory->get('system.date'); // Date settings: @@ -98,11 +97,11 @@ public function buildForm(array $form, array &$form_state) { $form['timezone']['date_default_timezone'] = array( '#type' => 'select', '#title' => t('Default time zone'), - '#default_value' => $system_timezone->get('default') ?: date_default_timezone_get(), + '#default_value' => $system_date->get('timezone.default') ?: date_default_timezone_get(), '#options' => $zones, ); - $configurable_timezones = $system_timezone->get('user.configurable'); + $configurable_timezones = $system_date->get('timezone.user.configurable');; $form['timezone']['configurable_timezones'] = array( '#type' => 'checkbox', '#title' => t('Users may set their own time zone.'), @@ -122,14 +121,14 @@ public function buildForm(array $form, array &$form_state) { $form['timezone']['configurable_timezones_wrapper']['empty_timezone_message'] = array( '#type' => 'checkbox', '#title' => t('Remind users at login if their time zone is not set.'), - '#default_value' => $system_timezone->get('user.warn'), + '#default_value' => $system_date->get('timezone.user.warn'), '#description' => t('Only applied if users may set their own time zone.') ); $form['timezone']['configurable_timezones_wrapper']['user_default_timezone'] = array( '#type' => 'radios', '#title' => t('Time zone for new users'), - '#default_value' => $system_timezone->get('user.default'), + '#default_value' => $system_date->get('timezone.user.default'), '#options' => array( DRUPAL_USER_TIMEZONE_DEFAULT => t('Default time zone.'), DRUPAL_USER_TIMEZONE_EMPTY => t('Empty time zone.'), @@ -148,12 +147,10 @@ public function submitForm(array &$form, array &$form_state) { $this->configFactory->get('system.date') ->set('country.default', $form_state['values']['site_default_country']) ->set('first_day', $form_state['values']['date_first_day']) - ->save(); - $this->configFactory->get('system.timezone') - ->set('default', $form_state['values']['date_default_timezone']) - ->set('user.configurable', $form_state['values']['configurable_timezones']) - ->set('user.warn', $form_state['values']['empty_timezone_message']) - ->set('user.default', $form_state['values']['user_default_timezone']) + ->set('timezone.default', $form_state['values']['date_default_timezone']) + ->set('timezone.user.configurable', $form_state['values']['configurable_timezones']) + ->set('timezone.user.warn', $form_state['values']['empty_timezone_message']) + ->set('timezone.user.default', $form_state['values']['user_default_timezone']) ->save(); parent::submitForm($form, $form_state); diff --git a/core/modules/system/lib/Drupal/system/Tests/Common/FormatDateTest.php b/core/modules/system/lib/Drupal/system/Tests/Common/FormatDateTest.php index 118a059..4e46043 100644 --- a/core/modules/system/lib/Drupal/system/Tests/Common/FormatDateTest.php +++ b/core/modules/system/lib/Drupal/system/Tests/Common/FormatDateTest.php @@ -37,10 +37,8 @@ public static function getInfo() { function setUp() { parent::setUp('language'); - config('system.timezone') - ->set('user.configurable', 1) - ->save(); config('system.date') + ->set('timezone.user.configurable', 1) ->set('formats.long.pattern.php', 'l, j. F Y - G:i') ->set('formats.medium.pattern.php', 'j. F Y - G:i') ->set('formats.short.pattern.php', 'Y M j - g:ia') diff --git a/core/modules/system/lib/Drupal/system/Tests/Datetime/DrupalDateTimeTest.php b/core/modules/system/lib/Drupal/system/Tests/Datetime/DrupalDateTimeTest.php index 698ea1a..7d249da 100644 --- a/core/modules/system/lib/Drupal/system/Tests/Datetime/DrupalDateTimeTest.php +++ b/core/modules/system/lib/Drupal/system/Tests/Datetime/DrupalDateTimeTest.php @@ -48,9 +48,9 @@ public function testDateTimezone() { $date_string = '2007-01-31 21:00:00'; // Make sure no site timezone has been set. - config('system.timezone') - ->set('user.configurable', 0) - ->set('default', NULL) + config('system.date') + ->set('timezone.user.configurable', 0) + ->set('timezone.default', NULL) ->save(); // Detect the system timezone. @@ -68,7 +68,7 @@ public function testDateTimezone() { $this->assertTrue($timezone == 'America/Yellowknife', 'DrupalDateTime uses the specified timezone if provided.'); // Set a site timezone. - config('system.timezone')->set('default', 'Europe/Warsaw')->save(); + config('system.date')->set('timezone.default', 'Europe/Warsaw')->save(); // Create a date object with an unspecified timezone, which should // end up using the site timezone. @@ -77,7 +77,7 @@ public function testDateTimezone() { $this->assertTrue($timezone == 'Europe/Warsaw', 'DrupalDateTime uses the site timezone if provided.'); // Create user. - config('system.timezone')->set('user.configurable', 1)->save(); + config('system.date')->set('timezone.user.configurable', 1)->save(); $test_user = $this->drupalCreateUser(array()); $this->drupalLogin($test_user); diff --git a/core/modules/system/lib/Drupal/system/Tests/System/DateTimeTest.php b/core/modules/system/lib/Drupal/system/Tests/System/DateTimeTest.php index c867581..e9c9b49 100644 --- a/core/modules/system/lib/Drupal/system/Tests/System/DateTimeTest.php +++ b/core/modules/system/lib/Drupal/system/Tests/System/DateTimeTest.php @@ -43,11 +43,9 @@ function setUp() { */ function testTimeZoneHandling() { // Setup date/time settings for Honolulu time. - $config = config('system.timezone') - ->set('default', 'Pacific/Honolulu') - ->set('user.configurable', 0) - ->save(); - config('system.date') + $config = config('system.date') + ->set('timezone.default', 'Pacific/Honolulu') + ->set('timezone.user.configurable', 0) ->set('formats.medium.pattern.php', 'Y-m-d H:i:s O') ->save(); @@ -64,7 +62,7 @@ function testTimeZoneHandling() { $this->assertText('2007-07-31 21:00:00 -1000', 'Date should be identical, with GMT offset of -10 hours.'); // Set time zone to Los Angeles time. - $config->set('default', 'America/Los_Angeles')->save(); + $config->set('timezone.default', 'America/Los_Angeles')->save(); // Confirm date format and time zone. $this->drupalGet("node/$node1->nid"); diff --git a/core/modules/system/system.install b/core/modules/system/system.install index f10d86b..e20c0bb 100644 --- a/core/modules/system/system.install +++ b/core/modules/system/system.install @@ -1802,12 +1802,9 @@ function system_update_8038() { 'site_default_country' => 'country.default', 'date_first_day' => 'first_day', 'date_default_timezone' => 'timezone.default', - )); - update_variables_to_config('system.timezone', array( - 'date_default_timezone' => 'default', - 'configurable_timezones' => 'user.configurable', - 'empty_timezone_message' => 'user.warn', - 'user_default_timezone' => 'user.default', + 'configurable_timezones' => 'timezone.user.configurable', + 'empty_timezone_message' => 'timezone.user.warn', + 'user_default_timezone' => 'timezone.user.default', )); } diff --git a/core/modules/system/system.module b/core/modules/system/system.module index 8802ead..759741f 100644 --- a/core/modules/system/system.module +++ b/core/modules/system/system.module @@ -2560,7 +2560,7 @@ function system_custom_theme() { * Implements hook_form_FORM_ID_alter(). */ function system_form_user_form_alter(&$form, &$form_state) { - if (config('system.timezone')->get('user.configurable')) { + if (config('system.date')->get('timezone.user.configurable')) { system_user_timezone($form, $form_state); } } @@ -2569,8 +2569,8 @@ function system_form_user_form_alter(&$form, &$form_state) { * Implements hook_form_FORM_ID_alter(). */ function system_form_user_register_form_alter(&$form, &$form_state) { - $config = config('system.timezone'); - if ($config->get('user.configurable') && $config->get('user.default') == DRUPAL_USER_TIMEZONE_SELECT) { + $config = config('system.date'); + if ($config->get('timezone.user.configurable') && $config->get('timezone.user.default') == DRUPAL_USER_TIMEZONE_SELECT) { system_user_timezone($form, $form_state); } } @@ -2579,9 +2579,9 @@ function system_form_user_register_form_alter(&$form, &$form_state) { * Implements hook_user_presave(). */ function system_user_presave($account) { - $config = config('system.timezone'); - if ($config->get('user.configurable') && empty($account->timezone) && !$config->get('user.default')) { - $account->timezone = $config->get('default'); + $config = config('system.date'); + if ($config->get('timezone.user.configurable') && empty($account->timezone) && !$config->get('timezone.user.default')) { + $account->timezone = $config->get('timezone.default'); } } @@ -2589,9 +2589,9 @@ function system_user_presave($account) { * Implements hook_user_login(). */ function system_user_login($account) { - $config = config('system.timezone'); + $config = config('system.date'); // If the user has a NULL time zone, notify them to set a time zone. - if (!$account->timezone && $config->get('user.configurable') && $config->get('user.warn')) { + if (!$account->timezone && $config->get('timezone.user.configurable') && $config->get('timezone.user.warn')) { drupal_set_message(t('Configure your account time zone setting.', array('@user-edit' => url("user/$account->uid/edit", array('query' => drupal_get_destination(), 'fragment' => 'edit-timezone'))))); } } diff --git a/core/modules/user/lib/Drupal/user/Tests/UserRegistrationTest.php b/core/modules/user/lib/Drupal/user/Tests/UserRegistrationTest.php index da27a0e..bd0bb2e 100644 --- a/core/modules/user/lib/Drupal/user/Tests/UserRegistrationTest.php +++ b/core/modules/user/lib/Drupal/user/Tests/UserRegistrationTest.php @@ -158,9 +158,9 @@ function testRegistrationDefaultValues() { ->save(); // Set the default timezone to Brussels. - $config_system_timezone = config('system.timezone') - ->set('user.configurable', 1) - ->set('default', 'Europe/Brussels') + $config_system_date = config('system.date') + ->set('timezone.user.configurable', 1) + ->set('timezone.default', 'Europe/Brussels') ->save(); // Check that the account information options are not displayed @@ -184,7 +184,7 @@ function testRegistrationDefaultValues() { $this->assertEqual($new_user->signature->value, '', 'Correct signature field.'); $this->assertTrue(($new_user->created->value > REQUEST_TIME - 20 ), 'Correct creation time.'); $this->assertEqual($new_user->status->value, $config_user_settings->get('register') == USER_REGISTER_VISITORS ? 1 : 0, 'Correct status field.'); - $this->assertEqual($new_user->timezone->value, $config_system_timezone->get('default'), 'Correct time zone field.'); + $this->assertEqual($new_user->timezone, $config_system_date->get('timezone.default'), 'Correct time zone field.'); $this->assertEqual($new_user->langcode->value, language_default()->langcode, 'Correct language field.'); $this->assertEqual($new_user->preferred_langcode->value, language_default()->langcode, 'Correct preferred language field.'); $this->assertEqual($new_user->init->value, $mail, 'Correct init field.'); diff --git a/core/modules/user/lib/Drupal/user/Tests/UserTimeZoneTest.php b/core/modules/user/lib/Drupal/user/Tests/UserTimeZoneTest.php index 8b77915..9360024 100644 --- a/core/modules/user/lib/Drupal/user/Tests/UserTimeZoneTest.php +++ b/core/modules/user/lib/Drupal/user/Tests/UserTimeZoneTest.php @@ -26,11 +26,9 @@ public static function getInfo() { */ function testUserTimeZone() { // Setup date/time settings for Los Angeles time. - config('system.timezone') - ->set('user.configurable', 1) - ->set('default', 'America/Los_Angeles') - ->save(); config('system.date') + ->set('timezone.user.configurable', 1) + ->set('timezone.default', 'America/Los_Angeles') ->set('formats.medium.pattern.php', 'Y-m-d H:i T') ->save(); diff --git a/core/modules/user/user.api.php b/core/modules/user/user.api.php index 2f337d9..609e568 100644 --- a/core/modules/user/user.api.php +++ b/core/modules/user/user.api.php @@ -284,9 +284,9 @@ function hook_user_update($account) { * The user object on which the operation was just performed. */ function hook_user_login($account) { - $config = config('system.timezone'); + $config = config('system.date'); // If the user has a NULL time zone, notify them to set a time zone. - if (!$account->timezone && $config->get('user.configurable') && $config->get('user.warn')) { + if (!$account->timezone && $config->get('timezone.user.configurable') && $config->get('timezone.user.warn')) { drupal_set_message(t('Configure your account time zone setting.', array('@user-edit' => url("user/$account->uid/edit", array('query' => drupal_get_destination(), 'fragment' => 'edit-timezone'))))); } } diff --git a/core/modules/user/user.module b/core/modules/user/user.module index eb6b4f3..a530f92 100644 --- a/core/modules/user/user.module +++ b/core/modules/user/user.module @@ -222,7 +222,7 @@ function user_field_extra_fields() { 'description' => t('User module form element.'), 'weight' => 0, ); - if (config('system.timezone')->get('user.configurable')) { + if (config('system.date')->get('timezone.user.configurable')) { $fields['user']['user']['form']['timezone'] = array( 'label' => t('Timezone'), 'description' => t('System module form element.'),