AdminSliderController.php 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. <?php
  2. namespace App\Http\Controllers\Admin;
  3. use App\Http\Controllers\Controller;
  4. use Illuminate\Http\Request;
  5. use App\Models\Slider;
  6. class AdminSliderController extends Controller
  7. {
  8. public function index()
  9. {
  10. $sliders = Slider::get();
  11. return view('admin.slider.index',compact('sliders'));
  12. }
  13. public function create()
  14. {
  15. return view('admin.slider.create');
  16. }
  17. public function create_submit(Request $request)
  18. {
  19. $request->validate([
  20. 'heading' => 'required',
  21. 'text' => 'required',
  22. 'photo' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:2048',
  23. ]);
  24. $final_name = 'slider_'.time().'.'.$request->photo->extension();
  25. $request->photo->move(public_path('uploads'), $final_name);
  26. $slider = new Slider();
  27. $slider->photo = $final_name;
  28. $slider->heading = $request->heading;
  29. $slider->text = $request->text;
  30. $slider->button_text = $request->button_text;
  31. $slider->button_link = $request->button_link;
  32. $slider->save();
  33. return redirect()->route('admin_slider_index')->with('success','Slider Created Successfully');
  34. }
  35. public function edit($id)
  36. {
  37. $slider = Slider::where('id',$id)->first();
  38. return view('admin.slider.edit',compact('slider'));
  39. }
  40. public function edit_submit(Request $request, $id)
  41. {
  42. $slider = Slider::where('id',$id)->first();
  43. $request->validate([
  44. 'heading' => 'required',
  45. 'text' => 'required',
  46. ]);
  47. if($request->hasFile('photo'))
  48. {
  49. $request->validate([
  50. 'photo' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:2048',
  51. ]);
  52. unlink(public_path('uploads/'.$slider->photo));
  53. $final_name = 'slider_'.time().'.'.$request->photo->extension();
  54. $request->photo->move(public_path('uploads'), $final_name);
  55. $slider->photo = $final_name;
  56. }
  57. $slider->heading = $request->heading;
  58. $slider->text = $request->text;
  59. $slider->button_text = $request->button_text;
  60. $slider->button_link = $request->button_link;
  61. $slider->save();
  62. return redirect()->route('admin_slider_index')->with('success','Slider Updated Successfully');
  63. }
  64. public function delete($id)
  65. {
  66. $slider = Slider::where('id',$id)->first();
  67. unlink(public_path('uploads/'.$slider->photo));
  68. $slider->delete();
  69. return redirect()->route('admin_slider_index')->with('success','Slider Deleted Successfully');
  70. }
  71. }