No order ID specified.";
include 'footer.php';
exit;
}
$owner_id = $_SESSION['user_id'];
$order_id = $_GET['order_id'];
$pdo = db();
// Get the owner's restaurant ID
$stmt = $pdo->prepare("SELECT id FROM restaurants WHERE user_id = ?");
$stmt->execute([$owner_id]);
$restaurant = $stmt->fetch();
if (!$restaurant) {
echo "
You are not associated with any restaurant.
";
include 'footer.php';
exit;
}
$restaurant_id = $restaurant['id'];
// Security Check: Verify the order belongs to the restaurant owner
$check_stmt = $pdo->prepare("
SELECT o.id
FROM orders o
JOIN order_items oi ON o.id = oi.order_id
JOIN menu_items mi ON oi.menu_item_id = mi.id
WHERE o.id = ? AND mi.restaurant_id = ?
LIMIT 1
");
$check_stmt->execute([$order_id, $restaurant_id]);
if ($check_stmt->rowCount() == 0) {
echo "Access Denied: This order does not belong to your restaurant.
";
include 'footer.php';
exit;
}
// Fetch order details
$order_stmt = $pdo->prepare("
SELECT o.*, u.name AS user_name, u.email AS user_email, u.address AS user_address
FROM orders o
JOIN users u ON o.user_id = u.id
WHERE o.id = ?
");
$order_stmt->execute([$order_id]);
$order = $order_stmt->fetch(PDO::FETCH_ASSOC);
if (!$order) {
echo "Order not found.
";
include 'footer.php';
exit;
}
// Fetch order items
$items_stmt = $pdo->prepare("
SELECT oi.quantity, oi.price, mi.name AS item_name
FROM order_items oi
JOIN menu_items mi ON oi.menu_item_id = mi.id
WHERE oi.order_id = ? AND mi.restaurant_id = ?
");
$items_stmt->execute([$order_id, $restaurant_id]);
$items = $items_stmt->fetchAll(PDO::FETCH_ASSOC);
$possible_statuses = ['Pending', 'Confirmed', 'Preparing', 'Out for Delivery', 'Delivered', 'Cancelled'];
?>
Order Details #
Customer Name:
Customer Email:
Delivery Address:
Order Total: $
Order Status:
Order Date:
| Item Name |
Quantity |
Price per item |
Subtotal |
|
|
$ |
$ |
Back to Orders List