%PDF- %GIF98; %PNG; .
Cyber Programmer
Logo of a company Server : Apache
System : Linux sh00666.bluehost.com 5.14.0-687.26.1.el9_8.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Jul 14 16:32:02 EDT 2026 x86_64
User : ndkhermy ( 1200)
PHP Version : 8.5.12
Disable Function : NONE
Directory :  /home1/ndkhermy/www/website_6ca89795/api/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home1/ndkhermy/www/website_6ca89795/api/order_details.php
<?php

header("Content-Type: application/json");

include("../dbcon.php");
include("auth.php");

define('BASE_URL', 'https://meatandgo.fr/');

function response($status, $message, $data = [])
{
    echo json_encode([
        "status" => $status,
        "message" => $message,
        "data" => $data
    ], JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT);
    exit;
}

/*
|--------------------------------------------------------------------------
| Get Order ID
|--------------------------------------------------------------------------
*/

$order_id = intval($_REQUEST['order_id'] ?? 0);

if ($order_id <= 0)
{
    response(false, "Order ID Required", [

        "required_fields" => [
            "order_id"
        ],

        "example_url" =>
            BASE_URL .
            "api/order_details.php?order_id=1"
    ]);
}

/*
|--------------------------------------------------------------------------
| Order Details
|--------------------------------------------------------------------------
*/

$orderQry = mysqli_query(
    $conn,
    "SELECT *
     FROM orders
     WHERE id='$order_id'
     AND user_id='$user_id'
     LIMIT 1"
);

if (mysqli_num_rows($orderQry) == 0)
{
    response(false, "Order Not Found");
}

$order = mysqli_fetch_assoc($orderQry);

/*
|--------------------------------------------------------------------------
| Status Title & Message
|--------------------------------------------------------------------------
*/

$status_title = "";
$status_message = "";

if ($order['refund_status'] == 'Pending')
{
    $status_title = "Refund Processing";
    $status_message = "Your refund is being processed.";
}
elseif ($order['order_status'] == 'Delivered')
{
    $status_title = "Delivered Successfully";
    $status_message = "Enjoy your fresh meat!";
}
elseif ($order['order_status'] == 'Cancelled')
{
    $status_title = "Order Cancelled";
    $status_message = "Your order was not completed.";
}
else
{
    $status_title = "Your Order is Being Prepared";
    $status_message = "Fresh meat is being packed with care.";
}

/*
|--------------------------------------------------------------------------
| Order Items
|--------------------------------------------------------------------------
*/

$items = [];
$total_items = 0;
$subtotal = 0;

$itemQry = mysqli_query(
    $conn,
    "SELECT
        oi.*,
        p.title,
        p.weight,
        p.image
     FROM order_items oi

     LEFT JOIN areawecover p
     ON oi.product_id = p.id

     WHERE oi.order_id='$order_id'"
);

while ($item = mysqli_fetch_assoc($itemQry))
{
    $total_items += $item['quantity'];

    $item_total =
        $item['price'] *
        $item['quantity'];

    $subtotal += $item_total;

    $items[] = [

        "product_id" =>
            $item['product_id'],

        "title" =>
            $item['title'],

        "weight" =>
            $item['weight'],

        "quantity" =>
            (int)$item['quantity'],

        "price" =>
            $currency_symbol .
            number_format(
                $item['price'],
                2
            ),

        "image" =>
            !empty($item['image'])
            ? BASE_URL .
              "admin/dataimg/" .
              $item['image']
            : ""
    ];
}

/*
|--------------------------------------------------------------------------
| Delivery Charges
|--------------------------------------------------------------------------
*/

$delivery_fee = 5;
$service_fee  = 2;

/*
|--------------------------------------------------------------------------
| Delivery Information
|--------------------------------------------------------------------------
*/

$delivery_info = [

    "name" =>
        $order['full_name'],

    "phone" =>
        $order['phone'],

    "address" =>
        $order['address'],

    "delivery_instruction" =>
        $order['delivery_instruction']
];

/*
|--------------------------------------------------------------------------
| Buttons Logic
|--------------------------------------------------------------------------
*/

$buttons = [

    "cancel_order" =>
        ($order['order_status'] == 'Pending'),

    "order_again" =>
        (
            $order['order_status'] == 'Delivered' ||
            $order['order_status'] == 'Cancelled'
        ),

    "download_invoice" =>
        ($order['order_status'] == 'Delivered'),

    "contact_support" => true
];

/*
|--------------------------------------------------------------------------
| Response
|--------------------------------------------------------------------------
*/

response(true, "Order Details Loaded", [

    "order_id" =>
        $order['id'],

    "order_number" =>
        $order['unique_order_id'],

    "order_status" =>
        $order['order_status'],

    "refund_status" =>
        $order['refund_status'],

    "status_title" =>
        $status_title,

    "status_message" =>
        $status_message,

    "summary" => [

        "order_date" =>
            date(
                "d M Y h:i A",
                strtotime(
                    $order['created_at']
                )
            ),

        "order_total" =>
            $currency_symbol .
            number_format(
                $order['total_amount'],
                2
            ),

        "payment_method" =>
            strtoupper(
                $order['payment_type']
            ),

        "total_items" =>
            $total_items
    ],

    "cancel_information" => [

        "cancel_reason" =>
            $order['cancel_reason'],

        "cancel_details" =>
            $order['cancel_details']
    ],

    "refund_information" => [

        "refund_status" =>
            $order['refund_status']
    ],

    "ordered_items" =>
        $items,

    "delivery_information" =>
        $delivery_info,

    "order_summary" => [

        "subtotal" =>
            $currency_symbol .
            number_format(
                $subtotal,
                2
            ),

        "delivery_fee" =>
            $currency_symbol .
            number_format(
                $delivery_fee,
                2
            ),

        "service_fee" =>
            $currency_symbol .
            number_format(
                $service_fee,
                2
            ),

        "total" =>
            $currency_symbol .
            number_format(
                $order['total_amount'],
                2
            )
    ],

    "buttons" =>
        $buttons,

    "apis" => [

        "cancel_order_api" =>
            BASE_URL .
            "api/cancel_order.php",

        "reorder_api" =>
            BASE_URL .
            "api/reorder.php",

        "download_invoice_api" =>
            BASE_URL .
            "api/download_invoice.php?order_id=" .
            $order['id']
    ]
]);

$conn->close();

?>

VaKeR 2022