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 : OrderController.php
<?php

namespace App\Http\Controllers\admin;

use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Helpers\helper;
use App\Helpers\sms_helper;
use App\Helpers\whatsapp_helper;
use App\Models\Order;
use App\Models\Transaction;
use App\Models\User;
use App\Models\Item;
use App\Models\Variation;
use App\Models\CustomStatus;
use App\Models\OrderDetails;
use Illuminate\Support\Facades\Config;
use PDF;

class OrderController extends Controller
{
    public function index(Request $request)
    {
        $getorders = Order::with('user_info', 'driver_info')->select('order.*')->where('order_from', '!=', 'pos');
        if ($request->has('status') && $request->status != "") {
            if ($request->status == "processing") {
                $getorders = $getorders->whereIn('status_type', array(1, 2));
            }
            if ($request->status == "completed") {
                $getorders = $getorders->where('status_type', 3);
            }
            if ($request->status == "cancelled") {
                $getorders = $getorders->where('status_type', 4);
            }
        }
        $getorders = $getorders->orderByDesc('id')->get();
        $getdriver = User::where('type', '3')->where('is_available', 1)->orderByDesc('id')->get();
        $totalorders = Order::where('order_from', '!=', 'pos')->count();
        $totalprocessing = Order::whereIn('status_type', array(1, 2))->where('order_from', '!=', 'pos')->count();
        $totalcompleted = Order::where('status_type', 3)->where('order_from', '!=', 'pos')->count();
        $totalcancelled = Order::where('status_type', 4)->where('order_from', '!=', 'pos')->count();
        return view('admin.orders.index', compact('getorders', 'getdriver', 'totalorders', 'totalprocessing', 'totalcompleted', 'totalcancelled'));
    }

