You are here

function module_filter_form_system_modules_alter in Module Filter 8

Same name and namespace in other branches
  1. 8.3 module_filter.module \module_filter_form_system_modules_alter()
  2. 6 module_filter.module \module_filter_form_system_modules_alter()
  3. 7.2 module_filter.module \module_filter_form_system_modules_alter()
  4. 7 module_filter.module \module_filter_form_system_modules_alter()

Implements hook_form_FORM_ID_alter().

File

./module_filter.module, line 17
This is the file description for Module Filter module.

Code

function module_filter_form_system_modules_alter(&$form, \Drupal\Core\Form\FormStateInterface $form_state, $form_id) {
  $module_handler = \Drupal::moduleHandler();
  $config = \Drupal::config('module_filter.settings');

  // Don't alter the form when confirming.
  if (isset($form['confirm'])) {
    return;
  }
  $form['module_filter'] = array(
    '#type' => 'module_filter',
    '#attached' => array(
      'library' => array(
        'module_filter/drupal.module_filter.modules',
      ),
    ),
  );
  $checkbox_defaults = array(
    isset($_GET['enabled']) ? $_GET['enabled'] : 1 ? 'enabled' : '',
    isset($_GET['disabled']) ? $_GET['disabled'] : 1 ? 'disabled' : '',
    isset($_GET['required']) ? $_GET['required'] : 1 ? 'required' : '',
    isset($_GET['unavailable']) ? $_GET['unavailable'] : 1 ? 'unavailable' : '',
  );
  $form['module_filter']['show'] = array(
    '#type' => 'checkboxes',
    '#default_value' => array_filter($checkbox_defaults),
    '#options' => array(
      'enabled' => t('Enabled'),
      'disabled' => t('Disabled'),
      'required' => t('Required'),
      'unavailable' => t('Unavailable'),
    ),
    '#prefix' => '<div id="module-filter-show-wrapper">',
    '#suffix' => '</div>',
  );
  if ($config
    ->get('module_filter_tabs')) {
    $form['module_filter']['#attached']['library'][] = 'module_filter/drupal.module_filter.tab';
    if (!$module_handler
      ->moduleExists('page_actions') && $config
      ->get('module_filter_dynamic_save_position')) {
      $form['module_filter']['#attached']['library'][] = 'module_filter/drupal.module_filter.dynamic_position';
    }
    $form['module_filter']['#attached']['library'][] = 'module_filter/drupal.module_filter.module';
    $form['#theme'] = 'module_filter_system_modules_tabs';
  }
  array_unshift($form['#submit'], 'module_filter_system_modules_submit_redirect');
  if ($config
    ->get('module_filter_track_recent_modules')) {
    $form['#submit'][] = 'module_filter_system_modules_submit_recent';
  }
}