<?php namespace App\Http\Controllers\Admin; use App\Models\Eslider; use App\Models\Language; use Illuminate\Http\Request; use App\Http\Controllers\Controller; use App\Models\Ebanner; class EcommerceController extends Controller { public $lang; public function __construct() { $this->lang = Language::where('is_default',1)->first(); } // Slider Functions Start public function slider(Request $request){ $lang = Language::where('code', $request->language)->first()->id; $sliders = Eslider::where('language_id', $lang)->orderBy('id', 'DESC')->get(); return view('admin.ecommerce.slider.index', compact('sliders')); } public function sliderAdd(){ return view('admin.ecommerce.slider.add'); } public function sliderStore(Request $request){ $request->validate([ 'title' => 'required|max:250', 'language_id' => 'required', 'price' => 'required|numeric|max:250', 'background_image' => 'required|mimes:jpeg,jpg,png', 'image' => 'required|mimes:jpeg,jpg,png', 'serial_number' => 'required|numeric', 'button_text' => 'required', 'button_link' => 'required', 'status' => 'required', ]); $slider = new Eslider(); if($request->hasFile('image')){ $file = $request->file('image'); $extension = $file->getClientOriginalExtension(); $image = time().rand().'.'.$extension; $file->move('assets/front/img/slider', $image); $slider->image = $image; } if($request->hasFile('background_image')){ $file = $request->file('background_image'); $extension = $file->getClientOriginalExtension(); $background_image = time().rand().'.'.$extension; $file->move('assets/front/img/slider', $background_image); $slider->background_image = $background_image; } $slider->language_id = $request->language_id; $slider->status = $request->status; $slider->title = $request->title; $slider->price = $request->price; $slider->serial_number = $request->serial_number; $slider->button_text = $request->button_text; $slider->button_link = $request->button_link; $slider->save(); $notification = array( 'messege' => 'Slider Added successfully!', 'alert' => 'success' ); return redirect()->back()->with('notification', $notification); } public function sliderEdit($id){ $slider = Eslider::find($id); return view('admin.ecommerce.slider.edit', compact('slider')); } public function sliderUpdate(Request $request, $id){ // dd($request->background_image->getClientOriginalExtension()); $id = $request->id; $request->validate([ 'background_image' => 'mimes:jpeg,jpg,png', 'image' => 'mimes:jpeg,jpg,png', 'title' => 'required|max:250', 'language_id' => 'required', 'price' => 'required|numeric|max:250', 'serial_number' => 'required|numeric', 'button_text' => 'required', 'button_link' => 'required', 'status' => 'required' ]); $slider = Eslider::find($id); if($request->hasFile('image')){ @unlink('assets/front/img/slider/'. $slider->image); $file = $request->file('image'); $extension = $file->getClientOriginalExtension(); $image = time().rand().'.'.$extension; $file->move('assets/front/img/slider/', $image); $slider->image = $image; } if($request->hasFile('background_image')){ @unlink('assets/front/img/slider/'. $slider->background_image); $file = $request->file('background_image'); $extension = $file->getClientOriginalExtension(); $background_image = time().rand().'.'.$extension; $file->move('assets/front/img/slider/', $background_image); $slider->background_image = $background_image; } $slider->language_id = $request->language_id; $slider->status = $request->status; $slider->title = $request->title; $slider->price = $request->price; $slider->serial_number = $request->serial_number; $slider->button_text = $request->button_text; $slider->button_link = $request->button_link; $slider->save(); $notification = array( 'messege' => 'Slider Updated successfully!', 'alert' => 'success' ); return redirect(route('admin.ecommerce.slider').'?language='.$this->lang->code)->with('notification', $notification); } public function sliderDelete($id){ $slider = Eslider::find($id); @unlink('assets/front/img/slider/'. $slider->image); @unlink('assets/front/img/slider/'. $slider->background_image); $slider->delete(); $notification = array( 'messege' => 'Slider Deleted successfully!', 'alert' => 'success' ); return redirect()->back()->with('notification', $notification); } // Slider Functions End // Banner Functions Start public function banner(Request $request){ $lang = Language::where('code', $request->language)->first()->id; $banners = Ebanner::where('language_id', $lang)->orderBy('id', 'DESC')->get(); return view('admin.ecommerce.banner.index', compact('banners')); } public function bannerAdd(){ return view('admin.ecommerce.banner.add'); } public function bannerStore(Request $request){ $checkbnanner = Ebanner::where('language_id', $request->language_id)->get(); if($checkbnanner->count() == 2){ $notification = array( 'messege' => 'You can not add more that two banner', 'alert' => 'warning' ); return redirect()->back()->with('notification', $notification); } $request->validate([ 'title' => 'required|max:250', 'language_id' => 'required', 'price' => 'required|max:250', 'image' => 'required|mimes:jpeg,jpg,png', 'button_text' => 'required', 'button_link' => 'required' ]); $banner = new Ebanner(); if($request->hasFile('image')){ $file = $request->file('image'); $extension = $file->getClientOriginalExtension(); $image = time().rand().'.'.$extension; $file->move('assets/front/img', $image); $banner->image = $image; } $banner->language_id = $request->language_id; $banner->title = $request->title; $banner->price = $request->price; $banner->button_text = $request->button_text; $banner->button_link = $request->button_link; $banner->save(); $notification = array( 'messege' => 'Banner Added successfully!', 'alert' => 'success' ); return redirect()->back()->with('notification', $notification); } public function bannerEdit($id){ $banner = Ebanner::find($id); return view('admin.ecommerce.banner.edit', compact('banner')); } public function bannerUpdate(Request $request, $id){ $request->validate([ 'image' => 'mimes:jpeg,jpg,png', 'title' => 'required|max:250', 'language_id' => 'required', 'price' => 'required|max:250', 'button_text' => 'required', 'button_link' => 'required' ]); $slider = Ebanner::find($id); if($request->hasFile('image')){ @unlink('assets/front/img/'. $slider->image); $file = $request->file('image'); $extension = $file->getClientOriginalExtension(); $image = time().rand().'.'.$extension; $file->move('assets/front/img/', $image); $slider->image = $image; } $slider->language_id = $request->language_id; $slider->title = $request->title; $slider->price = $request->price; $slider->button_text = $request->button_text; $slider->button_link = $request->button_link; $slider->save(); $notification = array( 'messege' => 'Banner Updated successfully!', 'alert' => 'success' ); return redirect(route('admin.ecommerce.banner').'?language='.$this->lang->code)->with('notification', $notification); } // Slider Functions End }