/** * 插件安装 * * @param $f3 */ public function InstallPlugin($f3) { // 权限检查 $this->requirePrivilege('manage_plugin_plugin_installplugin'); // 参数验证 $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->pluginInstall(PluginHelper::SYSTEM_ALL); if (true !== $ret) { $this->addFlashMessage('插件[' . $pluginDirName . ']安装失败:' . $ret); goto out; } PluginHelper::addInstallPlugin($pluginDirName); $this->addFlashMessage('插件安装成功,下一步请“启用”插件让它开始工作'); out: RouteHelper::reRoute($this, RouteHelper::getRefer(), false); }