You are here

public function SimplesitemapEnginesForm::submitForm in Simple XML sitemap 8.3

Same name and namespace in other branches
  1. 4.x modules/simple_sitemap_engines/src/Form/SimplesitemapEnginesForm.php \Drupal\simple_sitemap_engines\Form\SimplesitemapEnginesForm::submitForm()

Form submission handler.

Parameters

array $form: An associative array containing the structure of the form.

\Drupal\Core\Form\FormStateInterface $form_state: The current state of the form.

Overrides ConfigFormBase::submitForm

File

modules/simple_sitemap_engines/src/Form/SimplesitemapEnginesForm.php, line 147

Class

SimplesitemapEnginesForm
Form for managing search engine submission settings.

Namespace

Drupal\simple_sitemap_engines\Form

Code

public function submitForm(array &$form, FormStateInterface $form_state) {
  foreach ($this->entityTypeManager
    ->getStorage('simple_sitemap_engine')
    ->loadMultiple() as $engine_id => $engine) {
    if (!empty($values = $form_state
      ->getValue([
      'engines',
      $engine_id,
      'variants',
    ]))) {
      $submit = TRUE;
    }
    $engine->sitemap_variants = $values;
    $engine
      ->save();
  }
  $config = $this
    ->config('simple_sitemap_engines.settings');
  $enabled = (bool) $form_state
    ->getValue([
    'settings',
    'enabled',
  ]);
  $config
    ->set('enabled', $enabled);
  $config
    ->set('submission_interval', $form_state
    ->getValue([
    'settings',
    'submission_interval',
  ]));
  $config
    ->save();
  if ($enabled && empty($submit)) {
    $this
      ->messenger()
      ->addWarning($this
      ->t('No sitemap variants have been selected for submission.'));
  }
  parent::submitForm($form, $form_state);
}