has('action') && $request->has('id')) { $id = $request->get('id'); if ($plugins->getPlugins()->has($id)) { $plugin = $plugins->getPlugin($id); switch ($request->get('action')) { case 'enable': $plugins->enable($id); return redirect('admin/plugins/manage'); break; case 'disable': $plugins->disable($id); return redirect('admin/plugins/manage'); break; case 'delete': if ($request->isMethod('post')) { event(new Events\PluginWasDeleted($plugin)); $plugins->uninstall($id); return json('插件已被成功删除', 0); } break; case 'config': if ($plugin->isEnabled() && $plugin->hasConfigView()) { return View::file($plugin->getViewPath('config')); } else { abort(404); } break; default: # code... break; } } } $data = [ 'installed' => $plugins->getPlugins(), 'enabled' => $plugins->getEnabledPlugins() ]; return view('admin.plugins', $data); } }