You are here

function user_revision_form_user_admin_settings_alter in User Revision 8

Implements hook_form_BASE_FORM_ID_alter() for user_admin_settings.

See also

user_revision_form_user_admin_settings_submit()

File

./user_revision.module, line 216
User Revision module.

Code

function user_revision_form_user_admin_settings_alter(&$form, FormStateInterface $form_state, $form_id) {
  $config = \Drupal::config('user_revision.settings');
  $form['revision'] = array(
    '#type' => 'details',
    '#title' => t('Revision information'),
    '#open' => TRUE,
    '#weight' => 0,
  );
  $form['revision']['revision_default_open'] = array(
    '#type' => 'checkbox',
    '#title' => t('Display revision information group initially open'),
    '#default_value' => $config
      ->get('user_revision_default_open'),
  );
  $form['revision']['revision_status'] = array(
    '#type' => 'checkbox',
    '#title' => t('Always create new revision'),
    '#default_value' => $config
      ->get('user_revision_always_enabled'),
  );
  $form['revision']['revision_default_status'] = array(
    '#type' => 'checkbox',
    '#title' => t('Create new revision by default'),
    '#default_value' => $config
      ->get('user_revision_default_enabled'),
    '#states' => array(
      'disabled' => array(
        ':input[name="revision_status"]' => array(
          'checked' => TRUE,
        ),
      ),
    ),
  );
  $form['revision']['revision_user_log_status'] = array(
    '#type' => 'checkbox',
    '#title' => t('Allow ordinary users to enter revision log messages'),
    '#default_value' => $config
      ->get('user_revision_user_log_enabled'),
    '#states' => array(
      'disabled' => array(
        ':input[name="revision_status"]' => array(
          'checked' => FALSE,
        ),
        ':input[name="revision_default_status"]' => array(
          'checked' => FALSE,
        ),
      ),
    ),
  );

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