You are here

public function LanguageNegotiator::purgeConfiguration in Drupal 8

Same name and namespace in other branches
  1. 9 core/modules/language/src/LanguageNegotiator.php \Drupal\language\LanguageNegotiator::purgeConfiguration()
  2. 10 core/modules/language/src/LanguageNegotiator.php \Drupal\language\LanguageNegotiator::purgeConfiguration()

Resave the configuration to purge missing negotiation methods.

Overrides LanguageNegotiatorInterface::purgeConfiguration

File

core/modules/language/src/LanguageNegotiator.php, line 280

Class

LanguageNegotiator
Class responsible for performing language negotiation.

Namespace

Drupal\language

Code

public function purgeConfiguration() {

  // Ensure that we are getting the defined language negotiation information.
  // An invocation of \Drupal\Core\Extension\ModuleInstaller::install() or
  // \Drupal\Core\Extension\ModuleInstaller::uninstall() could invalidate the
  // cached information.
  $this->negotiatorManager
    ->clearCachedDefinitions();
  $this->languageManager
    ->reset();
  foreach ($this->languageManager
    ->getDefinedLanguageTypesInfo() as $type => $info) {
    $this
      ->saveConfiguration($type, $this
      ->getEnabledNegotiators($type));
  }
}