You are here

function color_form_system_theme_settings_alter in Drupal 9

Same name and namespace in other branches
  1. 8 core/modules/color/color.module \color_form_system_theme_settings_alter()
  2. 7 modules/color/color.module \color_form_system_theme_settings_alter()

Implements hook_form_FORM_ID_alter().

File

core/modules/color/color.module, line 54
Allows users to change the color scheme of themes.

Code

function color_form_system_theme_settings_alter(&$form, FormStateInterface $form_state) {
  $build_info = $form_state
    ->getBuildInfo();
  if (isset($build_info['args'][0]) && ($theme = $build_info['args'][0]) && color_get_info($theme) && function_exists('gd_info')) {
    $form['color'] = [
      '#type' => 'details',
      '#title' => t('Color scheme'),
      '#open' => TRUE,
      '#weight' => -1,
      '#attributes' => [
        'id' => 'color_scheme_form',
      ],
      '#theme' => 'color_scheme_form',
    ];
    $form['color'] += color_scheme_form($form, $form_state, $theme);
    $form['#validate'][] = 'color_scheme_form_validate';

    // Ensure color submission happens first so we can unset extra values.
    array_unshift($form['#submit'], 'color_scheme_form_submit');
  }
}