diff --git a/console/controllers/ModuleController.php b/console/controllers/ModuleController.php index ed9a88c..cba2f5d 100644 --- a/console/controllers/ModuleController.php +++ b/console/controllers/ModuleController.php @@ -59,6 +59,14 @@ class ModuleController extends Controller } } + public function actionSetSystem($name) + { + $module = ModuleRecord::find()->andWhere(['name' => $name])->one(); + if ($module) { + $this->_service->setSystem($module); + } + } + public function actionInstall($name) { $path = \Yii::getAlias('@common/modules/' . $name); diff --git a/core/services/ModuleService.php b/core/services/ModuleService.php index 582fe7e..6dfc0a7 100644 --- a/core/services/ModuleService.php +++ b/core/services/ModuleService.php @@ -90,6 +90,12 @@ class ModuleService SearchPerformance::init(); } + public function setSystem(ModuleRecord $module) + { + $module->system = ModuleRecord::SYSTEM_YES; + $this->_modules->save($module); + } + private function getMigrationFiles($module) { // migration if not exists diff --git a/setup.php b/setup.php index 9666291..4ea1b61 100644 --- a/setup.php +++ b/setup.php @@ -390,10 +390,11 @@ SH; private function activateSystemModules() : void { - Console::log($this->l('Activating modules: '), 'white'); + Console::log($this->l('Activating system modules: '), 'white'); shell_exec('php ' . __DIR__ . '/yii module/init'); foreach ($this->_systemModules as $name) { shell_exec('php ' . __DIR__ . '/yii module/activate "' . $name . '"'); + shell_exec('php ' . __DIR__ . '/yii module/set-system "' . $name . '"'); } echo Console::log($this->l('Complete'), 'green') . PHP_EOL; }