protected ConfigImporter::processExtension($type, $op, $name)
Processes an extension change.
Parameters
string $type: The type of extension, either 'module' or 'theme'.
string $op: The change operation.
string $name: The name of the extension to process.
File
- core/lib/Drupal/Core/Config/ConfigImporter.php, line 780
Class
- ConfigImporter
- Defines a configuration importer.
Namespace
Drupal\Core\Config
Code
protected function processExtension($type, $op, $name) { // Set the config installer to use the sync directory instead of the // extensions own default config directories. \Drupal::service('config.installer') ->setSourceStorage($this->storageComparer->getSourceStorage()); if ($type == 'module') { $this->moduleInstaller->$op(array($name), FALSE); // Installing a module can cause a kernel boot therefore reinject all the // services. $this->reInjectMe(); // During a module install or uninstall the container is rebuilt and the // module handler is called from drupal_get_complete_schema(). This causes // the container's instance of the module handler not to have loaded all // the enabled modules. $this->moduleHandler->loadAll(); } if ($type == 'theme') { // Theme uninstalls possible remove default or admin themes therefore we // need to import this before doing any. If there are no uninstalls and // the default or admin theme is changing this will be picked up whilst // processing configuration. if ($op == 'uninstall' && $this->processedSystemTheme === FALSE) { $this->importConfig(StorageInterface::DEFAULT_COLLECTION, 'update', 'system.theme'); $this->configManager->getConfigFactory()->reset('system.theme'); $this->processedSystemTheme = TRUE; } $this->themeHandler->$op(array($name)); } $this->setProcessedExtension($type, $op, $name); }
Please login to continue.