Exemplo n.º 1
0
 /**
  * 插件激活
  *
  * @param $f3
  */
 public function ActivatePlugin($f3)
 {
     // 权限检查
     $this->requirePrivilege('manage_plugin_plugin_activateplugin');
     // 参数验证
     $validator = new Validator($f3->get('GET'));
     $pluginDirName = $validator->required()->validate('pluginDirName');
     if (!$this->validate($validator)) {
         goto out;
     }
     $pluginInstance = PluginHelper::loadPluginInstance($pluginDirName);
     if (!$pluginInstance) {
         $this->addFlashMessage('插件[' . $pluginDirName . ']无效');
         goto out;
     }
     // 调用插件操作
     $ret = $pluginInstance->pluginActivate(PluginHelper::SYSTEM_ALL);
     if (true !== $ret) {
         $this->addFlashMessage('插件[' . $pluginDirName . ']启用失败:' . $ret);
         goto out;
     }
     PluginHelper::addActivePlugin($pluginDirName);
     $this->addFlashMessage('插件启用成功');
     out:
     RouteHelper::reRoute($this, RouteHelper::getRefer(), false);
 }