Beispiel #1
0
 /**
  * Updates a module
  * 
  * @param type $args
  * @return type
  */
 public function actionUpdate($args, $force = false)
 {
     if (!isset($args[0])) {
         print "Error: Module Id required!\n\n";
         print $this->getHelp();
         return;
     }
     $moduleId = $args[0];
     if (!Yii::app()->moduleManager->isInstalled($moduleId)) {
         print "\nModule " . $moduleId . " is not installed!\n";
         return;
     }
     // Look online for module
     $onlineModules = new OnlineModuleManager();
     $moduleInfo = $onlineModules->getModuleInfo($moduleId);
     if (!isset($moduleInfo['latestCompatibleVersion'])) {
         print "No compatible version for " . $moduleId . " found online!\n";
         return;
     }
     if (!$force) {
         $module = Yii::app()->moduleManager->getModule($moduleId);
         if ($moduleInfo['latestCompatibleVersion']['version'] == $module->getVersion()) {
             print "Module " . $moduleId . " already up to date!\n";
             return;
         }
     }
     $onlineModules->update($moduleId);
     print "Module " . $moduleId . " successfully updated!\n";
 }