<?php namespace App\Http\Controllers\Admin; use Session; use App\Models\Language; use App\Models\Testimonial; use App\Models\Sectiontitle; use Illuminate\Http\Request; use App\Http\Controllers\Controller; class TestimonialController extends Controller { public $lang; public function __construct() { $this->lang = Language::where('is_default',1)->first(); } public function testimonial(Request $request){ $lang = Language::where('code', $request->language)->first()->id; $testimonials = Testimonial::where('language_id', $lang)->orderBy('id', 'DESC')->get(); $saectiontitle = Sectiontitle::where('language_id', $lang)->first(); return view('admin.home.testimonial.index', compact('testimonials', 'saectiontitle')); } //Add Testimonial public function add(){ return view('admin.home.testimonial.add'); } // Store Testimonial public function store(Request $request){ $request->validate([ 'image' => 'required|mimes:jpeg,jpg,png', 'name' => 'required|max:100', 'position' => 'required|max:100', 'rating' => 'required', 'serial_number' => 'required', 'message' => 'required|max:300', ]); $testimonial = new Testimonial(); if($request->hasFile('image')){ $file = $request->file('image'); $extension = $file->getClientOriginalExtension(); $image = time().rand().'.'.$extension; $file->move('assets/front/img/', $image); $testimonial->image = $image; } $testimonial->name = $request->name; $testimonial->language_id = $request->language_id; $testimonial->position = $request->position; $testimonial->rating = $request->rating; $testimonial->message = $request->message; $testimonial->serial_number = $request->serial_number; $testimonial->save(); $notification = array( 'messege' => 'Testimonial Added successfully!', 'alert' => 'success' ); return redirect()->back()->with('notification', $notification); } //Testimonial Delete public function delete($id){ $testimonial = Testimonial::find($id); @unlink('assets/front/img/'. $testimonial->featured_image); $testimonial->delete(); return back(); } //Service Delete public function edit($id){ $testimonial = Testimonial::find($id); return view('admin.home.testimonial.edit', compact('testimonial')); } // Testimonial Update public function update(Request $request, $id){ $request->validate([ 'image' => 'mimes:jpeg,jpg,png', 'name' => 'required|max:100', 'position' => 'required|max:100', 'rating' => 'required', 'serial_number' => 'required', 'message' => 'required|max:300', ]); $testimonial = Testimonial::find($id); if($request->hasFile('image')){ @unlink('assets/front/img/'. $testimonial->image); $file = $request->file('image'); $extension = $file->getClientOriginalExtension(); $image = time().rand().'.'.$extension; $file->move('assets/front/img/', $image); $testimonial->image = $image; } $testimonial->name = $request->name; $testimonial->language_id = $request->language_id; $testimonial->position = $request->position; $testimonial->rating = $request->rating; $testimonial->message = $request->message; $testimonial->serial_number = $request->serial_number; $testimonial->save(); $notification = array( 'messege' => 'Testimonial Updated successfully!', 'alert' => 'success' ); return redirect(route('admin.testimonial').'?language='.$this->lang->code)->with('notification', $notification); } public function testimonialcontent(Request $request, $id){ $request->validate([ 'testimonial_title' => 'required', 'testimonial_subtitle' => 'required' ]); $testimonial_title = Sectiontitle::where('language_id', $id)->first(); $testimonial_title->testimonial_title = $request->testimonial_title; $testimonial_title->testimonial_subtitle = $request->testimonial_subtitle; $testimonial_title->save(); $notification = array( 'messege' => 'Testimonial Content Updated successfully!', 'alert' => 'success' ); return redirect(route('admin.testimonial').'?language='.$this->lang->code)->with('notification', $notification); } }