You are here

public function SocialTaggingSettingsForm::submitForm in Open Social 10.1.x

Same name and namespace in other branches
  1. 8.9 modules/social_features/social_tagging/src/Form/SocialTaggingSettingsForm.php \Drupal\social_tagging\Form\SocialTaggingSettingsForm::submitForm()
  2. 8 modules/social_features/social_tagging/src/Form/SocialTaggingSettingsForm.php \Drupal\social_tagging\Form\SocialTaggingSettingsForm::submitForm()
  3. 8.2 modules/social_features/social_tagging/src/Form/SocialTaggingSettingsForm.php \Drupal\social_tagging\Form\SocialTaggingSettingsForm::submitForm()
  4. 8.3 modules/social_features/social_tagging/src/Form/SocialTaggingSettingsForm.php \Drupal\social_tagging\Form\SocialTaggingSettingsForm::submitForm()
  5. 8.4 modules/social_features/social_tagging/src/Form/SocialTaggingSettingsForm.php \Drupal\social_tagging\Form\SocialTaggingSettingsForm::submitForm()
  6. 8.5 modules/social_features/social_tagging/src/Form/SocialTaggingSettingsForm.php \Drupal\social_tagging\Form\SocialTaggingSettingsForm::submitForm()
  7. 8.6 modules/social_features/social_tagging/src/Form/SocialTaggingSettingsForm.php \Drupal\social_tagging\Form\SocialTaggingSettingsForm::submitForm()
  8. 8.7 modules/social_features/social_tagging/src/Form/SocialTaggingSettingsForm.php \Drupal\social_tagging\Form\SocialTaggingSettingsForm::submitForm()
  9. 8.8 modules/social_features/social_tagging/src/Form/SocialTaggingSettingsForm.php \Drupal\social_tagging\Form\SocialTaggingSettingsForm::submitForm()
  10. 10.3.x modules/social_features/social_tagging/src/Form/SocialTaggingSettingsForm.php \Drupal\social_tagging\Form\SocialTaggingSettingsForm::submitForm()
  11. 10.0.x modules/social_features/social_tagging/src/Form/SocialTaggingSettingsForm.php \Drupal\social_tagging\Form\SocialTaggingSettingsForm::submitForm()
  12. 10.2.x modules/social_features/social_tagging/src/Form/SocialTaggingSettingsForm.php \Drupal\social_tagging\Form\SocialTaggingSettingsForm::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/social_features/social_tagging/src/Form/SocialTaggingSettingsForm.php, line 179

Class

SocialTaggingSettingsForm
Class SocialTaggingSettingsForm.

Namespace

Drupal\social_tagging\Form

Code

public function submitForm(array &$form, FormStateInterface $form_state) {

  // Get the configuration file.
  $config = $this
    ->config('social_tagging.settings');
  $config
    ->set('enable_content_tagging', $form_state
    ->getValue('enable_content_tagging'))
    ->save();
  $config
    ->set('allow_category_split', $form_state
    ->getValue('allow_category_split'))
    ->save();
  $config
    ->set('tag_type_group', $form_state
    ->getValue('tag_type_group'))
    ->save();
  $config
    ->set('tag_type_profile', $form_state
    ->getValue('tag_type_profile'))
    ->save();
  if ($form_state
    ->getValue('allow_category_split')) {
    $config
      ->set('use_category_parent', $form_state
      ->getValue('use_category_parent'))
      ->save();
  }
  else {
    $config
      ->clear('use_category_parent')
      ->save();
  }

  // Clear cache tags of profiles.
  $query = $this->database
    ->select('cachetags', 'ct');
  $query
    ->fields('ct', [
    'tag',
  ]);
  $query
    ->condition('ct.tag', 'profile:%', 'LIKE');
  $result = $query
    ->execute()
    ->fetchCol();
  $this->cacheTagsInvalidator
    ->invalidateTags($result);

  /** @var \Drupal\node\NodeTypeInterface[] $node_types */
  $node_types = $this->entityTypeManager
    ->getStorage('node_type')
    ->loadMultiple();
  foreach ($node_types as $node_type) {
    $config_name = 'tag_node_type_' . $node_type
      ->id();
    $config
      ->set($config_name, $form_state
      ->getValue($config_name))
      ->save();
  }
  parent::submitForm($form, $form_state);
}