/** * Installs a given moduleId from marketplace */ public function actionInstall() { $this->forcePostRequest(); $moduleId = Yii::$app->request->get('moduleId'); if (!Yii::$app->moduleManager->hasModule($moduleId)) { $onlineModules = new OnlineModuleManager(); $onlineModules->install($moduleId); } // Redirect to Module Install? $this->redirect(['/admin/module/list']); }
public function actionIndex() { $isNewVersionAvailable = false; $isUpToDate = false; $latestVersion = ""; if ($this->module->marketplaceEnabled) { $onlineModuleManager = new OnlineModuleManager(); $latestVersion = $onlineModuleManager->getLatestHumHubVersion(); if ($latestVersion) { $isNewVersionAvailable = version_compare($latestVersion, Yii::$app->version, ">"); $isUpToDate = !$isNewVersionAvailable; } } return $this->render('index', array('currentVersion' => Yii::$app->version, 'latestVersion' => $latestVersion, 'isNewVersionAvailable' => $isNewVersionAvailable, 'isUpToDate' => $isUpToDate)); }
/** * Check if there is a new Humhub Version available and sends a notification * to super admins * * @param \yii\base\Event $event */ public static function onCronDailyRun($event) { $controller = $event->sender; if (!Yii::$app->getModule('admin')->marketplaceEnabled) { return; } $controller->stdout("Checking for new HumHub version... "); $onlineModuleManager = new OnlineModuleManager(); $latestVersion = $onlineModuleManager->getLatestHumHubVersion(); if ($latestVersion != "" && version_compare($latestVersion, Yii::$app->version, ">")) { $notification = new notifications\NewVersionAvailable(); $notification->add(User::find()->where(['super_admin' => 1])); } $controller->stdout('done. ' . PHP_EOL, \yii\helpers\Console::FG_GREEN); }
/** * 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) { } } } }