shell bypass 403

GrazzMean Shell

Uname: Linux peekpos.com 6.8.0-1060-aws #63~22.04.1-Ubuntu SMP Tue Jun 30 02:32:53 UTC 2026 x86_64
Software: Apache
PHP version: 8.3.25 [ PHP INFO ] PHP os: Linux
Server Ip: 47.130.192.226
Your Ip: 10.1.31.86
User: www (1001) | Group: www (1001)
Safe Mode: OFF
Disable Function:
passthru,putenv,chroot,chgrp,chown,shell_exec,popen,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv

name : CartController.php
<?php

namespace App\Http\Controllers\front;

use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\Cart;
use App\Models\Item;
use App\Models\Promocode;
use App\Models\Variation;
use App\Helpers\helper;
use App\Models\About;
use Illuminate\Support\Facades\Auth;
use Session;
use Illuminate\Support\Facades\DB;

class CartController extends Controller
{
    public function index(Request $request)
    {
        if (Auth::user() && Auth::user()->type == 2) {
            $getcartlist = Cart::where('user_id', Auth::user()->id)->where('buynow', 0)->orderByDesc('id')->get();
            $cartcount = Cart::where('user_id', Auth::user()->id)->where('buynow', 0)->orderByDesc('id')->count();
        } else {
            $getcartlist = Cart::where('session_id', Session::getId())->where('buynow', 0)->orderByDesc('id')->get();
            $cartcount = Cart::where('session_id', Session::getId())->where('buynow', 0)->orderByDesc('id')->count();
        }
        $getsettings = About::first();

        $dt = date('Y-m-d');

        //  product count tax
        $itemtaxes = [];
        $producttax = 0;
        $tax_name = [];
        $tax_price = [];

        $getpromocodelist = Promocode::select('offer_name', 'offer_code', 'offer_type', 'offer_amount', 'min_amount', 'usage_type', 'usage_limit', 'start_date', 'expire_date', 'description')
            ->where('start_date', '<=', $dt)
            ->where('expire_date', '>=', $dt)
            ->where('is_available', 1)->orderBy('id', 'DESC')->get();
        foreach ($getcartlist as $cart) {
            $taxlist =  helper::gettax($cart->tax);
            if (!empty($taxlist)) {
                foreach ($taxlist as $tax) {
                    if (!empty($tax)) {
                        $producttax = helper::taxRate($tax->tax, $cart->item_price, $cart->qty, $tax->type);
                        $itemTax['tax_name'] = $tax->name;
                        $itemTax['tax'] = $tax->tax;
                        $itemTax['tax_rate'] = $producttax;
                        $itemtaxes[] = $itemTax;

                        if (!in_array($tax->name, $tax_name)) {
                            $tax_name[] = $tax->name;

                            if ($tax->type == 1) {
                                $price = $tax->tax * $cart->qty;
                            }

                            if ($tax->type == 2) {
                                $price = ($tax->tax / 100) * ($cart->item_price);
                            }
                            $tax_price[] = $price;
                        } else {
                            if ($tax->type == 1) {
                                $price = $tax->tax * $cart->qty;
                            }

                            if ($tax->type == 2) {
                                $price = ($tax->tax / 100) * ($cart->item_price);
                            }
                            $tax_price[array_search($tax->name, $tax_name)] += $price;
                        }
                    }
                }
            }
        }

        $taxArr['tax'] = $tax_name;
        $taxArr['rate'] = $tax_price;

        return view('web.cart.cart', compact('getcartlist', 'getpromocodelist', 'getsettings', 'taxArr', 'cartcount'));
    }
    public function addtocart(Request $request)
    {
        try {
            if ($request->buynow == 1) {
                if (Auth::user() && Auth::user()->type == 2) {
                    $checkcart = Cart::where('buynow', 1)->where('user_id', Auth::user()->id)->delete();
                } else {
                    $checkcart = Cart::where('buynow', 1)->where('session_id', Session::getId())->delete();
                }
            }
            $variant_name = str_replace('_', ' ', $request->variation);
            $item = Item::where('id', $request->item_id)->first();
            if ($request->variation != null && $request->variation != "") {
                $variation = Variation::where('name', str_replace(',', '|', $variant_name))->where('item_id', $request->item_id)->first();
                if (Auth::user() && Auth::user()->type == 2) {
                    $cartqty = Cart::select(DB::raw("SUM(qty) as totalqty"))->where('variation_id', $variation->id)->where('item_id', $request->item_id)->where('user_id', Auth::user()->id)->where('buynow', $request->buynow)->first();
                } else {
                    $cartqty = Cart::select(DB::raw("SUM(qty) as totalqty"))->where('variation_id', $variation->id)->where('item_id', $request->item_id)->where('session_id', Session::getId())->where('buynow', $request->buynow)->first();
                }
                if ($cartqty->totalqty != null && $cartqty->totalqty != "") {
                    $qty = $cartqty->totalqty + $request->qty;
                } else {
                    $qty = $request->qty;
                }
                if ($variation->stock_management == 1) {

                    if ($variation->min_order != null && $variation->min_order != ""  && $variation->min_order != 0) {
                        if ($qty < $variation->min_order) {
                            return response()->json(['status' => 0, 'message' => trans('messages.min_qty_message') . $variation->min_order], 200);
                        }
                    }


                    if ($variation->max_order != null && $variation->max_order != "" && $variation->max_order != 0) {
                        if ($qty > $variation->max_order) {
                            if ($cartqty->totalqty == null) {
                                return response()->json(['status' => 0, 'message' => trans('messages.max_qty_message') . $variation->max_order], 200);
                            } else {
                                return response()->json(['status' => 0, 'message' => trans('messages.cart_qty_msg') . ' ' . trans('messages.max_qty_message') . $variation->max_order], 200);
                            }
                        }
                    }

                    if ($qty > $variation->qty) {
                        return response()->json(['status' => 0, 'message' => trans('labels.out_of_stock_msg') . ' ' . $item->item_name . '(' . $variation->name . ')'], 200);
                    }
                }
            } else {

                if (Auth::user() && Auth::user()->type == 2) {
                    $cartqty = Cart::select(DB::raw("SUM(qty) as totalqty"))->where('item_id', $request->item_id)->where('user_id', Auth::user()->id)->where('buynow', $request->buynow)->first();
                } else {
                    $cartqty = Cart::select(DB::raw("SUM(qty) as totalqty"))->where('item_id', $request->item_id)->where('session_id', Session::getId())->where('buynow', $request->buynow)->first();
                }
                if ($cartqty->totalqty != null && $cartqty->totalqty != "") {
                    $qty = $cartqty->totalqty + $request->qty;
                } else {
                    $qty = $request->qty;
                }
                if ($item->stock_management == 1) {

                    if ($item->min_order != null && $item->min_order != ""  && $item->min_order != 0) {
                        if ($qty < $item->min_order) {
                            return response()->json(['status' => 0, 'message' => trans('messages.min_qty_message') . $item->min_order], 200);
                        }
                    }


                    if ($item->max_order != null && $item->max_order != "" && $item->max_order != 0) {
                        if ($qty > $item->max_order) {
                            if ($cartqty->totalqty == null) {
                                return response()->json(['status' => 0, 'message' => trans('messages.max_qty_message') . $item->max_order], 200);
                            } else {
                                return response()->json(['status' => 0, 'message' => trans('messages.cart_qty_msg') . ' ' . trans('messages.max_qty_message') . $item->max_order], 200);
                            }
                        }
                    }

                    if ($qty > $item->qty) {
                        return response()->json(['status' => 0, 'message' => trans('labels.out_of_stock_msg') . ' ' . $item->item_name], 200);
                    }
                }
            }

            $cart = new Cart();
            if (Auth::user() && Auth::user()->type == 2) {
                $cart->user_id = Auth::user()->id;
                $cart->session_id = "";
            } else {
                $cart->user_id = "";
                $cart->session_id = Session::getId();
            }
            $cart->item_id = $request->item_id;
            $cart->item_name = $request->item_name;
            $cart->item_type = $request->item_type;
            $cart->item_image = $request->image_name;
            $cart->tax = $request->tax;
            $cart->item_price = helper::number_format($request->item_price);
            $cart->variation_id = $request->variation_id == "" ? "" : $request->variation_id;
            $cart->variation = $request->variation == "" ? "" : $request->variation;
            if (!empty($variation)) {
                $cart->variation_price = $request->item_price;
            }

            $cart->qty = $request->qty;
            $cart->extras_id = $request->extras_id;
            $cart->extras_name = $request->extras_name;
            $cart->extras_price = $request->extras_price;

            $cart->buynow = $request->buynow;
            $cart->save();
            if (Auth::user() && Auth::user()->type == 2) {
                $total_count = Cart::where('user_id', Auth::user()->id)->where('buynow', $request->buynow)->count();
            } else {
                $oldsessionid = Session::getId();
                Session::put('oldsessionid', $oldsessionid);
                $total_count = Cart::where('session_id', Session::getId())->where('buynow', $request->buynow)->count();
            }

            $extras_id = explode('|', $request->extras_id);
            $extras_name = explode('|', $request->extras_name);
            $extras_price = explode('|', $request->extras_price);
            $extras_total_price = 0;
            if ($extras_id != null && $extras_id != "") {
                foreach ($extras_id as $key => $addons) {
                    $extras_total_price += (float)$extras_price[$key];
                }
            } else {
                $extras_total_price = 0;
            }
            $total_price = ((float)$request->item_price + (float)$extras_total_price) * (float)$request->qty;
            return response()->json(['status' => 1, 'message' =>  $request->item_name . ' ' .  trans('messages.product_added_successfully'), 'data' => $total_count, 'total_item_count' => helper::get_item_cart($request->item_id), 'buynow' => $request->buynow, 'total_price' => $total_price], 200);
        } catch (\Throwable $th) {
            dd($th);
            return response()->json(['status' => 0, 'message' => trans('messages.wrong')], 200);
        }
    }
    public function deletecartitem(Request $request)
    {
        $checkcart = Cart::find($request->id);
        if (!empty($checkcart)) {
            $checkcart->delete();
            session()->forget('discount_data');
            return 1;
        } else {
            return 0;
        }
    }
    public function qtyupdate(Request $request)
    {
        try {
            $checkcart = Cart::find($request->id);
            if ($checkcart->variation_id != null) {
                $variant = Variation::where('id', $checkcart->variation_id)->where('item_id', $checkcart->item_id)->first();
                if (Auth::user() && Auth::user()->type == 2) {
                    $cartqty = Cart::select(DB::raw("SUM(qty) as totalqty"))->where('variation_id', $variant->id)->where('id', '!=', $request->id)->where('user_id', Auth::user()->id)->first();
                } else {
                    $cartqty = Cart::select(DB::raw("SUM(qty) as totalqty"))->where('variation_id', $variant->id)->where('id', '!=', $request->id)->where('session_id', Session::getId())->first();
                }
                if ($cartqty->totalqty != null && $cartqty->totalqty != "") {
                    $qty = $cartqty->totalqty + $request->qty;
                } else {
                    $qty = $request->qty;
                }
                if ($variant->stock_management == 1) {
                    if ($variant->min_order != null && $variant->min_order != "" && $variant->min_order != 0) {
                        if ($variant->min_order > $qty) {
                            return response()->json(['status' => 0, 'message' => trans('messages.min_qty_message') . $variant->min_order, 'qty' => $request->qty], 200);
                        }
                    }
                    if ($variant->max_order != null && $variant->max_order != "" && $variant->max_order != 0) {
                        if ($variant->max_order < $qty) {
                            return response()->json(['status' => 0, 'message' => trans('messages.max_qty_message') . $variant->max_order, 'qty' => $request->qty - 1], 200);
                        }
                    }
                    if ($request->qty == $variant->qty) {
                        Cart::where('id', $request->id)->update(['qty' => $request->qty]);
                        return response()->json(['status' => 1, 'message' => trans('messages.qty_update_msg')], 200);
                    }
                    if ($variant->qty < $request->qty) {
                        return response()->json(['status' => 0, 'message' => trans('labels.out_of_stock_msg') . ' ' . $item->item_name . '(' . $variant->name . ')', 'qty' => $request->qty - 1], 200);
                    } else {
                        Cart::where('id', $request->id)->update(['qty' => $request->qty]);
                        return response()->json(['status' => 1, 'message' => trans('messages.qty_update_msg')], 200);
                    }
                } else {
                    Cart::where('id', $request->id)->update(['qty' => $request->qty]);
                    return response()->json(['status' => 1, 'message' => trans('messages.qty_update_msg')], 200);
                }
            } elseif ($checkcart->variation_id == null) {
                $item = Item::where('id', $checkcart->item_id)->first();

                if (Auth::user() && Auth::user()->type == 2) {
                    $cartqty = Cart::select(DB::raw("SUM(qty) as totalqty"))->where('item_id', $item->id)->where('id', '!=', $request->id)->where('user_id', Auth::user()->id)->first();
                } else {
                    $cartqty = Cart::select(DB::raw("SUM(qty) as totalqty"))->where('item_id', $item->id)->where('id', '!=', $request->id)->where('session_id', Session::getId())->first();
                }

                if ($cartqty->totalqty != null && $cartqty->totalqty != "") {
                    $qty = $cartqty->totalqty + $request->qty;
                } else {
                    $qty = $request->qty;
                }

                if ($item->stock_management == 1) {
                    if ($item->min_order != null && $item->min_order != "" && $item->min_order != 0) {
                        if ($item->min_order > $qty) {
                            return response()->json(['status' => 0, 'message' => trans('messages.min_qty_message') . $item->min_order, 'qty' => $request->qty], 200);
                        }
                    }
                    if ($item->max_order != null && $item->max_order != "" && $item->max_order != 0) {
                        if ($item->max_order < $qty) {
                            return response()->json(['status' => 0, 'message' => trans('messages.max_qty_message') . $item->max_order, 'qty' => $request->qty - 1], 200);
                        }
                    }

                    if ($request->qty == $item->qty) {
                        Cart::where('id', $request->id)->update(['qty' => $request->qty]);
                        return response()->json(['status' => 1, 'message' => trans('messages.qty_update_msg')], 200);
                    }
                    if ($item->qty < $request->qty) {
                        return response()->json(['status' => 0, 'message' => trans('labels.out_of_stock_msg') . ' ' . $item->item_name, 'qty' => $request->qty - 1], 200);
                    } else {
                        Cart::where('id', $request->id)->update(['qty' => $request->qty]);
                        return response()->json(['status' => 1, 'message' => trans('messages.qty_update_msg')], 200);
                    }
                } else {
                    Cart::where('id', $request->id)->update(['qty' => $request->qty]);
                    return response()->json(['status' => 1, 'message' => trans('messages.qty_update_msg')], 200);
                }
            }
        } catch (\Throwable $th) {

            return response()->json(['status' => 0, 'message' => trans('messages.wrong')], 200);
        }
    }
}
© 2026 GrazzMean