JFIF x x C C " } !1AQa "q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w !1AQ aq"2B #3Rbr{
File "TestimonialController.php"
Full Path: /var/www/laravel_filter/Modules/Section/Http/Controllers/TestimonialController.php
File size: 7.51 KB
MIME-type: text/x-php
Charset: utf-8
<?php
namespace Modules\Section\Http\Controllers;
use Illuminate\Contracts\Support\Renderable;
use Illuminate\Http\Request;
use Illuminate\Routing\Controller;
use Modules\Section\Entities\Testimonial;
use Modules\Section\Entities\TestimonialTranslation;
use Modules\Language\Entities\Language;
use File;
use Image;
use Str;
class TestimonialController extends Controller
{
public function __construct()
{
$this->middleware('auth:admin');
}
public function index()
{
$testimonials = Testimonial::with('translate')->orderBy('id','desc')->get();
return view('section::testimonial', compact('testimonials'));
}
public function create()
{
return view('section::testimonial_create');
}
public function store(Request $request)
{
$rules = [
'name' => 'required',
'designation' => 'required',
'image' => 'required',
'status' => 'required',
'comment' => 'required',
'logo' => 'required',
];
$customMessages = [
'name.required' => trans('admin_validation.Name is required'),
'designation.required' => trans('admin_validation.Designation is required'),
'image.required' => trans('admin_validation.Image is required'),
'comment.required' => trans('admin_validation.Comment is required'),
'logo.required' => trans('admin_validation.Logo is required'),
];
$request->validate($rules,$customMessages);
$testimonial = new Testimonial();
if($request->image){
$extention = $request->image->getClientOriginalExtension();
$image_name = Str::slug($request->name).date('-Ymdhis').'.'.$extention;
$image_name = 'uploads/custom-images/'.$image_name;
Image::make($request->image)
->save(public_path().'/'.$image_name);
$testimonial->image = $image_name;
}
if($request->logo){
$extention = $request->logo->getClientOriginalExtension();
$image_name = Str::slug($request->name.'-logo').date('-Ymdhis').'.'.$extention;
$image_name = 'uploads/custom-images/'.$image_name;
Image::make($request->logo)
->save(public_path().'/'.$image_name);
$testimonial->logo = $image_name;
}
$testimonial->status = $request->status;
$testimonial->save();
$languages = Language::all();
foreach($languages as $language){
$translate = new TestimonialTranslation();
$translate->lang_code = $language->lang_code;
$translate->testimonial_id = $testimonial->id;
$translate->name = $request->name;
$translate->designation = $request->designation;
$translate->comment = $request->comment;
$translate->save();
}
$notification = trans('admin_validation.Created Successfully');
$notification=array('messege'=>$notification,'alert-type'=>'success');
return redirect()->route('admin.testimonial.edit', ['testimonial' => $testimonial,'lang_code' => admin_lang()] )->with($notification);
}
public function edit(Request $request, $id)
{
$testimonial = Testimonial::findOrFail($id);
$translate = TestimonialTranslation::where(['testimonial_id' => $id, 'lang_code' => $request->lang_code])->first();
return view('section::testimonial_edit', compact('testimonial','translate'));
}
public function update(Request $request, $id)
{
$rules = [
'name' => 'required',
'designation' => 'required',
'comment' => 'required',
];
$customMessages = [
'name.required' => trans('admin_validation.Name is required'),
'designation.required' => trans('admin_validation.Designation is required'),
'image.required' => trans('admin_validation.Image is required'),
'comment.required' => trans('admin_validation.Comment is required'),
'logo.required' => trans('admin_validation.Logo is required'),
];
$request->validate($rules,$customMessages);
$testimonial = Testimonial::findOrFail($id);
if($request->lang_code == admin_lang()){
$testimonial->status = $request->status;
$testimonial->save();
}
if($request->image){
$existing_image = $testimonial->image;
$extention = $request->image->getClientOriginalExtension();
$image_name = Str::slug($request->name).date('-Ymdhis').'.'.$extention;
$image_name = 'uploads/custom-images/'.$image_name;
Image::make($request->image)
->save(public_path().'/'.$image_name);
$testimonial->image = $image_name;
$testimonial->save();
if($existing_image){
if(File::exists(public_path().'/'.$existing_image))unlink(public_path().'/'.$existing_image);
}
}
if($request->logo){
$existing_image = $testimonial->logo;
$extention = $request->logo->getClientOriginalExtension();
$image_name = Str::slug($request->name.'-logo').date('-Ymdhis').'.'.$extention;
$image_name = 'uploads/custom-images/'.$image_name;
Image::make($request->logo)
->save(public_path().'/'.$image_name);
$testimonial->logo = $image_name;
$testimonial->save();
if($existing_image){
if(File::exists(public_path().'/'.$existing_image))unlink(public_path().'/'.$existing_image);
}
}
$translate = TestimonialTranslation::where(['testimonial_id' => $id, 'lang_code' => $request->lang_code])->first();
$translate->name = $request->name;
$translate->designation = $request->designation;
$translate->comment = $request->comment;
$translate->save();
$notification = trans('admin_validation.Update Successfully');
$notification=array('messege'=>$notification,'alert-type'=>'success');
return redirect()->back()->with($notification);
}
public function destroy($id)
{
$testimonial = Testimonial::find($id);
$existing_image = $testimonial->image;
$existing_logo = $testimonial->logo;
TestimonialTranslation::where(['testimonial_id' => $id])->delete();
$testimonial->delete();
if($existing_image){
if(File::exists(public_path().'/'.$existing_image))unlink(public_path().'/'.$existing_image);
}
if($existing_logo){
if(File::exists(public_path().'/'.$existing_logo))unlink(public_path().'/'.$existing_logo);
}
$notification = trans('admin_validation.Delete Successfully');
$notification = array('messege'=>$notification,'alert-type'=>'success');
return redirect()->route('admin.testimonial.index')->with($notification);
}
public function assign_language($lang_code){
$testi_translates = TestimonialTranslation::where('lang_code', admin_lang())->get();
foreach($testi_translates as $testi_translate){
$translate = new TestimonialTranslation();
$translate->lang_code = $lang_code;
$translate->testimonial_id = $testi_translate->testimonial_id;
$translate->name = $testi_translate->name;
$translate->designation = $testi_translate->designation;
$translate->comment = $testi_translate->comment;
$translate->save();
}
}
}