コード例 #1
0
ファイル: ModuleManager.php プロジェクト: alefernie/intranet
 /**
  * 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();
     }
 }
コード例 #2
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) {
             }
         }
     }
 }