Example #1
0
 /**
  * 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']);
 }
Example #2
0
 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));
 }
Example #3
0
 /**
  * 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);
 }
Example #4
0
 /**
  * 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) {
             }
         }
     }
 }