| Server IP : 3.111.61.48 / Your IP : 216.73.216.67 Web Server : Apache System : Linux ip-10-0-5-176 6.8.0-1057-aws #60~22.04.1-Ubuntu SMP Wed May 27 08:16:59 UTC 2026 x86_64 User : ubuntu ( 1000) PHP Version : 8.2.31 Disable Function : exec,passthru,shell_exec,system MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /var/www/vhost/book.gyaniguru.org/ |
Upload File : |
<?php
$page_title = "Track Your Divine Order — GyaniGuru by JMC";
include 'includes/header.php';
$order_id = $_GET['id'] ?? '';
$email = $_GET['email'] ?? '';
$order_found = false;
$order_data = null;
if (!empty($order_id) && !empty($email)) {
// Search for order
$sql = "SELECT o.*, u.email as user_email FROM orders o
JOIN users u ON o.user_id = u.id
WHERE o.id = ? AND u.email = ?";
$order_data = get_row($sql, [$order_id, $email]);
if ($order_data) {
$order_found = true;
} else {
$error = "Order not found with these details. Please check and try again! 🙏";
}
}
?>
<style>
.track-section { padding: 80px 0; background: var(--warm-white); min-height: 70vh; }
.track-card { background: white; border-radius: 20px; box-shadow: 0 15px 50px rgba(0,0,0,0.08); border: 1px solid var(--cream-dark); overflow: hidden; }
/* Stepper Styling */
.stepper-wrap { display: flex; justify-content: space-between; position: relative; margin-bottom: 50px; padding: 0 20px; }
.stepper-wrap::before { content: ''; position: absolute; top: 25px; left: 50px; right: 50px; height: 3px; background: var(--cream-dark); z-index: 0; }
.step-item { position: relative; z-index: 1; text-align: center; width: 100px; }
.step-icon { width: 55px; height: 55px; background: white; border: 3px solid var(--cream-dark); border-radius: 50%; display: flex; align-items: center; justify-content: center; margin: 0 auto 12px; color: var(--text-light); transition: 0.4s; font-size: 1.2rem; }
.step-label { font-size: 0.75rem; font-weight: 700; color: var(--text-light); text-transform: uppercase; letter-spacing: 1px; }
.step-item.active .step-icon { background: var(--maroon); border-color: var(--gold); color: var(--gold); transform: scale(1.15); box-shadow: 0 0 15px rgba(128, 0, 32, 0.3); }
.step-item.active .step-label { color: var(--maroon); }
.step-item.completed .step-icon { background: #27ae60; border-color: #27ae60; color: white; }
.step-item.completed .step-label { color: #27ae60; }
.stepper-progress { position: absolute; top: 25px; left: 50px; height: 3px; background: var(--maroon); z-index: 0; transition: 0.8s ease; }
.track-info-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 20px; margin-top: 30px; }
.info-box { background: var(--warm-white); padding: 20px; border-radius: 15px; border: 1px solid var(--cream-dark); }
.info-box h6 { color: var(--maroon); margin-bottom: 5px; font-weight: 700; }
</style>
<div class="page-header py-5" style="background: var(--gradient-divine); border-bottom: 2px solid var(--gold); color: white;">
<div class="container text-center py-3">
<h1 class="font-cinzel m-0 text-white">Track Order</h1>
<p class="m-0" style="color: var(--gold-light); opacity: 0.8;">Keep an eye on your journey of wisdom</p>
</div>
</div>
<div class="track-section">
<div class="container">
<div class="row justify-content-center">
<div class="col-lg-8">
<!-- Search Form -->
<div class="track-card p-4 p-md-5 mb-5" data-aos="fade-up">
<h4 class="font-cinzel mb-4 text-center" style="color: var(--maroon)">Divine Tracking</h4>
<form action="" method="GET" class="row g-3">
<div class="col-md-5">
<label class="form-label small fw-bold text-uppercase" style="color: var(--text-light)">Order ID</label>
<input type="text" name="id" class="form-control form-control-lg" placeholder="ORD-XXXX" value="<?php echo htmlspecialchars($order_id); ?>" required>
</div>
<div class="col-md-5">
<label class="form-label small fw-bold text-uppercase" style="color: var(--text-light)">Registered Email</label>
<input type="email" name="email" class="form-control form-control-lg" placeholder="your@email.com" value="<?php echo htmlspecialchars($email); ?>" required>
</div>
<div class="col-md-2 d-flex align-items-end">
<button type="submit" class="btn btn-saffron w-100 py-3" style="border-radius: 8px;"><i class="bi bi-search"></i></button>
</div>
</form>
<?php if(isset($error)): ?>
<div class="alert alert-danger mt-4 py-2" style="font-size: 0.9rem;">
<i class="bi bi-exclamation-triangle-fill me-2"></i> <?php echo $error; ?>
</div>
<?php endif; ?>
</div>
<?php if ($order_found): ?>
<!-- Tracking Results -->
<div class="track-card p-4 p-md-5" data-aos="fade-up">
<div class="d-flex justify-content-between align-items-start mb-5 pb-4 border-bottom">
<div>
<span class="badge bg-gold text-dark mb-2 px-3">🔱 Order Confirmed</span>
<h3 class="font-cinzel m-0" style="color: var(--maroon)">#ORD-<?php echo $order_data['id']; ?></h3>
</div>
<div class="text-end">
<div class="text-muted small text-uppercase fw-bold">Grand Total</div>
<h4 class="m-0 fw-bold" style="color: var(--gerua-deep)">₹<?php echo $order_data['total_amount']; ?></h4>
</div>
</div>
<?php
$status = $order_data['status'];
$steps = ['Pending', 'Processing', 'Shipped', 'Delivered'];
$current_idx = array_search($status, $steps);
$progress_pct = ($current_idx / (count($steps) - 1)) * 100;
?>
<!-- Visual Stepper -->
<div class="stepper-wrap">
<div class="stepper-progress" style="width: <?php echo $progress_pct; ?>%"></div>
<div class="step-item <?php echo $current_idx >= 0 ? ($current_idx > 0 ? 'completed' : 'active') : ''; ?>">
<div class="step-icon"><i class="bi bi-receipt"></i></div>
<div class="step-label">Placed</div>
</div>
<div class="step-item <?php echo $current_idx >= 1 ? ($current_idx > 1 ? 'completed' : 'active') : ''; ?>">
<div class="step-icon"><i class="bi bi-gear-wide-connected"></i></div>
<div class="step-label">Preparing</div>
</div>
<div class="step-item <?php echo $current_idx >= 2 ? ($current_idx > 2 ? 'completed' : 'active') : ''; ?>">
<div class="step-icon"><i class="bi bi-truck"></i></div>
<div class="step-label">On Way</div>
</div>
<div class="step-item <?php echo $current_idx >= 3 ? ($current_idx > 3 ? 'completed' : 'active') : ''; ?>">
<div class="step-icon"><i class="bi bi-gift"></i></div>
<div class="step-label">Arrived</div>
</div>
</div>
<!-- Status Description -->
<div class="text-center mb-5">
<?php if($status == 'Pending'): ?>
<h5 style="color: var(--gerua-dark)">Order Received 🙏</h5>
<p class="text-muted small">We have received your order and it's waiting for approval.</p>
<?php elseif($status == 'Processing'): ?>
<h5 style="color: var(--maroon)">Blessings are being prepared ✨</h5>
<p class="text-muted small">Your divine books are being carefully packed for their journey.</p>
<?php elseif($status == 'Shipped'): ?>
<h5 style="color: #2980b9">The Wisdom is Traveling 🛣️</h5>
<p class="text-muted small">Your order has been handed over to our delivery partners.</p>
<?php elseif($status == 'Delivered'): ?>
<h5 style="color: #27ae60">Divine Journey Complete 🔱</h5>
<p class="text-muted small">Your books have been delivered. May they bring light to your life.</p>
<?php endif; ?>
</div>
<div class="track-info-grid">
<div class="info-box">
<h6>Delivery Location</h6>
<p class="m-0 small text-muted" style="white-space: pre-line;"><?php echo $order_data['shipping_address']; ?></p>
</div>
<div class="info-box">
<h6>Payment</h6>
<p class="m-0 small text-muted"><?php echo $order_data['payment_method']; ?></p>
<?php if ($order_data['payment_method'] === 'Online'): ?>
<p class="m-0 small text-success fw-bold">Paid via Razorpay</p>
<p class="m-0 small text-muted" style="font-size:0.7rem">ID: <?php echo $order_data['razorpay_payment_id']; ?></p>
<?php else: ?>
<p class="m-0 small text-success fw-bold"><?php echo $order_data['status'] == 'Delivered' ? 'Paid' : 'Payable on Delivery'; ?></p>
<?php endif; ?>
</div>
<div class="info-box">
<h6>Support</h6>
<p class="m-0 small text-muted">Need help? <br> +91 98765 43210</p>
</div>
</div>
<div class="text-center mt-5">
<a href="shop.php" class="btn btn-outline-gold px-5">Continue Exploring 🕉️</a>
</div>
</div>
<?php endif; ?>
</div>
</div>
</div>
</div>
<?php include 'includes/footer.php'; ?>