    public function update(Request $request)
    {
        $orderdata = Order::find($request->id);
        if ($orderdata->user_id != "") {
            $user_info = User::find($orderdata->user_id);
        }
        $driver_info = User::find($orderdata->driver_id);
        $title = "";
        $message_text = "";
        $body = "";
        if ($request->type == "2") {
            $title = @helper::gettype($request->status, $request->type, $orderdata->order_type)->name;
            $message_text = 'Your Order ' . $orderdata->order_number . ' has been ' . $title;
            $body = 'Your Order ' . $orderdata->order_number . ' has been ' . $title;
        }
        if ($request->type == "3") {
            $title = @helper::gettype($request->status, $request->type, $orderdata->order_type)->name;
            $message_text = 'Your Order ' . $orderdata->order_number . ' has been successfully ' . $title . '.';
            $body = 'Your Order ' . $orderdata->order_number . ' has been successfully ' . $title . '.';
        }
        if ($request->type == "4") {
            $title = @helper::gettype($request->status, $request->type, $orderdata->order_type)->name;
            $message_text = 'Order ' . $orderdata->order_number . ' has been cancelled by Admin.';
            $body = 'Order ' . $orderdata->order_number . ' has been cancelled by Admin.';

            if ($orderdata->user_id != null) {
                if ($orderdata->transaction_type != 1) {
                    if ($orderdata->user_id != null) {
                        $user_info->wallet += $orderdata->grand_total;
                    }
                    $transaction = new Transaction();
                    $transaction->user_id = $orderdata->user_id;
                    $transaction->order_id = $orderdata->id;
                    $transaction->order_number = $orderdata->order_number;
                    $transaction->amount = $orderdata->grand_total;
                    $transaction->transaction_id = $orderdata->transaction_id;
                    $transaction->transaction_type = '2';

                    if ($transaction->save()) {
                        $user_info->save();
                    }
                }
            }
        }
        if ($orderdata->user_id != null) {
            if ($user_info->is_notification == 1) {
                helper::push_notification($user_info->token, $title, $body, "order", $orderdata->id);
            }
            if ($user_info->is_mail == 1) {
                if (@helper::checkaddons('otp')) {
                    sms_helper::order_status_sms($user_info->mobile, $user_info->name, $title, $message_text);
                } else {
                    $emaildata = helper::emailconfigration();
                    Config::set('mail', $emaildata);
                    helper::order_status_email($user_info->email, $user_info->name, $title, $message_text);
                }
            }
        } else {
            if (@helper::checkaddons('otp')) {
                sms_helper::order_status_sms($orderdata->mobile, $orderdata->name, $title, $message_text);
            } else {
                $emaildata = helper::emailconfigration();
                Config::set('mail', $emaildata);
                helper::order_status_email($orderdata->email, $orderdata->name, $title, $message_text);
            }
        }

        $defaultsatus = CustomStatus::where('order_type', $orderdata->order_type)->where('type', $request->type)->where('id', $request->status)->where('is_available', 1)->where('is_deleted', 2)->first();
        $orderdata->status = $defaultsatus->id;
        $orderdata->status_type = $defaultsatus->type;
        if (!in_array($request->type, [4])) {
            $orderdata->driver_id = "";
        }
        if (@helper::checkaddons('otp')) {
            if (whatsapp_helper::whatsapp_message_config()->status_change == 1) {
                whatsapp_helper::orderupdatemessage($orderdata->order_number, $title);
            }
        }
        if ($orderdata->save()) {
            // to manage item quantity with-variation & without-variation
            if ($request->type == "4") {
                $orderdetails = OrderDetails::where('order_id', $request->id)->get();

                foreach ($orderdetails as $item) {
                    $iteminfo = Item::find($item->item_id);

                    if ($iteminfo->has_variation == 1) {
                        $variationinfo = Variation::find($item->variation_id);
                        $variationinfo->qty += $item->qty;
                        $variationinfo->save();
                    } else {
                        $iteminfo->qty += $item->qty;
                        $iteminfo->save();
                    }
                }
            }
            return 1;
        } else {
            return 0;
        }
    }
    public function assign_driver(Request $request)
    {
        $orderdata = Order::find($request->order_id);
        $user_info = User::find($orderdata->user_id);
        $driver_info = User::find($request->driver_id);

        // for user
        if ($orderdata->user_id != null) {
            $title = trans('messages.driver_assigned_title');
            $body = 'Delivery boy ' . $driver_info->name . ' has been assigned to your Order ' . $orderdata->order_number;
            $message_text = 'Delivery boy ' . $driver_info->name . ' has been assigned to your Order ' . $orderdata->order_number;
            $noti = helper::push_notification($user_info->token, $title, $body, "order", $orderdata->id);
            $emaildata = helper::emailconfigration();
            Config::set('mail', $emaildata);
            $status_email = helper::order_status_email($user_info->email, $user_info->name, $title, $message_text);

            if (@helper::checkaddons('otp')) {
                $status_sms = sms_helper::order_status_sms($user_info->email, $user_info->name, $title, $message_text);
            } else {
                $emaildata = helper::emailconfigration();
                Config::set('mail', $emaildata);
                $status_email = helper::order_status_email($user_info->email, $user_info->name, $title, $message_text);
            }
        }

        // for driver
        $title = trans('messages.new_order_assigned_title');
        $body = 'New Order ' . $orderdata->order_number . ' assigned to you';
        $message_text = 'New order ' . $orderdata->order_number . ' has been assigned to you.';
        $noti = helper::push_notification($driver_info->token, $title, $body, "order", $orderdata->id);
        $emaildata = helper::emailconfigration();
        Config::set('mail', $emaildata);
        $status_email = helper::order_status_email($driver_info->email, $driver_info->name, $title, $message_text);

        $orderdata->driver_id = $request->driver_id;
        $orderdata->save();

        if (@helper::checkaddons('otp')) {
            if (whatsapp_helper::whatsapp_message_config()->status_change == 1) {
                whatsapp_helper::orderupdatemessage($orderdata->order_number, trans('messages.driver_assigned_title'));
            }
        }

        return response()->json(['status' => 1, "message" => trans('messages.success')], 200);
    }
    public function invoice(Request $request)
    {
        $od = Order::where('id', $request->id)->first();
        if ($od->user_id == null) {
            $orderdata = Order::where('id', $request->id)->get()->first();
            $check = 0;
        } else {
            $orderdata = Order::with('user_info', 'driver_info')->where('order.id', $request->id)->first();

            $check = 1;
        }

        $ordersdetails = OrderDetails::where('order_details.order_id', $request->id)->get();
        $getdriver = User::where('type', '3')->where('is_available', 1)->orderBy('reorder_id')->get();
        return view('admin.orders.invoice', compact('orderdata', 'ordersdetails', 'getdriver', 'check'));
    }
    public function print(Request $request)
    {
        $orderdata = Order::with('user_info', 'driver_info')->where('order.id', $request->id)->first();
        $ordersdetails = OrderDetails::where('order_details.order_id', $request->id)->get();
        return view('admin.orders.print', compact('orderdata', 'ordersdetails'));
    }

