function ConfigInstaller::checkConfigurationToInstall
Same name in this branch
- 11.x core/lib/Drupal/Core/ProxyClass/Config/ConfigInstaller.php \Drupal\Core\ProxyClass\Config\ConfigInstaller::checkConfigurationToInstall()
Same name in other branches
- 9 core/lib/Drupal/Core/ProxyClass/Config/ConfigInstaller.php \Drupal\Core\ProxyClass\Config\ConfigInstaller::checkConfigurationToInstall()
- 9 core/lib/Drupal/Core/Config/ConfigInstaller.php \Drupal\Core\Config\ConfigInstaller::checkConfigurationToInstall()
- 8.9.x core/lib/Drupal/Core/ProxyClass/Config/ConfigInstaller.php \Drupal\Core\ProxyClass\Config\ConfigInstaller::checkConfigurationToInstall()
- 8.9.x core/lib/Drupal/Core/Config/ConfigInstaller.php \Drupal\Core\Config\ConfigInstaller::checkConfigurationToInstall()
- 10 core/lib/Drupal/Core/ProxyClass/Config/ConfigInstaller.php \Drupal\Core\ProxyClass\Config\ConfigInstaller::checkConfigurationToInstall()
- 10 core/lib/Drupal/Core/Config/ConfigInstaller.php \Drupal\Core\Config\ConfigInstaller::checkConfigurationToInstall()
Overrides ConfigInstallerInterface::checkConfigurationToInstall
File
-
core/
lib/ Drupal/ Core/ Config/ ConfigInstaller.php, line 505
Class
Namespace
Drupal\Core\ConfigCode
public function checkConfigurationToInstall($type, $name) {
if ($this->isSyncing()) {
// Configuration is assumed to already be checked by the config importer
// validation events.
return;
}
$config_install_path = $this->getDefaultConfigDirectory($type, $name);
if (!is_dir($config_install_path)) {
return;
}
$storage = new FileStorage($config_install_path, StorageInterface::DEFAULT_COLLECTION);
$enabled_extensions = $this->getEnabledExtensions();
// Add the extension that will be enabled to the list of enabled extensions.
$enabled_extensions[] = $name;
// Gets profile storages to search for overrides if necessary.
$profile_storages = $this->getProfileStorages($name);
// Check the dependencies of configuration provided by the module.
[
$invalid_default_config,
$missing_dependencies,
] = $this->findDefaultConfigWithUnmetDependencies($storage, $enabled_extensions, $profile_storages);
if (!empty($invalid_default_config)) {
throw UnmetDependenciesException::create($name, array_unique($missing_dependencies, SORT_REGULAR));
}
// Install profiles can not have config clashes. Configuration that
// has the same name as a module's configuration will be used instead.
if ($name != $this->drupalGetProfile()) {
// Throw an exception if the module being installed contains configuration
// that already exists. Additionally, can not continue installing more
// modules because those may depend on the current module being installed.
$existing_configuration = $this->findPreExistingConfiguration($storage);
if (!empty($existing_configuration)) {
throw PreExistingConfigException::create($name, $existing_configuration);
}
}
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.