shell bypass 403
<?php
namespace App\Http\Controllers\admin;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\Tax;
use App\Models\Item;
use DB;
class TaxController extends Controller
{
public function index(Request $request)
{
$gettax = Tax::where('is_deleted', 2)->orderBy('reorder_id')->get();
return view('admin.tax.index', compact("gettax"));
}
public function add(Request $request)
{
return view('admin.tax.add');
}
public function save(Request $request)
{
$tax = new Tax();
$tax->name = $request->name;
$tax->type = $request->type;
$tax->tax = $request->tax;
$tax->is_available = 1;
$tax->is_deleted = 2;
$tax->save();
return redirect('admin/tax/')->with('success', trans('messages.success'));
}
public function edit(Request $request)
{
$edittax = Tax::where('id', $request->id)->first();
return view('admin.tax.edit', compact("edittax"));
}
public function update(Request $request)
{
$tax = Tax::where('id', $request->id)->first();
$tax->name = $request->name;
$tax->type = $request->type;
$tax->tax = $request->tax;
$tax->update();
return redirect('admin/tax')->with('success', trans('messages.success'));
}
public function change_status(Request $request)
{
try {
Tax::where('id', $request->id)->update(['is_available' => $request->status]);
return 1;
} catch (\Throwable $th) {
return 0;
}
}
public function delete(Request $request)
{
try {
$checktax = Tax::where('id', $request->id)->first();
$getproduct = Item::where(DB::Raw("FIND_IN_SET($checktax->id, replace(tax, '|', ','))"), '>', 0)->get();
foreach ($getproduct as $product) {
$tax = explode('|', $product->tax);
$key = array_search($checktax->id, $tax);
if ($key !== false) {
unset($tax[$key]);
Item::where('id', $product->id)->update(array('tax' => implode('|', $tax)));
}
}
$checktax->delete();
return 1;
} catch (\Throwable $th) {
dd($th->getMessage());
return 0;
}
}
public function reorder_tax(Request $request)
{
$gettax = Tax::get();
foreach ($gettax as $tax) {
foreach ($request->order as $order) {
$tax = Tax::where('id', $order['id'])->first();
$tax->reorder_id = $order['position'];
$tax->save();
}
}
return response()->json(['status' => 1, 'msg' => trans('messages.success')], 200);
}
}