diff --git a/core/includes/bootstrap.inc b/core/includes/bootstrap.inc index 0a68d25..e497243 100644 --- a/core/includes/bootstrap.inc +++ b/core/includes/bootstrap.inc @@ -2204,15 +2204,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 44e5a85..7c227b7 100644 --- a/core/includes/install.core.inc +++ b/core/includes/install.core.inc @@ -2365,11 +2365,8 @@ function install_configure_form_submit($form, &$form_state) { ->set('mail', $form_state['values']['site_mail']) ->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/openid/lib/Drupal/openid/Tests/OpenIDRegistrationTest.php b/core/modules/openid/lib/Drupal/openid/Tests/OpenIDRegistrationTest.php index 7389580..5efd894 100644 --- a/core/modules/openid/lib/Drupal/openid/Tests/OpenIDRegistrationTest.php +++ b/core/modules/openid/lib/Drupal/openid/Tests/OpenIDRegistrationTest.php @@ -37,9 +37,9 @@ public static function getInfo() { function testRegisterUserWithEmailVerification() { config('user.settings')->set('verify_mail', TRUE)->save(); - config('system.timezone') - ->set('user.configurable', 1) - ->set('default', 'Europe/Brussels') + config('system.date') + ->set('timezone.user.configurable', 1) + ->set('timezone.default', 'Europe/Brussels') ->save(); // Tell openid_test.module to respond with these SREG fields. @@ -96,9 +96,9 @@ function testRegisterUserWithEmailVerification() { function testRegisterUserWithoutEmailVerification() { config('user.settings')->set('verify_mail', FALSE)->save(); - config('system.timezone') - ->set('user.configurable', 1) - ->set('default', 'Europe/Brussels') + config('system.date') + ->set('timezone.user.configurable', 1) + ->set('timezone.default', 'Europe/Brussels') ->save(); // Tell openid_test.module to respond with these SREG fields. @@ -138,9 +138,9 @@ function testRegisterUserWithoutEmailVerification() { * information (a username that is already taken, and no e-mail address). */ function testRegisterUserWithInvalidSreg() { - config('system.timezone') - ->set('user.configurable', 1) - ->set('default', 'Europe/Brussels') + config('system.date') + ->set('timezone.user.configurable', 1) + ->set('timezone.default', 'Europe/Brussels') ->save(); // Tell openid_test.module to respond with these SREG fields. @@ -228,8 +228,8 @@ function testRegisterUserWithoutSreg() { */ function testRegisterUserWithAXButNoSREG() { config('user.settings')->set('verify_mail', FALSE)->save(); - config('system.timezone') - ->set('default', 'Europe/Brussels') + config('system.date') + ->set('timezone.default', 'Europe/Brussels') ->save(); // Tell openid_test.module to respond with these AX fields. diff --git a/core/modules/system/config/system.date.yml b/core/modules/system/config/system.date.yml index 82a22bc..69712d5 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' 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/Tests/Common/FormatDateTest.php b/core/modules/system/lib/Drupal/system/Tests/Common/FormatDateTest.php index 1f2575c..87977d1 100644 --- a/core/modules/system/lib/Drupal/system/Tests/Common/FormatDateTest.php +++ b/core/modules/system/lib/Drupal/system/Tests/Common/FormatDateTest.php @@ -36,10 +36,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..729ff5a 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(); diff --git a/core/modules/system/system.admin.inc b/core/modules/system/system.admin.inc index 4a4ba0e..de3a812 100644 --- a/core/modules/system/system.admin.inc +++ b/core/modules/system/system.admin.inc @@ -1924,7 +1924,6 @@ function system_rss_feeds_settings_submit($form, &$form_state) { */ function system_regional_settings($form, &$form_state) { $countries = country_get_list(); - $system_timezone = config('system.timezone'); $system_date = config('system.date'); // Date settings: @@ -1959,11 +1958,11 @@ function system_regional_settings($form, &$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.'), @@ -1983,14 +1982,14 @@ function system_regional_settings($form, &$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.'), @@ -2012,12 +2011,10 @@ function system_regional_settings_submit($form, &$form_state) { config('system.date') ->set('country.default', $form_state['values']['site_default_country']) ->set('first_day', $form_state['values']['date_first_day']) - ->save(); - config('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(); } diff --git a/core/modules/system/system.install b/core/modules/system/system.install index 9d98678..8da5525 100644 --- a/core/modules/system/system.install +++ b/core/modules/system/system.install @@ -1934,12 +1934,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 30317e4..f4c1c97 100644 --- a/core/modules/system/system.module +++ b/core/modules/system/system.module @@ -2561,7 +2561,7 @@ function system_custom_theme() { * Implements hook_form_FORM_ID_alter(). */ function system_form_user_profile_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); } } @@ -2570,8 +2570,8 @@ function system_form_user_profile_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); } } @@ -2580,9 +2580,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'); } } @@ -2590,9 +2590,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 38ca376..cb75966 100644 --- a/core/modules/user/lib/Drupal/user/Tests/UserRegistrationTest.php +++ b/core/modules/user/lib/Drupal/user/Tests/UserRegistrationTest.php @@ -157,9 +157,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 @@ -183,7 +183,7 @@ function testRegistrationDefaultValues() { $this->assertEqual($new_user->signature, '', 'Correct signature field.'); $this->assertTrue(($new_user->created > REQUEST_TIME - 20 ), 'Correct creation time.'); $this->assertEqual($new_user->status, $config_user_settings->get('register') == USER_REGISTER_VISITORS ? 1 : 0, 'Correct status field.'); - $this->assertEqual($new_user->timezone, $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, language_default()->langcode, 'Correct language field.'); $this->assertEqual($new_user->preferred_langcode, language_default()->langcode, 'Correct preferred language field.'); $this->assertEqual($new_user->init, $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 652c5b5..f9385ba 100644 --- a/core/modules/user/user.api.php +++ b/core/modules/user/user.api.php @@ -318,9 +318,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 fa6a291..648b060 100644 --- a/core/modules/user/user.module +++ b/core/modules/user/user.module @@ -253,7 +253,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.'),