    public function get_reports(Request $request)
    {
        $getorders = Order::with('user_info', 'driver_info')->select('order.*');
        $totalorders = 0;
        $totalprocessing = 0;
        $totalcompleted = 0;
        $totalcancelled = 0;
        $totalearnings = 0;
        if (!empty($request->customer_id) && !empty($request->startdate) && !empty($request->enddate)) {
            if ($request->has('status') && $request->status != "") {
                if ($request->status == "processing") {
                    $getorders = $getorders->whereIn('status_type', array(1, 2));
                }
                if ($request->status == "completed") {
                    $getorders = $getorders->where('status_type', 3);
                }
                if ($request->status == "cancelled") {
                    $getorders = $getorders->where('status_type', 4);
                }
            }
            $getorders = $getorders->whereBetween('order.created_at', [$request->startdate, $request->enddate])
                ->where('user_id', $request->customer_id)
                ->orderByDesc('id')
                ->get();
            $totalorders = Order::whereBetween('created_at', [$request->startdate, $request->enddate])->where('user_id', $request->customer_id)->count();
            $totalprocessing = Order::whereIn('status_type', array(1, 2))->whereBetween('created_at', [$request->startdate, $request->enddate])->where('user_id', $request->customer_id)->count();
            $totalcompleted = Order::where('status_type', 3)->whereBetween('created_at', [$request->startdate, $request->enddate])->where('user_id', $request->customer_id)->count();
            $totalcancelled = Order::where('status_type', 4)->whereBetween('created_at', [$request->startdate, $request->enddate])->where('user_id', $request->customer_id)->count();
            $totalearnings = Order::where('status_type', '3')->where('payment_status', '2')->whereBetween('created_at', [$request->startdate, $request->enddate])->where('user_id', $request->customer_id)->sum('grand_total');
        } else if (!empty($request->startdate) && !empty($request->enddate)) {
            if ($request->has('status') && $request->status != "") {
                if ($request->status == "processing") {
                    $getorders = $getorders->whereIn('status_type', array(1, 2));
                }
                if ($request->status == "completed") {
                    $getorders = $getorders->where('status_type', 3);
                }
                if ($request->status == "cancelled") {
                    $getorders = $getorders->where('status_type', 4);
                }
            }
            $getorders = $getorders->whereBetween('order.created_at', [$request->startdate, $request->enddate])
                ->orderByDesc('id')
                ->get();
            $totalorders = Order::whereBetween('created_at', [$request->startdate, $request->enddate])->count();
            $totalprocessing = Order::whereIn('status_type', array(1, 2))->whereBetween('created_at', [$request->startdate, $request->enddate])->count();
            $totalcompleted = Order::where('status_type', 3)->whereBetween('created_at', [$request->startdate, $request->enddate])->count();
            $totalcancelled = Order::where('status_type', 4)->whereBetween('created_at', [$request->startdate, $request->enddate])->count();
            $totalearnings = Order::where('status_type', '3')->where('payment_status', '2')->whereBetween('created_at', [$request->startdate, $request->enddate])->sum('grand_total');
        }
        $getcustomerslist = User::where('type', 2)->where('is_deleted', 2)->get();
        return view('admin.orders.report', compact('getorders', 'getcustomerslist', 'totalorders', 'totalprocessing', 'totalcompleted', 'totalcancelled', 'totalearnings'));
    }
    public function customerinfo(Request $request)
    {
        $customerinfo = Order::where('order_number', $request->order_id)->first();

        if ($request->edit_type == "customer_info") {
            $customerinfo->name = $request->customer_name;
            $customerinfo->mobile = $request->customer_mobile;
            $customerinfo->email = $request->customer_email;
        }
        if ($request->edit_type == "delivery_info") {

            $customerinfo->address = $request->address;
            $customerinfo->city = $request->city;
            $customerinfo->state = $request->state;
            $customerinfo->country = $request->country;
            $customerinfo->landmark = $request->landmark;
            $customerinfo->postal_code = $request->postal_code;
        }
        $customerinfo->update();
        return redirect()->back()->with('success', trans('messages.success'));
    }

    public function vendor_note(Request $request)
    {
        $updatenote = Order::where('order_number', $request->order_id)->first();

        $updatenote->vendor_note = $request->vendor_note;
        $updatenote->update();
        return redirect()->back()->with('success', trans('messages.success'));
    }
    public function payment_status(Request $request)
    {
        if ($request->ramin_amount > 0) {
            return redirect()->back()->with('error', trans('messages.amount_validation_msg'));
        }

        $order = Order::where('order_number', $request->order_number)->first();
        $order->payment_status = 2;
        $order->update();
        return redirect()->back()->with('success', trans('messages.success'));
    }
    public function generatepdf(Request $request)
    {
        $getorderdata = Order::where('order_number', $request->order_number)->first();
        $ordersdetails = OrderDetails::where('order_id', $getorderdata->id)->get();
        $pdf = PDF::loadView('admin.orders.invoicepdf', ['getorderdata' => $getorderdata, 'ordersdetails' => $ordersdetails]);
    //   return view('admin.orders.invoicepdf', ['getorderdata' => $getorderdata, 'ordersdetails' => $ordersdetails]);

        return $pdf->download('orderinvoice.pdf');

    }
}
© 2026 GrazzMean