public ConfigInstaller::checkConfigurationToInstall($type, $name)
Checks the configuration that will be installed for an extension.
Parameters
string $type: Type of extension to install.
string $name: Name of extension to install.
Throws
\Drupal\Core\Config\UnmetDependenciesException
\Drupal\Core\Config\PreExistingConfigException
Overrides ConfigInstallerInterface::checkConfigurationToInstall
File
- core/lib/Drupal/Core/Config/ConfigInstaller.php, line 438
Class
Namespace
Drupal\Core\Config
Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | 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 = $this ->findDefaultConfigWithUnmetDependencies( $storage , $enabled_extensions , $profile_storages ); if (! empty ( $invalid_default_config )) { throw UnmetDependenciesException::create( $name , $invalid_default_config ); } // 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 ); } } } |
Please login to continue.