RecommendationController.php 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. <?php
  2. namespace App\Http\Controllers\Admin;
  3. use App\Models\Recommendation;
  4. use Illuminate\Http\Request;
  5. use App\Http\Requests;
  6. use Illuminate\Support\Facades\Config;
  7. class RecommendationController extends AdminController
  8. {
  9. /*权限验证规则*/
  10. protected $validateRules = [
  11. 'subject' => 'required|max:255',
  12. 'url' => 'required|max:255',
  13. 'sort' => 'required|integer',
  14. ];
  15. /**
  16. * 显示推荐列表
  17. *
  18. * @return \Illuminate\Http\Response
  19. */
  20. public function index(Request $request)
  21. {
  22. $word = $request->input("word",'');
  23. $recommendations = Recommendation::where('subject','like',"%$word%")->orderBy('sort','asc')->orderBy('updated_at','desc')->paginate(Config::get('tipask.admin.page_size'));
  24. return view('admin.recommendation.index')->with('recommendations',$recommendations)->with('word',$word);
  25. }
  26. /**
  27. * Show the form for creating a new resource.
  28. *
  29. * @return \Illuminate\Http\Response
  30. */
  31. public function create()
  32. {
  33. return view('admin.recommendation.create');
  34. }
  35. /**
  36. * 保存添加的推荐信息
  37. *
  38. * @param \Illuminate\Http\Request $request
  39. * @return \Illuminate\Http\Response
  40. */
  41. public function store(Request $request)
  42. {
  43. $request->flash();
  44. $this->validate($request,$this->validateRules);
  45. $recommendation = Recommendation::create($request->all());
  46. if($request->hasFile('logo')){
  47. $savePath = storage_path('app/recommendations');
  48. $file = $request->file('logo');
  49. $fileName = uniqid(str_random(8)).'.'.$file->getClientOriginalExtension();
  50. $target = $file->move($savePath,$fileName);
  51. if($target){
  52. $recommendation->logo = 'recommendations-'.$fileName;
  53. $recommendation->save();
  54. }
  55. }
  56. return $this->success(route('admin.recommendation.index'),'推荐添加成功');
  57. }
  58. /**
  59. * Show the form for editing the specified resource.
  60. *
  61. * @param int $id
  62. * @return \Illuminate\Http\Response
  63. */
  64. public function edit($id)
  65. {
  66. $recommendation = Recommendation::find($id);
  67. if(!$recommendation){
  68. return $this->error(route('admin.recommendation.index'),'推荐不存在,请核实');
  69. }
  70. return view('admin.recommendation.edit')->with('recommendation',$recommendation);
  71. }
  72. /**
  73. * Update the specified resource in storage.
  74. *
  75. * @param \Illuminate\Http\Request $request
  76. * @param int $id
  77. * @return \Illuminate\Http\Response
  78. */
  79. public function update(Request $request, $id)
  80. {
  81. $request->flash();
  82. $recommendation = Recommendation::find($id);
  83. if(!$recommendation){
  84. return $this->error(route('admin.recommendation.index'),'推荐不存在,请核实');
  85. }
  86. $this->validate($request,$this->validateRules);
  87. $recommendation->subject = $request->input('subject');
  88. $recommendation->url = $request->input('url');
  89. $recommendation->sort = $request->input('sort');
  90. $recommendation->status = $request->input('status');
  91. if($request->hasFile('logo')){
  92. $savePath = storage_path('app/recommendations');
  93. $file = $request->file('logo');
  94. $fileName = uniqid(str_random(8)).'.'.$file->getClientOriginalExtension();
  95. $target = $file->move($savePath,$fileName);
  96. if($target){
  97. $recommendation->logo = 'recommendations-'.$fileName;
  98. }
  99. }
  100. $recommendation->save();
  101. return $this->success(route('admin.recommendation.index'),'推荐修改成功');
  102. }
  103. /**
  104. * 删除推荐
  105. *
  106. * @param int $id
  107. * @return \Illuminate\Http\Response
  108. */
  109. public function destroy(Request $request)
  110. {
  111. Recommendation::destroy($request->input('ids'));
  112. return $this->success(route('admin.recommendation.index'),'推荐删除成功');
  113. }
  114. }