diff -u b/core/modules/user/user.install b/core/modules/user/user.install --- b/core/modules/user/user.install +++ b/core/modules/user/user.install @@ -442,9 +442,9 @@ } /** - * Converts account settings variables to configuration system + * Moves account settings from variable to config. * - * @see http://drupal.org/node/1496534 + * @ingroup config_upgrade */ function user_update_8003() { update_variables_to_config('user.settings', array( only in patch2: unchanged: --- /dev/null +++ b/core/modules/contact/config/contact.settings.yml @@ -0,0 +1 @@ +user_contact_default_enabled: '1' only in patch2: unchanged: --- a/core/modules/contact/contact.install +++ b/core/modules/contact/contact.install @@ -87,7 +87,17 @@ function contact_install() { * Implements hook_uninstall(). */ function contact_uninstall() { - variable_del('contact_default_status'); variable_del('contact_threshold_limit'); variable_del('contact_threshold_window'); } + +/** + * Moves contact setting from variable to config. + * + * @ingroup config_upgrade + */ +function contact_update_8000() { + update_variables_to_config('contact.settings', array( + 'contact_default_status' => 'user_contact_default_enabled', + )); +} only in patch2: unchanged: --- a/core/modules/contact/contact.module +++ b/core/modules/contact/contact.module @@ -234,7 +234,7 @@ function contact_form_user_profile_form_alter(&$form, &$form_state) { * Implements hook_user_presave(). */ function contact_user_presave($account) { - $account->data['contact'] = isset($account->contact) ? $account->contact : variable_get('contact_default_status', 1); + $account->data['contact'] = isset($account->contact) ? $account->contact : config('contact.settings')->get('user_contact_default_enabled'); } /** @@ -250,10 +250,16 @@ function contact_form_user_admin_settings_alter(&$form, &$form_state) { '#title' => t('Contact settings'), '#weight' => 0, ); - $form['contact']['contact_default_status'] = array( + $form['contact']['user_contact_default_enabled'] = array( '#type' => 'checkbox', '#title' => t('Enable the personal contact form by default for new users.'), '#description' => t('Changing this setting will not affect existing users.'), - '#default_value' => variable_get('contact_default_status', 1), + '#default_value' => config('contact.settings')->get('user_contact_default_enabled'), ); + // Add submit handler to save contact configuration. + array_unshift($form['#submit'], 'contact_form_user_admin_settings_submit'); } + +function contact_form_user_admin_settings_submit($form, &$form_state) { + config('contact.settings')->set('user_contact_default_enabled', $form_state['values']['user_contact_default_enabled'])->save(); +} \ No newline at end of file only in patch2: unchanged: --- a/core/modules/contact/lib/Drupal/contact/Tests/ContactPersonalTest.php +++ b/core/modules/contact/lib/Drupal/contact/Tests/ContactPersonalTest.php @@ -32,7 +32,7 @@ class ContactPersonalTest extends WebTestBase { $this->admin_user = $this->drupalCreateUser(array('administer contact forms', 'administer users')); // Create some normal users with their contact forms enabled by default. - variable_set('contact_default_status', TRUE); + config('contact.settings')->set('user_contact_default_enabled', 1)->save(); $this->web_user = $this->drupalCreateUser(array('access user contact forms')); $this->contact_user = $this->drupalCreateUser(); } @@ -84,7 +84,7 @@ class ContactPersonalTest extends WebTestBase { // Disable the personal contact form. $this->drupalLogin($this->admin_user); - $edit = array('contact_default_status' => FALSE); + $edit = array('user_contact_default_enabled' => FALSE); $this->drupalPost('admin/config/people/accounts', $edit, t('Save configuration')); $this->assertText(t('The configuration options have been saved.'), t('Setting successfully saved.')); $this->drupalLogout(); only in patch2: unchanged: --- a/core/modules/contact/lib/Drupal/contact/Tests/ContactSitewideTest.php +++ b/core/modules/contact/lib/Drupal/contact/Tests/ContactSitewideTest.php @@ -39,7 +39,7 @@ class ContactSitewideTest extends WebTestBase { // Set settings. $edit = array(); - $edit['contact_default_status'] = TRUE; + $edit['user_contact_default_enabled'] = TRUE; $this->drupalPost('admin/config/people/accounts', $edit, t('Save configuration')); $this->assertText(t('The configuration options have been saved.'), t('Setting successfully saved.'));