You are here

public function Regions::submitConfigurationForm in Context 8

Same name and namespace in other branches
  1. 8.4 src/Plugin/ContextReaction/Regions.php \Drupal\context\Plugin\ContextReaction\Regions::submitConfigurationForm()

Form submission handler.

Parameters

array $form: An associative array containing the structure of the plugin form as built by static::buildConfigurationForm().

\Drupal\Core\Form\FormStateInterface $form_state: The current state of the form. Calling code should pass on a subform state created through \Drupal\Core\Form\SubformState::createForSubform().

Overrides PluginFormInterface::submitConfigurationForm

File

src/Plugin/ContextReaction/Regions.php, line 128

Class

Regions
Provides a content reaction that will let you disable regions.

Namespace

Drupal\context\Plugin\ContextReaction

Code

public function submitConfigurationForm(array &$form, FormStateInterface $form_state) {
  $themes = $form_state
    ->getValues();
  if (is_array($themes)) {
    foreach ($themes as $theme_name => $region) {
      $disabled_regions = array_keys(array_filter($region['regions']));
      if (!empty($disabled_regions)) {
        $configuration['regions'][$theme_name] = $disabled_regions;
        $configuration += $this
          ->getConfiguration();
      }
      else {
        $configuration['regions'][$theme_name] = [];
        $configuration += $this
          ->getConfiguration();
      }
      $this
        ->setConfiguration($configuration);
    }
  }
}