œ_#ÁÕ§TE NAŒ“KeÉ:”(åŽÖJÞùY’‚ñùž7; «]Û ý`8g“¯B© jdÖÖ¸ðzœ¸¦4Ç3Kó^(ÍÖ¼ Õ€pvìwšõB4df$Èü^0˜…åÌC$#2FŽÑ§±¦ÛZ/÷š&m£ñzÒÖ ’.Î]!Î;ƒ(Õ–¢d/—#Kª+tZyuÏB>NÛÖ†(¸ŒSà'³„Y˜´-_•¦¼´˜OlNK§¶ÒàŠˆTHµƒeTPå·fïM’…þuÏÍüp6دªE£åü‡ZØ'CKF#â«;‹eyO Qp„†l"ö1èíÙP ÏŒúl! BÝ2ñª•_VÁÉ÷3eu`–F¸ìI--ö<¿žë¯4õ캿¢)34Å{wMÉ2ÆÖFŸ¥`e9Ú¶¸P‡.”FÔï rY ‚²ÈTB,{ÛœéJ}«àQ4¹0Rû4D‚B§S‘ dO•v¾„™Sן¯3FeŸ™«+ÓâwH dÕÛÌì·P4ë&¥#rÜÉ Ù¦ê†ý·xòqk¯2,¹§™E\ék‚×Sá”ÚºÙ⺷ö£6…à ʾ qSá³Å|;àû}4Ÿ($â¹VY~óÍ!èÜÒŒËX½Ù1j‚VíÍŸš³+œ]«½g{_{/vµ½\¢¶vÉWKÿ:ñám½ ¥ S²x‘t ŽšÝÙÿÀÇ^ný PK IW™k‚½÷ á _rels/.relsUT dìd dìd dìd’ÏNÃ0‡ï{ŠÈ÷ÕÝ@¡¥» ¤Ý*`%îÑ&QâÁöö‚J£ì°cœŸ¿|¶²ÙÆA½rL½wVE Šñ¶w†çúay * 9Kƒw¬áÈ ¶ÕbóÄIîI]’Ê—4t"á1™ŽGJ…ìòMããH’±Å@æ…ZÆuYÞ`üÍ€jÂT;«!îì T}|Û7MoøÞ›ýÈNN<|v–í2ÄÜ¥ÏèšbË¢Ázó˜Ë )„"£OÏ7ú{ZYÈ’yÞç#1'tuÉM?6o>Z´_å9›ëKÚ˜}?þ³žÏÌ·N>fµx PK IWª½e ¢ U € word/document.xmlUT dìdPK IWþË3” z €J¢ word/settings.xmlUT dìdPK IWC‡{š' ƒ €¤ docProps/custom.xmlUT dìdPK IW츱=Œ €‡¥ [Content_Types].xmlUT dìdPK IWV%ë±" €U§ docProps/app.xmlUT dìdPK IW€RŒ 3 €¶¨ docProps/core.xmlUT dìdPK IWkòDn ô €ª word/_rels/document.xml.relsUT dìdPK IW;$î €Î« word/fontTable.xmlUT dìdPK IW+åäz] ÷. €ý¬ word/numbering.xmlUT dìdPK IW¤2×r- ¿ €›° word/styles.xmlUT dìdPK IWMFÒ ø €´ word/header1.xmlUT dìdPK IWF— T e €· word/media/image1.jpegUT dìdPK IW!Yéáå €°Ë word/media/image2.pngUT dìdPK IW°Àºë ú €ÙÌ word/media/image3.pngUT dìdPK IW$“†ª L €Î word/footer1.xmlUT dìdPK IWzaGôM €ñÑ word/footer2.xmlUT dìdPK IW–µâº P €}Õ word/theme/theme1.xmlUT dìdPK IW™k‚½÷ á €{Û _rels/.relsUT PK ! bîh^ [Content_Types].xml ¢( ¬”ËNÃ0E÷HüCä-Jܲ@5í‚Ç*Q>Àēƪc[žiiÿž‰ûB¡j7±ÏÜ{2ñÍh²nm¶‚ˆÆ»R‹ÈÀU^7/ÅÇì%¿’rZYï @1__f› ˜q·ÃR4DáAJ¬h>€ãÚÇV߯¹ªZ¨9ÈÛÁàNVÞ8Ê©ÓãÑÔji){^óã-I‹"{Üv^¥P!XS)bR¹rú—K¾s(¸3Õ`cÞ0†½ÝÎß»¾7M4²©ŠôªZÆk+¿|\|z¿(Ž‹ôPúº6h_-[ž@!‚ÒØ Pk‹´2nÏ}Ä?£LËð Ýû%áÄßdºždN"m,à¥ÇžDO97*‚~§Èɸ8ÀOíc|n¦Ñ äEøÿöéºóÀBÉÀ!$}‡íàÈé;{ìÐå[ƒîñ–é2þ ÿÿ PK ! µU0#ô L _rels/.rels ¢( ¬’MOÃ0†ïHü‡È÷ÕÝBKwAH»!T~€Iܵ£$Ý¿'TƒG½~üÊÛÝ<êÈ!öâ4¬‹;#¶w†—úqu *&r–Fq¬áÄvÕõÕö™GJy(v½*«¸¨¡KÉß#FÓñD±Ï.W ¥†=™ZÆMYÞbø®ÕBS톰·7 ê“Ï›×–¦é ?ˆ9LìÒ™ÈsbgÙ®|Èl!õùUSh9i°bžr:"y_dlÀóD›¿ý|-NœÈR"4ø2ÏGÇ% õZ´4ñËyÄ7 ëÈðÉ‚‹¨Þ ÿÿ PK ! Q48wÛ — xl/workbook.xml¤UÙnâ0}iþ!cñ‡ *–¢AšVU×$dC¬&vÆv UÕŸë@XÊK§/¹p|Žï¹N÷b“¥Ö •Š ÞC¸î"‹òHÄŒ¯zèá~b·‘¥4á1I§=ôJºèÿüÑ] ù¼âÙ ®z(Ñ:GE ͈ª‹œrˆ,…̈†©\9*—”Ä*¡Tg©ã¹nàd„q´Eåg0ÄrÉ":Q‘Q®· ’¦D}•°\UhYô¸ŒÈç"·#‘å ±`)Ó¯%(²²(œ®¸d‘‚ì nZ w v¡ñª• t¶TÆ")”Xê:@;[Ògú±ë`|²›ó=ø’ïHúÂL÷¬dðEVÁ+8€a÷Ûh¬Uz%„Íû"ZsÏÍCýî’¥ôqk]‹äù5ÉL¦Rd¥Dé˘i÷P ¦bM/|dÉ",…¨çãFNoçiûéë>aêiçsó#ðÄ ÕTr¢éHp ÜIú®ÝJìQ"ÀÜÖ-ý[0I¡¦ÀZ Z…d¡nˆN¬B¦=4 g %PDF-1.4 %âãÏÓ 3 0 obj << /Linearized 1 /L 422775 ÿØÿà JFIF ÿÛ C ÿÛ C ÿÀ X" ÿÄ ÿÄ H !1A"Qaq2‘¡#±ÁBRÑ3Cbrá$S‚¢²ð4ñ%6DTc’ÂsÿÄ ÿÄ = !1AQ"aq‘Á2R¡±BÑð#3br’²4á$‚¢ÂñÿÚ ? áHBßÝ`„! !@B„ „! !@B„ „! !@B„ „! !@B„ „! !@B„ „! !@B„ „! !@B„ „! !@B„ „! !@B„ „! !@B„ „! !@B„ „! !@B„ „! !@B„ „! !@B„ „! !@B„ „! !@B„ „! !@B„ „! !@B„ „! !@B„ „! !@B„ „! !@B„ „! !@B„ „! ! stream
<?php
session_start();
include 'connection/config.php';
$customer_id = isset($_SESSION['customer_id']) ? intval($_SESSION['customer_id']) : 0;
// If customer_id is active (greater than 0), redirect to home page
if ($customer_id > 0) {
header("Location: index.php");
exit();
}
// Fetch allorders for the customer
$stmt = $pdo->prepare("SELECT * FROM allorders WHERE customer_id = :customer_id ORDER BY created_at DESC");
$stmt->execute([':customer_id' => $customer_id]);
$allorders = $stmt->fetchAll();
$stmt = $pdo->prepare("SELECT * FROM store_locations");
$stmt->execute();
$store_locations = $stmt->fetch(PDO::FETCH_ASSOC);
// ✅ Default null
$customerName = null;
if (!empty($_SESSION['customer_id'])) {
try {
$customerId = $_SESSION['customer_id'];
$stmt = $pdo->prepare("SELECT first_name FROM customers WHERE customer_id = ?");
$stmt->execute([$customerId]);
$customer = $stmt->fetch(PDO::FETCH_ASSOC);
if ($customer) {
$customerName = $customer['first_name'];
}
} catch (Exception $e) {
echo "DB Error: " . $e->getMessage();
}
}
// Initialize sessions
if (!isset($_SESSION['cart'])) $_SESSION['cart'] = [];
if (!isset($_SESSION['cart_qty'])) $_SESSION['cart_qty'] = [];
if (!isset($_SESSION['rentals'])) $_SESSION['rentals'] = [];
if (!isset($_SESSION['rental_days'])) $_SESSION['rental_days'] = [];
// ----------------------
// AJAX: Update quantities
// ----------------------
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['product_id'], $_POST['value'], $_POST['type'])) {
$productId = $_POST['product_id'];
$value = intval($_POST['value']);
$type = $_POST['type'];
if ($type === 'cart' && in_array($productId, $_SESSION['cart'])) {
$_SESSION['cart_qty'][$productId] = max(1, $value);
echo json_encode(['success' => true]);
exit;
} elseif ($type === 'rental' && in_array($productId, $_SESSION['rentals'])) {
$_SESSION['rental_days'][$productId] = max(3, $value);
echo json_encode(['success' => true]);
exit;
} else {
echo json_encode(['success' => false, 'message' => 'Invalid product']);
exit;
}
}
// =========================
// REMOVE ITEM (RENTAL OR SALE)
// =========================
if (isset($_GET['product_unique_id'])) {
$productId = $_GET['product_unique_id'];
if (($key = array_search($productId, $_SESSION['rentals'])) !== false) {
unset($_SESSION['rentals'][$key]);
unset($_SESSION['rental_days'][$productId]);
$_SESSION['rentals'] = array_values($_SESSION['rentals']);
} elseif (($key = array_search($productId, $_SESSION['cart'])) !== false) {
unset($_SESSION['cart'][$key]);
unset($_SESSION['cart_qty'][$productId]);
$_SESSION['cart'] = array_values($_SESSION['cart']);
}
header("Location: cart.php");
exit();
}
// ====================
// CALCULATE TOTALS
// ====================
$saleTotal = 0;
$rentalTotal = 0;
$depositTotal = 0;
$saleProducts = [];
$rentalProducts = [];
// ===== SALE ITEMS =====
if (!empty($_SESSION['cart'])):
foreach ($_SESSION['cart'] as $uniqueId):
$qty = $_SESSION['cart_qty'][$uniqueId] ?? 1;
$stmt = $pdo->prepare("
SELECT p.*,
ps.price,
ps.stock_quantity,
gs.metal_purity,
gs.weight,
gs.hallmark_certification
FROM products p
LEFT JOIN product_sales ps ON p.product_id = ps.product_id
LEFT JOIN product_gold_silver gs ON p.product_id = gs.product_id
WHERE p.product_unique_id = ?
");
$stmt->execute([$uniqueId]);
$product = $stmt->fetch(PDO::FETCH_ASSOC);
if ($product):
$price = floatval($product['price']);
$finalSalePrice = $price * $qty;
$saleTotal += $finalSalePrice;
$product['finalSalePrice'] = $finalSalePrice;
$product['qty'] = $qty;
$saleProducts[] = $product;
endif;
endforeach;
endif;
// ===== RENTAL ITEMS =====
if (!empty($_SESSION['rentals'])):
foreach ($_SESSION['rentals'] as $uniqueId):
$rentalDays = $_SESSION['rental_days'][$uniqueId] ?? 3;
$rentalDays = max(3, $rentalDays); // minimum 3 days
$stmt = $pdo->prepare("
SELECT p.*, pr.rental_amount, pr.deposit_amount
FROM products p
LEFT JOIN product_rentals pr ON p.product_id = pr.product_id
WHERE p.product_unique_id = ?
");
$stmt->execute([$uniqueId]);
$product = $stmt->fetch(PDO::FETCH_ASSOC);
if ($product):
$dailyRent = floatval($product['rental_amount']); // per day rent
$depositAmount = floatval($product['deposit_amount']);
// Base rental for first 3 days
$baseRental = $dailyRent;
// Extra days beyond 3 → 10% of daily rent per extra day
$extraDays = $rentalDays - 3;
$extraCharge = $extraDays > 0 ? $extraDays * ($dailyRent * 0.10) : 0;
// Net rental price
$netRentalPrice = $baseRental + $extraCharge;
// Net refundable = deposit - net rental
$netRefundable = $depositAmount - $netRentalPrice;
// Update totals
$rentalTotal += $netRentalPrice;
$depositTotal += $depositAmount;
// Attach for display
$product['rentalDays'] = $rentalDays;
$product['baseRental'] = $baseRental;
$product['extraCharge'] = $extraCharge;
$product['netRentalPrice'] = $netRentalPrice;
$product['depositAmount'] = $depositAmount;
$product['netRefundable'] = $netRefundable;
$rentalProducts[] = $product;
endif;
endforeach;
endif;
// ===== FINAL TOTALS =====
$subtotal = $saleTotal + $depositTotal;
$finalPayableAmount = $subtotal ;
// ===== SAVE SALE PRODUCTS TO JSON =====
$saleJsonFile = 'sale_products.json';
file_put_contents($saleJsonFile, json_encode($saleProducts, JSON_PRETTY_PRINT));
// ===== SAVE RENTAL PRODUCTS TO JSON =====
$rentalJsonFile = 'rental_products.json';
file_put_contents($rentalJsonFile, json_encode($rentalProducts, JSON_PRETTY_PRINT));
// ===== SAVE TOTALS TO JSON =====
$totals = [
'saleTotal' => $saleTotal,
'rentalTotal' => $rentalTotal,
'depositTotal' => $depositTotal,
'subtotal' => $subtotal,
'finalPayableAmount' => $finalPayableAmount
];
$totalsJsonFile = 'totals.json';
file_put_contents($totalsJsonFile, json_encode($totals, JSON_PRETTY_PRINT));
// Encode data as JSON strings
$saleJson = htmlspecialchars(json_encode($saleProducts, JSON_HEX_QUOT), ENT_QUOTES, 'UTF-8');
$rentalJson = htmlspecialchars(json_encode($rentalProducts, JSON_HEX_QUOT), ENT_QUOTES, 'UTF-8');
$totalsJson = htmlspecialchars(json_encode([
'saleTotal' => $saleTotal,
'rentalTotal' => $rentalTotal,
'depositTotal' => $depositTotal,
'subtotal' => $subtotal,
'finalPayableAmount' => $finalPayableAmount
], JSON_HEX_QUOT), ENT_QUOTES, 'UTF-8');
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta http-equiv="content-type" content="text/html;charset=UTF-8" />
<title>Pooja Jewellers Bhubaneswar – Elegant Gold, Silver & Fancy Jewellery</title>
<meta name="description" content="Browse Pooja Jewellers in Bhubaneswar for a stunning range of gold, silver, and fancy jewellery—perfect for weddings, everyday elegance, and modern minimalism.">
<meta name="keywords" content="Pooja Jewellers Bhubaneswar, gold jewellery Bhubaneswar, silver jewellery Bhubaneswar, fancy jewellery Bhubaneswar, minimalist jewellery India, wedding jewellery Bhubaneswar">
<meta name="author" content="spacingtech_webify">
<!-- favicon -->
<link rel="shortcut icon" type="image/favicon" href="assets/image/fav.jpg">
<!-- plugin css -->
<link rel="stylesheet" type="text/css" href="assets/css/plugin.css">
<!-- theme css -->
<link rel="stylesheet" type="text/css" href="assets/css/theme3.css">
<!-- collection css -->
<link rel="stylesheet" type="text/css" href="assets/css/collection.css">
<!-- blog css -->
<link rel="stylesheet" type="text/css" href="assets/css/blog3.css">
<!-- style css -->
<link rel="stylesheet" type="text/css" href="assets/css/style3.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.5/font/bootstrap-icons.css">
</head>
<body>
<!-- preloader start -->
<div class="preloader position-fixed top-0 start-0 w-100 h-100 body-bg z-index-5">
<div class="loader-img position-absolute top-0 start-0 w-100 h-100 d-flex align-items-center justify-content-center">
<img src="assets/image/preloader.png" class="width-96 width-xl-144 img-fluid" alt="logo">
</div>
</div>
<!-- preloader end -->
<!-- header start -->
<header id="header" class="main-header">
<!-- header-top start -->
<div class="header-top-area">
<!-- notification-bar start -->
<div class="notification-bar ptb-10 dominant-bg">
<div class="container-fluid d-none d-xl-block">
<div class="text-center extra-color">First Order 20% Off on Fancy Jewellery <a href="product_category.php?slug=Fancy jewellery" class="extra-color text-uppercase text-decoration-underline blinking">Shop now</a>!</div>
</div>
</div>
<!-- notification-bar end -->
<!-- header-bar start -->
<div class="header-bar d-none d-xl-block ptb-11 extra-bg beb">
<div class="container-fluid">
<div class="row">
<div class="col">
<ul class="ul-mt30 justify-content-start">
<li>
<span class="d-inline-block body-secondary-color">
<a href="mailto:<?php echo $store_locations['email1']; ?>">
<i class="ri-mail-line icon-16 mer-5"></i><?php echo $store_locations['email1']; ?>
</a>
</span>
</li>
<li>
<span class="d-inline-block body-secondary-color">
<a href="tel:<?php echo $store_locations['phone1']; ?>">
<i class="ri-phone-line icon-16 mer-5"></i><?php echo $store_locations['phone1']; ?>
</a>
</span>
</li>
</ul>
</div>
<div class="col">
<ul class="ul-mt30 justify-content-end">
<li>
<span class="d-inline-block body-secondary-color">
<a href="calender.php">
<i class="ri-calendar-event-fill icon-16 mer-5"></i>Calender
</a>
</span>
</li>
<li>
<span class="d-inline-block body-secondary-color text-dark">
<a href="javascript:void(0)"
data-bs-toggle="modal"
data-bs-target="#goldCalculatorModal"
class="nav-link">
<i class="ri-calculator-line icon-16 mer-5"></i> Calculator
</a>
</span>
</li>
</ul>
</div>
</div>
</div>
</div>
<!-- header-bar end -->
<!-- header-top-first start -->
<div class="header-top-first ptb-15 ptb-xl-20 position-relative extra-bg">
<div class="container-fluid">
<div class="row align-items-center header-area">
<!-- header-logo start -->
<div class="col-6 col-xl-2 header-element header-logo">
<div class="header-theme-logo">
<a href="index.php" class="d-inline-block theme-logo">
<img src="assets/image/headerlogo.webp" class="width-96 width-xl-144 img-fluid" alt="logo">
</a>
</div>
</div>
<!-- header-logo end -->
<?php include "common/header.php"; ?>
<!-- header-icon start -->
<div class="col-6 col-xl-2 header-element header-icon">
<div class="header-icon-block d-flex justify-content-end">
<ul class="ul-mt30 flex-nowrap align-items-center header-icon-element">
<li class="header-icon-wrap toggler-wrap d-xl-none">
<div class="header-icon-wrapper">
<a href="javascript:void(0)" class="d-block header-icon-toggler toggler-btn" aria-label="Menu toggler button">
<span class="d-block header-block-icon dominant-link icon-16"><i class="ri-menu-line"></i></span>
</a>
</div>
</li>
<li class="header-icon-wrap search-wrap d-xl-none">
<div class="header-icon-wrapper">
<a href="#searchmodal" class="d-block header-icon-search" data-bs-toggle="modal" aria-label="Search modal">
<span class="d-block header-block-icon dominant-link icon-16"><i class="ri-search-line"></i></span>
</a>
</div>
</li>
<li class="header-icon-wrap user-wrap d-none d-md-block">
<div class="header-icon-wrapper">
<span class="header-block-icon-wrap dominant-link ul-mt5 flex-nowrap align-items-center">
<span class="header-block-icon icon-16"><i class="ri-user-3-line"></i></span>
<span class="d-none d-xl-block header-text-content">
<?php if ($customerName): ?>
<a href="dashboard.php"><b><?= htmlspecialchars($customerName) ?></b></a>
<?php else: ?>
<a href="login.php">Login</a>
<?php endif; ?>
</span>
</span>
</div>
</li>
<li class="header-icon-wrap cart-wrap d-none d-md-block">
<div class="header-icon-wrapper">
<a href="javascript:void(0)" class="d-block header-icon-cart js-cart-drawer">
<span class="header-block-icon-wrap dominant-link ul-mt5 flex-nowrap align-items-center">
<span class="header-block-icon icon-16"><i class="ri-shopping-bag-3-line"></i></span>
<span class="d-none d-xl-block header-text-content">Cart</span>
<?php
$cartCount = 0;
if (isset($_SESSION['cart'])) {
$cartCount += count($_SESSION['cart']);
}
if (isset($_SESSION['rentals'])) {
$cartCount += count($_SESSION['rentals']);
}
// Show the counter only if there’s something in cart
if ($cartCount > 0) {
echo '<span class="header-block-counter cart-counter dominant-color">' . $cartCount . '</span>';
}
?>
</span>
</a>
</div>
</li>
</ul>
</div>
</div>
<!-- header-icon end -->
</div>
</div>
</div>
<!-- header-top-first end -->
</div>
<!-- header-top end -->
</header>
<!-- header end -->
<!-- breadcrumb-area start -->
<div class="breadcrumb-area ptb-15" data-bgimg="assets/image/other/breadcrumb-bgimg.jpg">
<div class="container">
<span class="d-block extra-color"><a href="index.php" class="extra-color">Home</a> / Cart</span>
</div>
</div>
<!-- breadcrumb-area end -->
<!-- main start -->
<main id="main">
<!-- cart start -->
<section class="cart-area section-pt" style="background:#f8f9fa; padding:40px 0;">
<div class="container">
<div class="row row-mtm">
<!-- Cart Container -->
<div class="col-12 bg-white shadow-sm rounded p-4">
<div class="row">
<!-- Left side (Cart Items) -->
<div class="col-lg-8 cart-itemview pe-lg-4">
<div class="cart-title d-flex align-items-center justify-content-between pb-3 mb-3 border-bottom">
<h6 class="font-18 fw-bold mb-0">Shopping Cart</h6>
<span class="cart-count small text-muted">
<span class="cart-counter fw-bold"><?= count($saleProducts) + count($rentalProducts) ?></span> Items
</span>
</div>
<!-- Table Headings -->
<div class="d-none d-md-flex row fw-bold border-bottom py-2">
<div class="col-md-5">Product</div>
<div class="col-md-2">Price</div>
<div class="col-md-2">Quantity</div>
<div class="col-md-2">Total</div>
<div class="col-md-1"></div>
</div>
<div class="cart-table-data">
<!-- Buy Items Section -->
<?php if (!empty($saleProducts)): ?>
<h6 class="fw-bold mt-3 mb-2">Buy Items</h6>
<?php foreach ($saleProducts as $product): ?>
<div class="row align-items-center py-3 border-bottom cart-item sale-item" data-price="<?= $product['finalSalePrice'] ?>">
<!-- Product Info -->
<div class="col-12 col-md-5 d-flex align-items-start">
<img src="<?= htmlspecialchars($product['thumbnail_image']) ?>" class="img-fluid rounded shadow-sm me-2 mb-2 mb-md-0" style="width:70px;">
<div>
<h6 class="mb-1"><?= htmlspecialchars($product['product_name']) ?></h6>
<!-- Calculation Breakdown -->
<p class="small text-muted mb-0">
Price: ₹<?= number_format($product['price'], 2) ?> | <br>
Purity: <?= htmlspecialchars($product['metal_purity']) ?> | <br>
Weight: <?= number_format($product['weight'], 2) ?> gm | <br>
Hallmark: <?= htmlspecialchars($product['hallmark_certification']) ?>
</p>
</div>
</div>
<!-- Price -->
<div class="col-6 col-md-2 mt-2 mt-md-0">
<span class="price d-block">₹<?= number_format($product['price'], 2) ?></span>
</div>
<!-- Quantity -->
<div class="col-6 col-md-2 mt-2 mt-md-0">
<select
name="quantity[<?= $product['product_unique_id'] ?>]"
class="form-control form-control-sm qty-input"
onchange="updateCart('<?= $product['product_unique_id'] ?>', this.value, 'cart')"
disabled
>
<?php
$maxQty = intval($product['stock_quantity']); // max based on stock
$maxQty = $maxQty > 0 ? $maxQty : 1; // fallback to 1 if 0 stock
for ($i = 1; $i <= $maxQty; $i++):
$selected = (($_SESSION['cart_qty'][$product['product_unique_id']] ?? 1) == $i) ? 'selected' : '';
?>
<option value="<?= $i ?>" <?= $selected ?>><?= $i ?></option>
<?php endfor; ?>
</select>
</div>
<!-- Total -->
<div class="col-6 col-md-2 mt-2 mt-md-0">
<span class="total-item d-block fw-bold">₹<?= number_format($product['finalSalePrice'], 2) ?></span>
</div>
<!-- Remove -->
<div class="col-6 col-md-1 mt-2 mt-md-0 text-end">
<a href="cart.php?product_unique_id=<?= $product['product_unique_id'] ?>" class="text-danger remove-item">X</a>
</div>
</div>
<?php endforeach; ?>
<?php endif; ?>
</div>
<!-- Table Headings -->
<div class="d-none d-md-flex row fw-bold border-bottom py-2">
<div class="col-md-5">Product</div>
<div class="col-md-2">Rental</div>
<div class="col-md-2">Days</div>
<div class="col-md-2">Refund</div>
<div class="col-md-1"></div>
</div>
<div class="cart-table-data">
<!-- Rental Items Section -->
<?php if (!empty($rentalProducts)): ?>
<h6 class="fw-bold mt-4 mb-2">Rental Items</h6>
<?php foreach ($rentalProducts as $product): ?>
<div class="row align-items-center py-3 border-bottom cart-item rental-item">
<!-- Product Info -->
<div class="col-12 col-md-5 d-flex align-items-start">
<img src="<?= htmlspecialchars($product['thumbnail_image']) ?>" class="img-fluid rounded shadow-sm me-2 mb-2 mb-md-0" style="width:70px;">
<div>
<h6 class="mb-1"><?= htmlspecialchars($product['product_name']) ?></h6>
<p class="small text-muted mb-1">
Rental Days: <strong><?= $product['rentalDays'] ?> Day(s)</strong>
</p>
<?php if ($product['extraCharge'] > 0): ?>
<p class="small text-muted mb-1">
Extra Charges (<?= $product['rentalDays'] - 3 ?> day(s) @10%/day): ₹<?= number_format($product['extraCharge'], 2) ?>
</p>
<?php endif; ?>
<p class="small text-muted mb-1">
Deposit Amount: ₹<?= number_format($product['depositAmount'], 2) ?>
</p>
</div>
</div>
<!-- Select Rental Days -->
<div class="col-6 col-md-2 mt-2 mt-md-0">
<p class="small text-muted mb-1">
<strong>₹<?= number_format($product['netRentalPrice'], 2) ?></strong>
</p>
</div>
<!-- Select Rental Days -->
<div class="col-6 col-md-2 mt-2 mt-md-0">
<select class="form-control form-control-sm rental-input" onchange="updateCart('<?= $product['product_unique_id'] ?>', this.value, 'rental')">
<?php
$selectedDays = $_SESSION['rental_days'][$product['product_unique_id']] ?? 3;
for ($i = 3; $i <= 30; $i++):
?>
<option value="<?= $i ?>" <?= ($i == $selectedDays) ? 'selected' : '' ?>>
<?= $i ?> Days
</option>
<?php endfor; ?>
</select>
</div>
<!-- Net Refundable Price -->
<div class="col-6 col-md-2 mt-2 mt-md-0">
<span class="total-item d-block fw-bold">₹<?= number_format($product['netRefundable'], 2) ?></span>
</div>
<!-- Remove Button -->
<div class="col-6 col-md-1 mt-2 mt-md-0 text-end">
<a href="cart.php?product_unique_id=<?= $product['product_unique_id'] ?>" class="text-danger remove-item">X</a>
</div>
</div>
<?php endforeach; ?>
<?php endif; ?>
</div>
<div class="d-flex justify-content-between align-items-center mt-4">
<h6 class="fw-bold mb-3 mb-md-0">Grand Total:</h6>
<button type="submit" class="btn btn-success">₹<?= number_format($finalPayableAmount, 2) ?></button>
</div>
</div>
<!-- Right side (Summary) -->
<div class="col-lg-4 cart-summaryview mt-4 mt-lg-0">
<div class="cart-summary p-4 border rounded shadow-sm bg-white">
<?php if (!empty($_SESSION['rentals'])): ?>
<p class="small mb-3 text-muted">
<strong>Note:</strong> A refundable security deposit will be added to your cart.
This deposit is 100% refundable upon the successful return of rented items in their original condition.
</p>
<!-- Rental Deposit -->
<div class="d-flex justify-content-between mb-2">
<span>Total Rent Deposit</span>
<span class="fw-bold text-primary">₹<?= number_format($depositTotal, 2) ?></span>
</div>
<?php endif; ?>
<!-- Sale Amount -->
<?php if (!empty($_SESSION['cart'])): ?>
<div class="d-flex justify-content-between mb-2">
<span>Total Sale Amount</span>
<span class="fw-bold text-primary">₹<?= number_format($saleTotal, 2) ?></span>
</div>
<?php endif; ?>
<!-- Subtotal (Sales + Rentals) -->
<div class="d-flex justify-content-between mb-2">
<span>Subtotal </span>
<span class="fw-bold text-primary">₹<?= number_format($subtotal, 2) ?></span>
</div>
<hr>
<div class="d-flex justify-content-between mb-3 font-18 heading-weight">
<span>Final Payable Amount</span>
<span class="heading-color">₹<?= number_format($finalPayableAmount, 2) ?></span>
</div>
<!-- Agreement Section (only for rentals) -->
<?php if (!empty($_SESSION['rentals'])): ?>
<div class="form-check my-3">
<input class="form-check-input" type="checkbox" id="checkoutAgree">
<label class="form-check-label small" for="checkoutAgree">
I agree with the <a href="#" data-bs-toggle="collapse" data-bs-target="#rentalSummary" aria-expanded="false" aria-controls="rentalSummary">Rental Agreement</a>
</label>
</div>
<!-- Rental Agreement Summary -->
<div class="collapse mt-3 mb-3" id="rentalSummary">
<div class="card card-body small bg-light border">
<h6 class="fw-bold mb-2">Rental Agreement Summary</h6>
<ul class="mb-0 ps-3">
<li>Renter is responsible for returning all items in original condition.</li>
<li>Any damages or missing parts may incur additional charges.</li>
<li>Rental period is fixed and extensions are subject to approval.</li>
<li>Security deposit will be refunded after inspection of the items.</li>
<li>Late returns may result in extra daily charges.</li>
</ul>
</div>
</div>
<?php endif; ?>
<!-- Checkout Button -->
<button
type="button"
id="proceedCheckout"
class="btn w-100 mb-2 text-white fw-semibold py-2"
style="background: #c2185b;"
>
CHECK OUT
</button>
</div>
</div>
<script>
document.getElementById("proceedCheckout").addEventListener("click", function () {
const agree = document.getElementById("checkoutAgree")?.checked || false;
const hasRental = <?= !empty($_SESSION['rentals']) ? 'true' : 'false' ?>;
const hasSale = <?= !empty($_SESSION['cart']) ? 'true' : 'false' ?>;
if (hasRental && !agree) {
alert("Please agree with the Rental Agreement before proceeding.");
return;
}
if (hasRental) {
window.location.href = "checkout.php"; // rental checkout
} else if (hasSale) {
window.location.href = "checkout.php"; // sale checkout
} else {
alert("Your cart is empty. Please add some products first.");
}
});
</script>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
</main>
<!-- main end -->
<script>
function updateCart(productId, value, type) {
let formData = new FormData();
formData.append('product_id', productId);
formData.append('value', value);
formData.append('type', type);
fetch('cart.php', {
method: 'POST',
body: formData
})
.then(res => res.json())
.then(data => {
if(data.success){
location.reload(); // reload to reflect updated totals
} else {
alert(data.message);
}
})
.catch(err => console.error(err));
}
</script>
<script>
document.getElementById("checkoutBtn").addEventListener("click", function () {
const agree = document.getElementById("checkoutAgree").checked;
if (agree) {
// Redirect to checkout.php when agreement is checked
window.location.href = "checkout.php";
} else {
alert("Please agree with the Rental Agreement before proceeding to checkout.");
}
});
</script>
<?php include "common/footer.php"; ?>