public function ConfigSplitIgnoreFilter::getIgnoredKeys in Configuration Split Ignore 8
Returns the list of ignored configuration names with their ignored keys.
File
- src/
Plugin/ ConfigFilter/ ConfigSplitIgnoreFilter.php, line 226
Class
- ConfigSplitIgnoreFilter
- Provides a ignore filter that allows to delete the configuration entities.
Namespace
Drupal\config_split_ignore\Plugin\ConfigFilterCode
public function getIgnoredKeys() {
if (empty($this->configuration['ignored'])) {
return [];
}
$active_names = $this->active
->listAll();
$ignored_keys = [];
foreach ($this->configuration['ignored'] as $config_ignore_setting) {
$ignore = explode(':', $config_ignore_setting, 2);
$ignore_name_pattern = $ignore[0];
$ignore_key = isset($ignore[1]) ? $ignore[1] : '';
foreach ($active_names as $config_name) {
if ($config_ignore_setting === static::FORCE_EXCLUSION_PREFIX . $config_name) {
continue;
}
if ($config_ignore_setting === static::DELETION_PREFIX . $config_name) {
continue;
}
if ($this
->stringMatch($ignore_name_pattern, $config_name)) {
$ignored_keys[$config_name][$ignore_key] = TRUE;
}
}
}
foreach (array_keys($ignored_keys) as $ignore_name) {
if (isset($ignored_keys[$ignore_name][''])) {
// The whole configuration entity is ignored.
$ignored_keys[$ignore_name] = [];
}
else {
// Just some keys are ignored.
$ignored_keys[$ignore_name] = array_keys($ignored_keys[$ignore_name]);
}
}
return $ignored_keys;
}