コード例 #1
0
ファイル: Plugin.php プロジェクト: jackycgq/bzfshop
 /**
  * 插件安装
  *
  * @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);
 }