Same name and namespace in other branches
  1. 7.x modules/contact/contact.module \contact_form_user_admin_settings_alter()
  2. 8.9.x core/modules/contact/contact.module \contact_form_user_admin_settings_alter()
  3. 9 core/modules/contact/contact.module \contact_form_user_admin_settings_alter()

Implements hook_form_FORM_ID_alter().

Add the default personal contact setting on the user settings page.

See also

\Drupal\user\AccountSettingsForm

File

core/modules/contact/contact.module, line 217
Enables the use of personal and site-wide contact forms.

Code

function contact_form_user_admin_settings_alter(&$form, FormStateInterface $form_state) {
  $form['contact'] = [
    '#type' => 'details',
    '#title' => t('Contact settings'),
    '#open' => TRUE,
    '#weight' => 0,
  ];
  $form['contact']['contact_default_status'] = [
    '#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' => \Drupal::configFactory()
      ->getEditable('contact.settings')
      ->get('user_default_enabled'),
  ];

  // Add submit handler to save contact configuration.
  $form['#submit'][] = 'contact_form_user_admin_settings_submit';
}