/** * Sets specified modules to enabled or disabled state * * Performs other necessary routines, such as cache cleanup * * @param bool $isEnabled * @param string[] $modules * @return void */ public function setIsEnabled($isEnabled, $modules) { $result = []; foreach ($this->getAllModules($modules) as $name) { $currentStatus = $this->list->has($name); if (in_array($name, $modules)) { $result[$name] = $isEnabled; } else { $result[$name] = $currentStatus; } } $segment = $this->deploymentConfigFactory->create($result); $this->writer->update($segment); $this->cleanup->clearCaches(); $this->cleanup->clearCodeGeneratedFiles(); }
/** * Updates modules in deployment configuration * * @return void */ public function updateModulesSequence() { $this->assertDeploymentConfigExists(); $this->log->log('File system cleanup:'); $this->deleteDirContents(DirectoryList::GENERATION); $this->deleteDirContents(DirectoryList::CACHE); $this->log->log('Updating modules:'); $allModules = array_keys($this->moduleLoader->load()); $deploymentConfig = $this->deploymentConfigReader->load(); $currentModules = isset($deploymentConfig['modules']) ? $deploymentConfig['modules'] : []; $result = []; foreach ($allModules as $module) { if (isset($currentModules[$module]) && !$currentModules[$module]) { $result[$module] = 0; } else { $result[$module] = 1; } } $segment = $this->deploymentConfigFactory->create($result); $this->deploymentConfigWriter->update($segment); }
public function testCreate() { $this->object = new DeploymentConfigFactory(); $this->assertInstanceOf('Magento\\Framework\\Module\\ModuleList\\DeploymentConfig', $this->object->create(['Module_One' => 0, 'Module_Two' => 1])); }