AdminTestimonialController.php 2.7 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\Testimonial;
  6. class AdminTestimonialController extends Controller
  7. {
  8. public function index()
  9. {
  10. $testimonials = Testimonial::get();
  11. return view('admin.testimonial.index',compact('testimonials'));
  12. }
  13. public function create()
  14. {
  15. return view('admin.testimonial.create');
  16. }
  17. public function create_submit(Request $request)
  18. {
  19. $request->validate([
  20. 'name' => 'required',
  21. 'designation' => 'required',
  22. 'comment' => 'required',
  23. 'photo' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:2048',
  24. ]);
  25. $final_name = 'testimonial_'.time().'.'.$request->photo->extension();
  26. $request->photo->move(public_path('uploads'), $final_name);
  27. $obj = new Testimonial();
  28. $obj->photo = $final_name;
  29. $obj->name = $request->name;
  30. $obj->designation = $request->designation;
  31. $obj->comment = $request->comment;
  32. $obj->save();
  33. return redirect()->route('admin_testimonial_index')->with('success','Testimonial is Created Successfully');
  34. }
  35. public function edit($id)
  36. {
  37. $testimonial = Testimonial::where('id',$id)->first();
  38. return view('admin.testimonial.edit',compact('testimonial'));
  39. }
  40. public function edit_submit(Request $request, $id)
  41. {
  42. $testimonial = Testimonial::where('id',$id)->first();
  43. $request->validate([
  44. 'name' => 'required',
  45. 'designation' => 'required',
  46. 'comment' => 'required',
  47. ]);
  48. if($request->hasFile('photo'))
  49. {
  50. $request->validate([
  51. 'photo' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:2048',
  52. ]);
  53. unlink(public_path('uploads/'.$testimonial->photo));
  54. $final_name = 'testimonial_'.time().'.'.$request->photo->extension();
  55. $request->photo->move(public_path('uploads'), $final_name);
  56. $testimonial->photo = $final_name;
  57. }
  58. $testimonial->name = $request->name;
  59. $testimonial->designation = $request->designation;
  60. $testimonial->comment = $request->comment;
  61. $testimonial->save();
  62. return redirect()->route('admin_testimonial_index')->with('success','Testimonial is Updated Successfully');
  63. }
  64. public function delete($id)
  65. {
  66. $testimonial = Testimonial::where('id',$id)->first();
  67. unlink(public_path('uploads/'.$testimonial->photo));
  68. $testimonial->delete();
  69. return redirect()->route('admin_testimonial_index')->with('success','Testimonial is Deleted Successfully');
  70. }
  71. }