174 lines
11 KiB
PHP
174 lines
11 KiB
PHP
<?php
|
|
include "../../ConnectDB.php";
|
|
|
|
// Start the session
|
|
session_start();
|
|
|
|
// Escape the username and user type for security
|
|
$u_id = mysqli_real_escape_string($conn, $_SESSION['uid']);
|
|
|
|
// Retrieve the total price
|
|
$total_price = $_POST['total'];
|
|
|
|
// If buyer do not have enough balance
|
|
$sql_check_balance = "SELECT balance FROM user_buyer WHERE u_id = '$u_id'";
|
|
$res = mysqli_query($conn, $sql_check_balance);
|
|
$balance = mysqli_fetch_array($res);
|
|
if($balance['balance'] < $total_price){
|
|
echo "<script type='text/javascript'>
|
|
window.location.href = './interfaces/failed.php?why=Insufficient Balance';
|
|
</script>";
|
|
exit();
|
|
}
|
|
|
|
$new_receipt_query = "INSERT INTO `receipt` (`u_id`, `total_price`) VALUES ('$u_id', '$total_price')";
|
|
$new_receipt_set = mysqli_query($conn, $new_receipt_query);
|
|
$receipt_id = mysqli_insert_id($conn);
|
|
|
|
// Update information
|
|
$sql_cart_bookings = "SELECT * FROM cart_bookings WHERE u_id='$u_id' AND choose = '1'";
|
|
$result_cart_bookings = mysqli_query($conn, $sql_cart_bookings);
|
|
$num_rows = mysqli_num_rows($result_cart_bookings);
|
|
|
|
while ($cartBooking = mysqli_fetch_assoc($result_cart_bookings)) {
|
|
$booking_id = $cartBooking['booking_id'];
|
|
$booking_type_id = $cartBooking['booking_type_id'];
|
|
$subtotal_price = $cartBooking['subtotal_price'];
|
|
// Use a switch statement for different booking types
|
|
switch ($booking_type_id) {
|
|
case '1':
|
|
$bookingQuery = "UPDATE `hotel_booking` SET payment_status = '1' WHERE booking_id = " . $booking_id;
|
|
$bookingResult = mysqli_query($conn, $bookingQuery);
|
|
|
|
$sellerQuery = "SELECT hotel_booking.quantity, seller_id FROM hotel_booking JOIN hotel_room ON (hotel_room.hotel_room_id = hotel_booking.hotel_room_id) JOIN hotel ON (hotel.hotel_id = hotel_room.hotel_id) WHERE booking_id = " . $booking_id;
|
|
$sellerResult = mysqli_query($conn, $sellerQuery);
|
|
$sellerResult = mysqli_fetch_assoc($sellerResult);
|
|
$seller_id = $sellerResult['seller_id'];
|
|
$quantity = $sellerResult['quantity'];
|
|
$sub_price = $quantity * $subtotal_price;
|
|
|
|
$sellerQuery = "UPDATE `user_seller` SET balance = balance + '$sub_price' WHERE u_id = " . $seller_id;
|
|
$sellerResult = mysqli_query($conn, $sellerQuery);
|
|
|
|
$receiptQuery = "INSERT INTO `receipt_bookings`(`receipt_id`, `booking_id`, `booking_type_id`, `booking_status`, `subtotal_price`, `quantity`, `seller_id`) VALUES ('$receipt_id','$booking_id','1','Unused','$subtotal_price', '$quantity', '$seller_id')";
|
|
$receiptResult = mysqli_query($conn, $receiptQuery);
|
|
|
|
break;
|
|
case '2':
|
|
$bookingQuery = "UPDATE `restaurant_booking` SET payment_status = '1' WHERE booking_id = " . $booking_id;
|
|
$bookingResult = mysqli_query($conn, $bookingQuery);
|
|
|
|
$sellerQuery = "SELECT restaurant_booking.quantity, seller_id FROM restaurant_booking JOIN restaurant ON (restaurant_booking.restaurant_id = restaurant.restaurant_id) WHERE booking_id = " . $booking_id;
|
|
$sellerResult = mysqli_query($conn, $sellerQuery);
|
|
$sellerResult = mysqli_fetch_assoc($sellerResult);
|
|
$seller_id = $sellerResult['seller_id'];
|
|
$quantity = $sellerResult['quantity'];
|
|
$sub_price = $quantity * $subtotal_price;
|
|
|
|
$sellerQuery = "UPDATE `user_seller` SET balance = balance + '$sub_price' WHERE u_id = " . $seller_id;
|
|
$sellerResult = mysqli_query($conn, $sellerQuery);
|
|
|
|
$receiptQuery = "INSERT INTO `receipt_bookings`(`receipt_id`, `booking_id`, `booking_type_id`, `booking_status`, `subtotal_price`, `quantity`, `seller_id`) VALUES ('$receipt_id','$booking_id','2','Unused','$subtotal_price', '$quantity', '$seller_id')";
|
|
$receiptResult = mysqli_query($conn, $receiptQuery);
|
|
|
|
break;
|
|
case '3':
|
|
$bookingQuery = "UPDATE `attraction_booking` SET payment_status = '1' WHERE booking_id = " . $booking_id;
|
|
$bookingResult = mysqli_query($conn, $bookingQuery);
|
|
|
|
$sellerQuery = "SELECT attraction_booking.quantity, seller_id FROM attraction_booking JOIN attraction ON (attraction_booking.attraction_id = attraction.attraction_id) WHERE booking_id = " . $booking_id;
|
|
$sellerResult = mysqli_query($conn, $sellerQuery);
|
|
$sellerResult = mysqli_fetch_assoc($sellerResult);
|
|
$seller_id = $sellerResult['seller_id'];
|
|
$quantity = $sellerResult['quantity'];
|
|
$sub_price = $quantity * $subtotal_price;
|
|
|
|
$sellerQuery = "UPDATE `user_seller` SET balance = balance + '$sub_price' WHERE u_id = " . $seller_id;
|
|
$sellerResult = mysqli_query($conn, $sellerQuery);
|
|
|
|
$receiptQuery = "INSERT INTO `receipt_bookings`(`receipt_id`, `booking_id`, `booking_type_id`, `booking_status`, `subtotal_price`, `quantity`, `seller_id`) VALUES ('$receipt_id','$booking_id','3','Unused','$subtotal_price', '$quantity', '$seller_id')";
|
|
$receiptResult = mysqli_query($conn, $receiptQuery);
|
|
|
|
break;
|
|
case '4':
|
|
$bookingQuery = "UPDATE `guide_booking` SET payment_status = '1' WHERE booking_id = " . $booking_id;
|
|
$bookingResult = mysqli_query($conn, $bookingQuery);
|
|
|
|
$sellerQuery = "SELECT guide_booking.quantity, guide_id FROM guide_booking WHERE booking_id = " . $booking_id;
|
|
$sellerResult = mysqli_query($conn, $sellerQuery);
|
|
$sellerResult = mysqli_fetch_assoc($sellerResult);
|
|
$seller_id = $sellerResult['guide_id'];
|
|
$quantity = $sellerResult['quantity'];
|
|
$sub_price = $quantity * $subtotal_price;
|
|
|
|
$sellerQuery = "UPDATE `user_guide` SET balance = balance + '$sub_price' WHERE u_id = " . $seller_id;
|
|
$sellerResult = mysqli_query($conn, $sellerQuery);
|
|
|
|
$receiptQuery = "INSERT INTO `receipt_bookings`(`receipt_id`, `booking_id`, `booking_type_id`, `booking_status`, `subtotal_price`, `quantity`, `seller_id`) VALUES ('$receipt_id','$booking_id','4','Unused','$subtotal_price', '$quantity', '$seller_id')";
|
|
$receiptResult = mysqli_query($conn, $receiptQuery);
|
|
|
|
break;
|
|
case '5':
|
|
$bookingQuery = "UPDATE `transport_flight_booking` SET payment_status = '1' WHERE booking_id = " . $booking_id;
|
|
$bookingResult = mysqli_query($conn, $bookingQuery);
|
|
|
|
$sellerQuery = "SELECT transport_flight_booking.quantity, airline_id FROM transport_flight_booking JOIN transport_flight_class ON (transport_flight_booking.flight_class_id = transport_flight_class.flight_class_id) JOIN transport_flight ON (transport_flight.flight_id = transport_flight_class.flight_id) WHERE booking_id = " . $booking_id;
|
|
$sellerResult = mysqli_query($conn, $sellerQuery);
|
|
$sellerResult = mysqli_fetch_assoc($sellerResult);
|
|
$airline_id = $sellerResult['airline_id'];
|
|
$quantity = $sellerResult['quantity'];
|
|
$sub_price = $quantity * $subtotal_price;
|
|
|
|
$sellerQuery = "SELECT seller_id FROM transport_airline WHERE airline_id = " . $airline_id;
|
|
$sellerResult = mysqli_query($conn, $sellerQuery);
|
|
$seller_id = mysqli_fetch_assoc($sellerResult);
|
|
$seller_id = $seller_id['seller_id'];
|
|
|
|
$sellerQuery = "UPDATE `user_seller` SET balance = balance + '$sub_price' WHERE u_id = " . $seller_id;
|
|
$sellerResult = mysqli_query($conn, $sellerQuery);
|
|
|
|
$receiptQuery = "INSERT INTO `receipt_bookings`(`receipt_id`, `booking_id`, `booking_type_id`, `booking_status`, `subtotal_price`, `quantity`, `seller_id`) VALUES ('$receipt_id','$booking_id','5','Unused','$subtotal_price', '$quantity', '$seller_id')";
|
|
$receiptResult = mysqli_query($conn, $receiptQuery);
|
|
|
|
break;
|
|
case '6':
|
|
$bookingQuery = "UPDATE `transport_railway_booking` SET payment_status = '1' WHERE booking_id = " . $booking_id;
|
|
$bookingResult = mysqli_query($conn, $bookingQuery);
|
|
|
|
$sellerQuery = "SELECT transport_railway_booking.quantity, seller_id FROM transport_railway_booking JOIN transport_railway_class ON (transport_railway_booking.railway_class_id = transport_railway_class.train_seat_id) JOIN transport_railway ON (transport_railway.train_id = transport_railway_class.train_id) WHERE booking_id = " . $booking_id;
|
|
$sellerResult = mysqli_query($conn, $sellerQuery);
|
|
$sellerResult = mysqli_fetch_assoc($sellerResult);
|
|
$seller_id = $sellerResult['seller_id'];
|
|
$quantity = $sellerResult['quantity'];
|
|
$sub_price = $quantity * $subtotal_price;
|
|
|
|
$sellerQuery = "UPDATE `user_seller` SET balance = balance + '$sub_price' WHERE u_id = " . $seller_id;
|
|
$sellerResult = mysqli_query($conn, $sellerQuery);
|
|
|
|
$receiptQuery = "INSERT INTO `receipt_bookings`(`receipt_id`, `booking_id`, `booking_type_id`, `booking_status`, `subtotal_price`, `quantity`, `seller_id`) VALUES ('$receipt_id','$booking_id','6','Unused','$subtotal_price', '$quantity', '$seller_id')";
|
|
$receiptResult = mysqli_query($conn, $receiptQuery);
|
|
|
|
break;
|
|
default:
|
|
echo "Unknown booking type";
|
|
exit();
|
|
}
|
|
}
|
|
|
|
// Update cart
|
|
$bookingQuery = "DELETE FROM `cart_bookings` WHERE u_id = '$u_id' AND choose = '1'";
|
|
$bookingResult = mysqli_query($conn, $bookingQuery);
|
|
|
|
// User balance
|
|
$bookingQuery = "UPDATE `user_buyer` SET balance = balance - '$total_price', cart_total_price = '0' WHERE u_id = " . $u_id;
|
|
$bookingResult = mysqli_query($conn, $bookingQuery);
|
|
|
|
if($bookingResult){
|
|
header('Location: ./interfaces/success.php');
|
|
}
|
|
else{
|
|
header('Location: ./interfaces/failed.php');
|
|
}
|
|
|
|
?>
|