shell bypass 403
<?php
namespace App\Http\Controllers\admin;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Validator;
use Illuminate\Support\Response;
use Illuminate\Support\Str;
use App\Models\Product;
use App\Models\ColorImage;
use App\Models\OtherVarient;
class OtherVarientController extends Controller
{
//
public function __construct()
{
$this->middleware('auth');
$this->middleware('isAdmin');
}
public function index()
{
// Colors Images
$data['varients'] = OtherVarient::all();
// Product
$data['products'] = Product::where('product_status', 1)->get();
return view('admin/other_varient',$data);
}
public function insert(Request $req)
{
$validation = Validator::make($req->all(),[
'proName' => 'required',
'varient' => 'required',
// 'varientImage1' => 'image|mimes:jpg,png,jpeg,PNG|max:15000',
// 'varientImage2' => 'image|mimes:jpg,png,jpeg,PNG|max:15000',
],[
'proName.required' => 'Select Product Name',
'varient.required' => 'Select Yes or No',
'varientImage1.image' => 'Varient 1st Image Must In Image Formate',
'varientImage1.mimes' => 'Varient 1st Image Type In JPG, PNG & JPEG',
'varientImage1.max' => 'Varient 1st Image Maximum Size Is 15 MB',
'varientImage2.image' => 'Varient 2nd Image Must In Image Formate',
'varientImage2.mimes' => 'Varient 2nd Image Type In JPG, PNG & JPEG',
'varientImage2.max' => 'Varient 2nd Image Maximum Size Is 15 MB',
]);
if (!$validation->passes())
{
return response()->json(['error'=>$validation->errors()]);
}
else
{
$AddImages = new OtherVarient;
$AddImages->product_id = $req->proName;
$AddImages->status_id = $req->varient;
$AddImages->status = $req->Status;
if($req->hasFile('varientImage1'))
{
$file = $req->file('varientImage1');
$extension = $file->getClientOriginalExtension();
$fileName = time().'.'.$extension;
$file->storeAs('public/images',$fileName);
$AddImages->image_1 = $fileName;
}
if($req->hasFile('varientImage2'))
{
$file = $req->file('varientImage2');
$extension = $file->getClientOriginalExtension();
$fileName = rand(1111,9999).'.'.$extension;
$file->storeAs('public/images',$fileName);
$AddImages->image_2 = $fileName;
}
$AddImages->save();
return response()->json(['success'=>'Varient Upload Successfully']);
}
}
public function update(Request $req)
{
$validation = Validator::make($req->all(),[
'UpdtproName' => 'required',
'UpdtvarientStatus' => 'required',
// 'UpdtvarientImage1' => 'image|mimes:jpg,png,jpeg,PNG|max:15000',
// 'UpdtvarientImage2' => 'image|mimes:jpg,png,jpeg,PNG|max:15000',
],[
'UpdtproName.required' => 'Select Product Name',
'UpdtvarientStatus.required' => 'Select Yes or No',
'UpdtvarientImage1.image' => 'Varient 1st Image Must In Image Formate',
'UpdtvarientImage1.mimes' => 'Varient 1st Image Type In JPG, PNG & JPEG',
'UpdtvarientImage1.max' => 'Varient 1st Image Maximum Size Is 15 MB',
'UpdtvarientImage2.image' => 'Varient 2nd Image Must In Image Formate',
'UpdtvarientImage2.mimes' => 'Varient 2nd Image Type In JPG, PNG & JPEG',
'UpdtvarientImage2.max' => 'Varient 2nd Image Maximum Size Is 15 MB',
]);
if(!$validation->passes())
{
return response()->json(['error'=>$validation->errors()]);
}
else
{
$id = $req->UpdtvarientId;
$UpdateImage = OtherVarient::find($id);
$UpdateImage->product_id = $req->UpdtproName;
$UpdateImage->status_id = $req->UpdtvarientStatus;
$UpdateImage->status = $req->updtStatus;
if($req->hasFile('UpdtvarientImage1'))
{
$file = $req->file('UpdtvarientImage1');
$extension = $file->getClientOriginalExtension();
$fileName = time().'.'.$extension;
$file->storeAs('public/images',$fileName);
$UpdateImage->image_1 = $fileName;
if($req->PrevvarientImage1)
{
unlink(public_path('storage/images/'.$req->PrevvarientImage1));
}
}
elseif($req->removevarientImage1 == true)
{
$UpdateImage->image_1 = null;
}
else
{
$UpdateImage->image_1 = $req->PrevvarientImage1;
}
if($req->hasFile('UpdtvarientImage2'))
{
$file = $req->file('UpdtvarientImage2');
$extension = $file->getClientOriginalExtension();
$fileName = rand(1111,9999).'.'.$extension;
$file->storeAs('public/images',$fileName);
$UpdateImage->image_2 = $fileName;
if($req->PrevvarientImage2)
{
unlink(public_path('storage/images/'.$req->PrevvarientImage2));
}
}
elseif($req->removevarientImage2 == true)
{
$UpdateImage->image_2 = null;
}
else
{
$UpdateImage->image_2 = $req->PrevvarientImage2;
}
$UpdateImage->save();
return response()->json(['success'=>'Varients Update Successfully']);
}
}
public function delete(Request $req)
{
$id = $req->id;
$DeleteColorImg = ColorImage::find($id);
$DeleteColorImg->delete();
}
}