public function ConfigManager::findMissingContentDependencies in Drupal 9
Same name and namespace in other branches
- 8 core/lib/Drupal/Core/Config/ConfigManager.php \Drupal\Core\Config\ConfigManager::findMissingContentDependencies()
Finds missing content dependencies declared in configuration entities.
Return value
array A list of missing content dependencies. The array is keyed by UUID. Each value is an array with the following keys: 'entity_type', 'bundle' and 'uuid'.
Overrides ConfigManagerInterface::findMissingContentDependencies
File
- core/
lib/ Drupal/ Core/ Config/ ConfigManager.php, line 503
Class
- ConfigManager
- The ConfigManager provides helper functions for the configuration system.
Namespace
Drupal\Core\ConfigCode
public function findMissingContentDependencies() {
$content_dependencies = [];
$missing_dependencies = [];
foreach ($this->activeStorage
->readMultiple($this->activeStorage
->listAll()) as $config_data) {
if (isset($config_data['dependencies']['content'])) {
$content_dependencies = array_merge($content_dependencies, $config_data['dependencies']['content']);
}
if (isset($config_data['dependencies']['enforced']['content'])) {
$content_dependencies = array_merge($content_dependencies, $config_data['dependencies']['enforced']['content']);
}
}
foreach (array_unique($content_dependencies) as $content_dependency) {
// Format of the dependency is entity_type:bundle:uuid.
list($entity_type, $bundle, $uuid) = explode(':', $content_dependency, 3);
if (!$this->entityRepository
->loadEntityByUuid($entity_type, $uuid)) {
$missing_dependencies[$uuid] = [
'entity_type' => $entity_type,
'bundle' => $bundle,
'uuid' => $uuid,
];
}
}
return $missing_dependencies;
}