/** * Action for enabling or disabling modules * * @return void * @throws \Magento\Setup\Exception */ public function moduleAction() { /** @var \Zend\Console\Request $request */ $request = $this->getRequest(); $isEnable = $request->getParam(0) == self::CMD_MODULE_ENABLE; $modules = explode(',', $request->getParam('modules')); /** @var \Magento\Framework\Module\Status $status */ $status = $this->objectManagerProvider->get()->create('Magento\\Framework\\Module\\Status'); $modulesToChange = $status->getModulesToChange($isEnable, $modules); $message = ''; if (!empty($modulesToChange)) { if (!$request->getParam('force')) { $constraints = $status->checkConstraints($isEnable, $modulesToChange); if ($constraints) { $message .= "Unable to change status of modules because of the following constraints:\n" . implode("\n", $constraints); throw new \Magento\Setup\Exception($message); } } else { $message .= 'Alert: Your store may not operate properly because of ' . "dependencies and conflicts of this module(s).\n"; } $status->setIsEnabled($isEnable, $modulesToChange); $updateAfterEnableMessage = ''; if ($isEnable) { $message .= 'The following modules have been enabled:'; $updateAfterEnableMessage = "\nTo make sure that the enabled modules are properly registered," . " run 'update' command."; } else { $message .= 'The following modules have been disabled:'; } $message .= ' ' . implode(', ', $modulesToChange) . $updateAfterEnableMessage; } else { $message .= 'There have been no changes to any modules.'; } $this->log->log($message); }
/** * Action for "maintenance" command * * @return void */ public function maintenanceAction() { /** @var \Zend\Console\Request $request */ $request = $this->getRequest(); $set = $request->getParam('set'); $addresses = $request->getParam('addresses'); if (null !== $set) { if (1 == $set) { $this->log->log('Enabling maintenance mode...'); $this->maintenanceMode->set(true); } else { $this->log->log('Disabling maintenance mode...'); $this->maintenanceMode->set(false); } } if (null !== $addresses) { $addresses = 'none' == $addresses ? '' : $addresses; $this->maintenanceMode->setAddresses($addresses); } $this->log->log('Status: maintenance mode is ' . ($this->maintenanceMode->isOn() ? 'active' : 'not active')); $addresses = implode(', ', $this->maintenanceMode->getAddressInfo()); $this->log->log('List of exempt IP-addresses: ' . ($addresses ? $addresses : 'none')); }