/** * Module Manager init * * Loads all enabled moduleId's from database */ public function init() { parent::init(); if (!Yii::$app->params['installed']) { return; } if (Yii::$app instanceof console\Application && !Yii::$app->isDatabaseInstalled()) { $this->enabledModules = []; } else { $this->enabledModules = \humhub\models\ModuleEnabled::getEnabledIds(); } }
/** * Updates all modules to the latest available version. * * @param array $args */ public function actionUpdateAll() { // Also install modules which are seems to be installed $installedModules = Yii::$app->moduleManager->getModules(['returnClass' => true]); foreach ($installedModules as $moduleId => $className) { $this->actionUpdate($moduleId); } /** * Looking up modules which are marked as installed but not loaded. * Try to get recent version online. */ foreach (\humhub\models\ModuleEnabled::getEnabledIds() as $moduleId) { if (!in_array($moduleId, array_keys($installedModules))) { // Module seems to be installed - but cannot be loaded // Try force re-install try { $onlineModules = new OnlineModuleManager(); $onlineModules->install($moduleId); print "Reinstalled: " . $moduleId . "\n"; } catch (Exception $ex) { } } } }