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\Response;
use Illuminate\Support\Str;
use App\Models\Banner;
use Illuminate\Support\Facades\DB;
use League\CommonMark\Node\Block\Document;
use NunoMaduro\Collision\Contracts\Writer;
use Psy\Readline\Hoa\Console;
class BannerController extends Controller
{
//
public function __construct()
{
$this->middleware('auth');
$this->middleware('isAdmin');
}
public function addbannerform()
{
return view('admin/add_inner_banner');
}
public function banner()
{
$data['banner'] = Banner::all();
return view('admin/inner_banner',$data);
}
public function addBanner(Request $req)
{
if($req->BannerStatus == true)
{
$status = 1;
}
else
{
$status = 0;
}
$validation = Validator::make($req->all(),[
'BannerTitle'=>'required',
'BannerImg[]' => 'image|mimes:jpg,png,jpeg|max:2048',
],[
'BannerTitle.required'=>'Banner Heading Is Required',
'BannerImg.image' => 'Product Gallery Image Must In Image Formate',
'BannerImg.mimes' => 'Product Gallery Image Type In JPG, PNG & JPEG',
]);
if(!$validation->passes())
{
return response()->json(['error'=>$validation->errors()]);
}
else
{
$AddBanner = new Banner;
$AddBanner->banner_title = $req->BannerTitle;
$AddBanner->banner_slug = Str::slug($req->BannerTitle);
$AddBanner->banner_heading = $req->BannerHead;
$AddBanner->banner_sub_heading = $req->BannerSub;
$AddBanner->banner_description = $req->BannerDesc;
$AddBanner->banner_price = $req->BannerPrice;
$AddBanner->banner_status = $status;
if($req->file('BannerImg'))
{
$gallery = [];
foreach ($req->file('BannerImg') as $key => $file) {
$extension = $file->getClientOriginalExtension();
$fileName = rand(1111,9999).'.'.$extension;
$file->storeAs('public/images',$fileName);
$gallery[] = $fileName;
}
$images = json_encode($gallery);
$AddBanner->banner_image = $images;
}
// if($req->hasFile('BannerVideo'))
// {
// $file = $req->file('BannerVideo');
// // $extension = $file->getClientOriginalExtension();
// $fileName = $file->getClientOriginalName();
// $file->move('storage/images',$fileName);
// $AddBanner->banner_video = $fileName;
// }
$AddBanner->save();
return response()->json(['success'=>'Banner Add Successfully..']);
}
}
public function EditBanner($id)
{
$data['banner'] = banner::find($id);
return view('admin.edit_inner_banner',$data);
}
public function updateBanner(Request $req)
{
$validation = Validator::make($req->all(),[
'UpdtBannerTitle'=>'required',
'UpdtBannerImg[]' => 'image|mimes:jpg,png,jpeg|max:2048',
],[
'UpdtBannerTitle.required'=>'Banner Heading Is Required',
'UpdtBannerImg.image' => 'Product Gallery Image Must In Image Formate',
'UpdtBannerImg.mimes' => 'Product Gallery Image Type In JPG, PNG & JPEG',
]);
if(!$validation->passes())
{
return response()->json(['error'=>$validation->errors()]);
}
else
{
$id = $req->BannerId;
$UpdateBanner = Banner::find($id);
$UpdateBanner->banner_title = $req->UpdtBannerTitle;
$UpdateBanner->banner_slug = Str::slug($req->UpdtBannerTitle);
$UpdateBanner->banner_heading = $req->UpdtBannerHead;
$UpdateBanner->banner_sub_heading = $req->UpdtBannerSub;
$UpdateBanner->banner_description = $req->UpdtBannerDesc;
$UpdateBanner->banner_price = $req->UpdtBannerPrice;
if($req->BannerStatus == true)
{
$status = 1;
}
else
{
$status = 0;
}
$UpdateBanner->banner_status = $status;
if($req->file('EditBannerImage'))
{
$gallery = [];
foreach ($req->file('EditBannerImage') as $key => $file) {
$extension = $file->getClientOriginalExtension();
$fileName = rand(1111,9999).'.'.$extension;
$file->storeAs('public/images',$fileName);
$gallery[] = $fileName;
}
$images = json_encode($gallery);
$UpdateBanner->banner_image = $images;
// if($req->PrevBannerImage)
// {
// unlink(public_path('storage/images/'.$req->PrevBannerImage));
// }
}
elseif($req->RemoveBannerImage == true)
{
$UpdateBanner->banner_image = null;
if($req->PrevBannerImage)
{
unlink(public_path('storage/images/'.$req->PrevBannerImage));
}
}
else
{
$UpdateBanner->banner_image = $req->PrevBannerImage;
}
$UpdateBanner->save();
return response()->json(['success'=>'Banner Updated Successfully..']);
}
}
public function deleteBanner(Request $req)
{
$id = $req->id;
$DeleteBanner = Banner::find($id);
$DeleteBanner->delete();
}
}