/** * Loads configuration from storage into a property. */ protected function initConfigCollection($reset = FALSE) { if ($reset || empty($this->configCollection)) { $config_collection = []; $config_types = $this->listConfigTypes(); $dependency_manager = $this->configManager->getConfigDependencyManager(); // List configuration provided by installed features. $existing_config = $this->listExistingConfig(TRUE); foreach (array_keys($config_types) as $config_type) { $config = $this->listConfigByType($config_type); foreach ($config as $item_name => $label) { $name = $this->getFullName($config_type, $item_name); $data = $this->configStorage->read($name); // Compute dependent config. $dependent_list = $dependency_manager->getDependentEntities('config', $name); $dependents = array(); foreach ($dependent_list as $config_name => $item) { if (!isset($dependents[$config_name])) { $dependents[$config_name] = $config_name; } // Grab any dependent graph paths. if (isset($item['reverse_paths'])) { foreach ($item['reverse_paths'] as $dependent_name => $value) { if ($value && !isset($dependents[$dependent_name])) { $dependents[$dependent_name] = $dependent_name; } } } } $config_collection[$name] = new ConfigurationItem($name, $data, ['shortName' => $item_name, 'label' => $label, 'type' => $config_type, 'dependents' => array_keys($dependents), 'subdirectory' => InstallStorage::CONFIG_INSTALL_DIRECTORY, 'package' => '', 'extensionProvided' => NULL, 'providingFeature' => isset($existing_config[$name]) ? $existing_config[$name] : NULL, 'packageExcluded' => []]); } } $this->setConfigCollection($config_collection); } }
/** * Loads configuration from storage into a property. */ protected function initConfigCollection($reset = FALSE) { if ($reset || empty($this->configCollection)) { $config_collection = []; $config_types = $this->listConfigTypes(); $dependency_manager = $this->configManager->getConfigDependencyManager(); foreach (array_keys($config_types) as $config_type) { $config = $this->listConfigByType($config_type); foreach ($config as $item_name => $label) { $name = $this->getFullName($config_type, $item_name); $data = $this->configStorage->read($name); // Compute dependent config. $dependent_list = $dependency_manager->getDependentEntities('config', $name); $dependents = array(); foreach ($dependent_list as $config_name => $item) { if (!isset($dependents[$config_name])) { $dependents[$config_name] = $config_name; } // Grab any dependent graph paths. if (isset($item['reverse_paths'])) { foreach ($item['reverse_paths'] as $dependent_name => $value) { if ($value && !isset($dependents[$dependent_name])) { $dependents[$dependent_name] = $dependent_name; } } } } $config_collection[$name] = ['name' => $name, 'name_short' => $item_name, 'label' => $label, 'type' => $config_type, 'data' => $data, 'dependents' => array_keys($dependents), 'subdirectory' => InstallStorage::CONFIG_INSTALL_DIRECTORY, 'package_excluded' => []]; } } $this->setConfigCollection($config_collection); } }
/** * Loads configuration from storage into a property. */ protected function initConfigCollection($reset = FALSE) { if ($reset || empty($this->configCollection)) { $config_collection = []; $config_types = $this->listConfigTypes(); $dependency_manager = $this->configManager->getConfigDependencyManager(); foreach (array_keys($config_types) as $config_type) { $config = $this->listConfigByType($config_type); foreach ($config as $item_name => $label) { $name = $this->getFullName($config_type, $item_name); $data = $this->configStorage->read($name); // Compute dependent config. $dependent_list = $dependency_manager->getDependentEntities('config', $name); $dependents = array(); foreach ($dependent_list as $config_name => $item) { if (!isset($dependents[$config_name])) { $dependents[$config_name] = $config_name; } // Grab the dependent graph paths. foreach ($item['paths'] as $dependent_name => $value) { if ($value && !isset($dependents[$dependent_name])) { $dependents[$dependent_name] = $dependent_name; } } } $config_collection[$name] = ['name' => $name, 'name_short' => $item_name, 'label' => $label, 'type' => $config_type, 'data' => $data, 'dependents' => array_keys($dependents)]; } } $this->setConfigCollection($config_collection); } }