You are here

protected function ConfigFactoryOverrideBase::filterOverride in Drupal 10

Same name and namespace in other branches
  1. 8 core/lib/Drupal/Core/Config/ConfigFactoryOverrideBase.php \Drupal\Core\Config\ConfigFactoryOverrideBase::filterOverride()
  2. 9 core/lib/Drupal/Core/Config/ConfigFactoryOverrideBase.php \Drupal\Core\Config\ConfigFactoryOverrideBase::filterOverride()

Filters data in the override based on what is currently in configuration.

Parameters

\Drupal\Core\Config\Config $config: Current configuration object.

\Drupal\Core\Config\StorableConfigBase $override: Override object corresponding to the configuration to filter data in.

1 call to ConfigFactoryOverrideBase::filterOverride()
LanguageConfigFactoryOverride::onConfigSave in core/modules/language/src/Config/LanguageConfigFactoryOverride.php
Actions to be performed to configuration override on configuration save.

File

core/lib/Drupal/Core/Config/ConfigFactoryOverrideBase.php, line 63

Class

ConfigFactoryOverrideBase
Defines a base event listener implementation configuration overrides.

Namespace

Drupal\Core\Config

Code

protected function filterOverride(Config $config, StorableConfigBase $override) {
  $override_data = $override
    ->get();
  $changed = $this
    ->filterNestedArray($config
    ->get(), $override_data);
  if (empty($override_data)) {

    // If no override values are left that would apply, remove the override.
    $override
      ->delete();
  }
  elseif ($changed) {

    // Otherwise set the filtered override values back.
    $override
      ->setData($override_data)
      ->save(TRUE);
  }
}