shell bypass 403
<?php
namespace App\Http\Controllers\admin;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Validator;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Str;
use Illuminate\Support\Response;
use App\Models\Service;
class ServicesController extends Controller
{
//
public function __construct()
{
$this->middleware('auth');
$this->middleware('isAdmin');
}
public function add_service()
{
return view('admin/add_services');
}
public function fetch_services()
{
$data['services'] = Service::all();
return view('admin/view_services',$data);
}
public function insert_service(Request $req)
{
if($req->serviceStatus == true)
{
$status = 1;
}
else
{
$status = 0;
}
$validation = Validator::make($req->all(),[
'serviceTitle'=>'required|max:50',
'serviceImg'=>'image|mimes:jpg,png,jpeg|max:2048',
'serviceImg2'=>'image|mimes:jpg,png,jpeg|max:2048',
'serviceIconImg'=>'image|mimes:jpg,png,jpeg|max:2048',
'serviceVideo'=>'mimes:mp4,ogx,oga,ogv,ogg,webm|max:102400',
],[
'serviceTitle.required'=>'Title Is Required',
'serviceImg.image'=>'Must In Image Formate',
'serviceImg.mimes'=>'Image Type In JPG, PNG & JPEG',
'serviceImg.max'=>'Image One Maximum Size Is 2048',
'serviceImg2.image'=>'Must In Image Formate',
'serviceImg2.mimes'=>'Image Type In JPG, PNG & JPEG',
'serviceImg2.max'=>'Image Two Maximum Size Is 2048',
'serviceIconImg.image'=>'Must In Image Formate',
'serviceIconImg.mimes'=>'Image Type In JPG, PNG & JPEG',
'serviceIconImg.max'=>'Icon Image Maximum Size Is 2048',
'serviceVideo.max'=>'Video Maximum Size Is 102400',
]);
if(!$validation->passes())
{
return response()->json(['error'=>$validation->errors()]);
}
else
{
$AddService = new Service;
$AddService->service_title = $req->serviceTitle;
$AddService->service_heading = $req->serviceHeading;
$AddService->service_sub_heading = $req->serviceSubHeading;
$AddService->service_slug = Str::slug($req->serviceTitle);
$AddService->service_short_description = $req->serviceDesc;
$AddService->service_long_description = $req->serviceLongDesc;
if($req->hasFile('serviceImg'))
{
$file = $req->file('serviceImg');
$extension = $file->getClientOriginalExtension();
$fileName = time().'.'.$extension;
$file->storeAs('public/images',$fileName);
$AddService->service_image = $fileName;
}
if($req->hasFile('serviceImg2'))
{
$file = $req->file('serviceImg2');
$fileName2 = $file->getClientOriginalName();
$file->storeAs('public/images',$fileName2);
$AddService->service_image2 = $fileName2;
}
if($req->hasFile('serviceIconImg'))
{
$file = $req->file('serviceIconImg');
$fileName3 = $file->getClientOriginalName();
$file->storeAs('public/images',$fileName3);
$AddService->service_icon_image = $fileName3;
}
if($req->hasFile('serviceVideo'))
{
$file = $req->file('serviceVideo');
$extension = $file->getClientOriginalExtension();
$fileName = time().'.'.$extension;
$file->move('storage/images',$fileName);
$AddService->service_video = $fileName;
}
$AddService->service_status = $status;
$AddService->save();
return response()->json(['success'=>'Service Add Successfully']);
}
}
public function edit_service($id)
{
$data['edit'] = Service::find($id);
return view('admin/edit_services',$data);
}
public function update_service(Request $req)
{
if($req->serviceStatus == true)
{
$status = 1;
}
else
{
$status = 0;
}
$validation = Validator::make($req->all(),[
'serviceTitle'=>'required|max:50',
'serviceImg'=>'image|mimes:jpg,png,jpeg|max:2048',
'serviceImg2'=>'image|mimes:jpg,png,jpeg|max:2048',
'serviceIconImg'=>'image|mimes:jpg,png,jpeg|max:2048',
'serviceVideo'=>'mimes:mp4,ogx,oga,ogv,ogg,webm|max:102400',
],[
'serviceTitle.required'=>'Title Is Required',
'serviceImg.image'=>'Must In Image Formate',
'serviceImg.mimes'=>'Image Type In JPG, PNG & JPEG',
'serviceImg.max'=>'Image One Maximum Size Is 2048',
'serviceImg2.image'=>'Must In Image Formate',
'serviceImg2.mimes'=>'Image Type In JPG, PNG & JPEG',
'serviceImg2.max'=>'Image Two Maximum Size Is 2048',
'serviceIconImg.image'=>'Must In Image Formate',
'serviceIconImg.mimes'=>'Image Type In JPG, PNG & JPEG',
'serviceIconImg.max'=>'Icon Image Maximum Size Is 2048',
'serviceVideo.max'=>'Video Maximum Size Is 102400',
]);
if(!$validation->passes())
{
return response()->json(['error'=>$validation->errors()]);
}
else
{
$id = $req->serviceId;
$UpdateService = Service::find($id);
$UpdateService->service_title = $req->serviceTitle;
$UpdateService->service_heading = $req->serviceHeading;
$UpdateService->service_sub_heading = $req->serviceSubHeading;
$UpdateService->service_slug = Str::slug($req->serviceTitle);
$UpdateService->service_short_description = $req->serviceDesc;
$UpdateService->service_long_description = $req->serviceLongDesc;
if($req->hasFile('serviceImg'))
{
$file = $req->file('serviceImg');
$extension = $file->getClientOriginalExtension();
$fileName = time().'.'.$extension;
$file->storeAs('public/images',$fileName);
$UpdateService->service_image = $fileName;
}
if($req->hasFile('serviceImg2'))
{
$file = $req->file('serviceImg2');
$fileName2 = $file->getClientOriginalName();
$file->storeAs('public/images',$fileName2);
$UpdateService->service_image2 = $fileName2;
}
if($req->hasFile('serviceIconImg'))
{
$file = $req->file('serviceIconImg');
$fileName3 = $file->getClientOriginalName();
$file->storeAs('public/images',$fileName3);
$UpdateService->service_icon_image = $fileName3;
}
if($req->hasFile('serviceVideo'))
{
$file = $req->file('serviceVideo');
$extension = $file->getClientOriginalExtension();
$fileName = time().'.'.$extension;
$file->move('storage/images',$fileName);
$UpdateService->service_video = $fileName;
}
$UpdateService->service_status = $status;
$UpdateService->save();
return response()->json(['success'=>'Service Update Successfully']);
}
}
public function delete_service(Request $req)
{
$id = $req->id;
$DeleteService = Service::find($id);
$DeleteService->delete();
}
}