shell bypass 403
<?php namespace Modules\Blogs\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Routing\Controller; use Modules\Blogs\Entities\Category; class CategoriesController extends Controller { public function index(Request $request) { $data = Category::orderBy('created_at', 'DESC'); if ($request->filled('search')) { $data->where('name', 'like', '%' . $request->search . '%'); } $data = $data->paginate(10); return view('blogs::categories.index', compact('data')); } public function create(Request $request) { return view('blogs::categories.create'); } public function store(Request $request) { $request->validate([ 'name' => 'required', ]); $inputData = $request->all(); !$request->filled('is_featured') ? $inputData['is_featured'] = false : $inputData['is_featured'] = true; !$request->filled('is_active') ? $inputData['is_active'] = false : $inputData['is_active'] = true; $image = $request->file('thumb'); if ($image != '') { $request->validate([ 'thumb' => 'sometimes|required|mimes:jpg,jpeg,png,svg|max:20000', ], ['thumb.mimes' => __('The :attribute must be an jpg,jpeg,png,svg') , ] ); $path_folder = public_path('storage/blogs/categories'); $image_name = "thumbnail_" . rand() . '.' . $image->getClientOriginalExtension(); $image->move($path_folder , $image_name); $inputData['thumb'] = $image_name; } Category::create($inputData); return redirect()->route('settings.blogs.categories.index')->with('success', __('Created successfully')); } public function edit(Request $request, $id) { $item = Category::findOrFail($id); return view('blogs::categories.edit', compact('item')); } public function update(Request $request, $id) { $request->validate([ 'name' => 'required', ]); $inputData = $request->all(); !$request->filled('is_featured') ? $inputData['is_featured'] = false : $inputData['is_featured'] = true; !$request->filled('is_active') ? $inputData['is_active'] = false : $inputData['is_active'] = true; $item = Category::findorFail($id); $image = $request->file('thumb'); if ($image != '') { $request->validate([ 'thumb' => 'sometimes|required|mimes:jpg,jpeg,png,svg|max:20000', ], ['thumb.mimes' => __('The :attribute must be an jpg,jpeg,png,svg') , ] ); $path_folder = public_path('storage/blogs/categories'); $image_name = "thumbnail_" . rand() . '.' . $image->getClientOriginalExtension(); $image->move($path_folder , $image_name); if(isset($item->thumb)){ $path = $path_folder."/".$item->thumb; deleteImageWithPath($path); } $inputData['thumb'] = $image_name; } $item->update($inputData); return redirect()->back()->with('success', __('Updated successfully')); } public function destroy(Request $request, $id) { $item = Category::findOrFail($id); // check relationship if ($item->blogs()->exists() > 0) { return redirect()->route('settings.blogs.categories.index')->with('error',"Can't delete because it has blogs in it"); } // delete image if(isset($item->thumb)){ $path_folder = public_path('storage/blogs/categories'); $path = $path_folder."/".$item->thumb; deleteImageWithPath($path); } $item->delete(); return redirect()->route('settings.blogs.categories.index')->with('success', __('Deleted successfully')); } }