RecommendationController.php 4.3 KB

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