BannersController.php 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\Models\Banner;
  4. use Illuminate\Http\Request;
  5. use Illuminate\Support\Facades\Auth;
  6. class BannersController extends Controller
  7. {
  8. public function index()
  9. {
  10. $this->_policy();
  11. $banners = Banner::all();
  12. return view('pages.banners.index', compact('banners'));
  13. }
  14. public function create(Banner $banner)
  15. {
  16. $this->_policy();
  17. return view('pages.banners.create_and_edit', compact('banner'));
  18. }
  19. public function store(Request $request, Banner $banner)
  20. {
  21. $this->_policy();
  22. $banner->fill($request->all());
  23. $banner->save();
  24. return redirect()->route('banners.index')->with('success', 'Banner 创建成功');
  25. }
  26. public function edit(Banner $banner)
  27. {
  28. $this->_policy();
  29. return view('pages.banners.create_and_edit', compact('banner'));
  30. }
  31. public function update(Request $request, Banner $banner)
  32. {
  33. $this->_policy();
  34. $banner->update($request->all());
  35. return redirect()->route('banners.index')->with('success', '更新成功');
  36. }
  37. public function destroy(Banner $banner)
  38. {
  39. $this->_policy();
  40. $banner->delete();
  41. return redirect()->route('banners.index')->with('success', '删除成功.');
  42. }
  43. /**
  44. * 判断当前用户是否是站长
  45. */
  46. protected function _policy()
  47. {
  48. if (!Auth::user() || !Auth::user()->isAdminOf()) {
  49. abort(404);
  50. }
  51. }
  52. }