You are here

protected function ConfigSplitIgnoreFilter::matchConfigName in Configuration Split Ignore 8

Match a config entity name against the list of ignored config entities.

Parameters

string $config_name: The name of the config entity to match against all ignored entities.

Return value

bool True, if the config entity is to be ignored, false otherwise.

Overrides IgnoreFilter::matchConfigName

File

src/Plugin/ConfigFilter/ConfigSplitIgnoreFilter.php, line 80

Class

ConfigSplitIgnoreFilter
Provides a ignore filter that allows to delete the configuration entities.

Namespace

Drupal\config_split_ignore\Plugin\ConfigFilter

Code

protected function matchConfigName($config_name) {
  if (Settings::get('config_split_ignore_deactivate')) {

    // Allow deactivating config_split_ignore in settings.php.
    // Do not match any name in that case and allow
    // a normal configuration import to happen.
    return FALSE;
  }

  // If the string is an excluded config, don't ignore it.
  if (in_array(static::FORCE_EXCLUSION_PREFIX . $config_name, $this->configuration['ignored'], TRUE)) {
    return FALSE;
  }

  // If the string is a deleted config, don't ignore it.
  if (in_array(static::DELETION_PREFIX . $config_name, $this->configuration['ignored'], TRUE)) {
    return FALSE;
  }
  foreach ($this->configuration['ignored'] as $config_ignore_setting) {

    // Split the ignore settings so that we can ignore individual keys.
    $ignore = explode(':', $config_ignore_setting, 2);
    if ($this
      ->stringMatch($ignore[0], $config_name)) {
      return TRUE;
    }
  }
  return FALSE;
}