œ_#ÁÕ§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
include "connection/config.php";
// Handle status update (AJAX or form POST)
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['order_id'], $_POST['order_status'])) {
$stmtUpdate = $pdo->prepare("UPDATE allorders SET order_status = ? WHERE allorder_id = ?");
$stmtUpdate->execute([$_POST['order_status'], $_POST['order_id']]);
header("Location: ".$_SERVER['PHP_SELF']);
exit;
}
// Fetch all orders with customer details
$stmtOrders = $pdo->prepare("
SELECT o.*, c.first_name, c.last_name, c.email, c.phone
FROM allorders o
JOIN customers c ON o.customer_id = c.customer_id
ORDER BY o.created_at DESC
");
$stmtOrders->execute();
$orders = $stmtOrders->fetchAll();
// Fetch all product returns with customer details
$stmtReturns = $pdo->prepare("
SELECT r.*, c.first_name, c.last_name, c.email, c.phone
FROM product_returns r
JOIN customers c ON r.customer_id = c.customer_id
ORDER BY r.created_at DESC
");
$stmtReturns->execute();
$returns = $stmtReturns->fetchAll();
include "common/header.php"
?>
<!-- ==================================================== -->
<!-- Start right Content here -->
<!-- ==================================================== -->
<div class="page-content">
<!-- Start Container Fluid -->
<div class="container-fluid">
<!-- Start here.... -->
<div class="row">
<div class="col-xxl-5">
<div class="row">
<div class="col-12">
<div class="alert alert-primary text-truncate mb-3" role="alert">
We regret to inform you that our server is currently experiencing technical difficulties.
</div>
</div>
<div class="col-md-6">
<div class="card overflow-hidden">
<div class="card-body">
<div class="row">
<div class="col-6">
<div class="avatar-md bg-soft-primary rounded">
<iconify-icon icon="solar:cart-5-bold-duotone" class="avatar-title fs-32 text-primary"></iconify-icon>
</div>
</div> <!-- end col -->
<div class="col-6 text-end">
<p class="text-muted mb-0 text-truncate">Total Orders</p>
<h3 class="text-dark mt-1 mb-0">13, 647</h3>
</div> <!-- end col -->
</div> <!-- end row-->
</div> <!-- end card body -->
<div class="card-footer py-2 bg-light bg-opacity-50">
<div class="d-flex align-items-center justify-content-between">
<div>
<span class="text-success"> <i class="bx bxs-up-arrow fs-12"></i> 2.3%</span>
<span class="text-muted ms-1 fs-12">Last Week</span>
</div>
<a href="#!" class="text-reset fw-semibold fs-12">View More</a>
</div>
</div> <!-- end card body -->
</div> <!-- end card -->
</div> <!-- end col -->
<div class="col-md-6">
<div class="card overflow-hidden">
<div class="card-body">
<div class="row">
<div class="col-6">
<div class="avatar-md bg-soft-primary rounded">
<i class="bx bx-award avatar-title fs-24 text-primary"></i>
</div>
</div> <!-- end col -->
<div class="col-6 text-end">
<p class="text-muted mb-0 text-truncate">New Leads</p>
<h3 class="text-dark mt-1 mb-0">9, 526</h3>
</div> <!-- end col -->
</div> <!-- end row-->
</div> <!-- end card body -->
<div class="card-footer py-2 bg-light bg-opacity-50">
<div class="d-flex align-items-center justify-content-between">
<div>
<span class="text-success"> <i class="bx bxs-up-arrow fs-12"></i> 8.1%</span>
<span class="text-muted ms-1 fs-12">Last Month</span>
</div>
<a href="#!" class="text-reset fw-semibold fs-12">View More</a>
</div>
</div> <!-- end card body -->
</div> <!-- end card -->
</div> <!-- end col -->
<div class="col-md-6">
<div class="card overflow-hidden">
<div class="card-body">
<div class="row">
<div class="col-6">
<div class="avatar-md bg-soft-primary rounded">
<i class="bx bxs-backpack avatar-title fs-24 text-primary"></i>
</div>
</div> <!-- end col -->
<div class="col-6 text-end">
<p class="text-muted mb-0 text-truncate">Deals</p>
<h3 class="text-dark mt-1 mb-0">976</h3>
</div> <!-- end col -->
</div> <!-- end row-->
</div> <!-- end card body -->
<div class="card-footer py-2 bg-light bg-opacity-50">
<div class="d-flex align-items-center justify-content-between">
<div>
<span class="text-danger"> <i class="bx bxs-down-arrow fs-12"></i> 0.3%</span>
<span class="text-muted ms-1 fs-12">Last Month</span>
</div>
<a href="#!" class="text-reset fw-semibold fs-12">View More</a>
</div>
</div> <!-- end card body -->
</div> <!-- end card -->
</div> <!-- end col -->
<div class="col-md-6">
<div class="card overflow-hidden">
<div class="card-body">
<div class="row">
<div class="col-6">
<div class="avatar-md bg-soft-primary rounded">
<i class="bx bx-dollar-circle avatar-title text-primary fs-24"></i>
</div>
</div> <!-- end col -->
<div class="col-6 text-end">
<p class="text-muted mb-0 text-truncate">Booked Revenue</p>
<h3 class="text-dark mt-1 mb-0">$123.6k</h3>
</div> <!-- end col -->
</div> <!-- end row-->
</div> <!-- end card body -->
<div class="card-footer py-2 bg-light bg-opacity-50">
<div class="d-flex align-items-center justify-content-between">
<div>
<span class="text-danger"> <i class="bx bxs-down-arrow fs-12"></i> 10.6%</span>
<span class="text-muted ms-1 fs-12">Last Month</span>
</div>
<a href="#!" class="text-reset fw-semibold fs-12">View More</a>
</div>
</div> <!-- end card body -->
</div> <!-- end card -->
</div> <!-- end col -->
</div> <!-- end row -->
</div> <!-- end col -->
<div class="col-xxl-7">
<div class="card">
<div class="card-body">
<div class="d-flex justify-content-between align-items-center">
<h4 class="card-title">Performance</h4>
<div>
<button type="button" class="btn btn-sm btn-outline-light">ALL</button>
<button type="button" class="btn btn-sm btn-outline-light">1M</button>
<button type="button" class="btn btn-sm btn-outline-light">6M</button>
<button type="button" class="btn btn-sm btn-outline-light active">1Y</button>
</div>
</div> <!-- end card-title-->
<div dir="ltr">
<div id="dash-performance-chart" class="apex-charts"></div>
</div>
</div> <!-- end card body -->
</div> <!-- end card -->
</div> <!-- end col -->
</div> <!-- end row -->
<div class="row">
</div> <!-- end row -->
<div class="row">
<div class="col">
<div class="card">
<div class="card-body">
<div class="d-flex align-items-center justify-content-between">
<h4 class="card-title">
Recent Orders
</h4>
<a href="#!" class="btn btn-sm btn-soft-primary">
<i class="bx bx-plus me-1"></i>Create Order
</a>
</div>
</div>
<!-- end card body -->
<div class="table-responsive table-centered">
<table class="table align-middle mb-0 table-hover table-centered">
<thead class="bg-light-subtle border-bottom">
<tr>
<th>SL.No.</th>
<th>Order ID</th>
<th>Customer Name</th>
<th>Status</th>
<th>Total Amount</th>
<th>No. of Items</th>
<th>Payment Status</th>
<th>Payment Method</th>
<th>Action</th>
</tr>
</thead>
<tbody>
<tbody>
<?php foreach ($orders as $orderIndex => $order): ?>
<?php
// Count items from order_json (since no order_items table is tied to allorders)
$orderItems = json_decode($order['order_json'], true);
$itemCount = is_array($orderItems) ? count($orderItems) : 0;
// Payment info
$stmtPayment = $pdo->prepare("SELECT * FROM payments WHERE allorder_id = ?");
$stmtPayment->execute([$order['allorder_id']]);
$payment = $stmtPayment->fetch();
$paymentStatus = $payment ? ucfirst($payment['payment_status']) : 'No Payment';
$paymentMethod = $payment ? ucfirst($payment['payment_method']) : 'Cash';
?>
<tr>
<td><?php echo $orderIndex + 1; ?></td>
<td><?php echo $order['allorder_id']; ?></td>
<td><?php echo htmlspecialchars($order['first_name'] . ' ' . $order['last_name']); ?></td>
<td>
<form method="post" style="display:inline;">
<input type="hidden" name="order_id" value="<?php echo $order['allorder_id']; ?>">
<select name="order_status" class="form-select form-select-sm" onchange="this.form.submit()">
<?php
$statuses = ['pending','confirmed','shipped','delivered','cancelled','active','returned','overdue'];
foreach ($statuses as $status): ?>
<option value="<?php echo $status; ?>" <?php if ($order['order_status'] === $status) echo 'selected'; ?>>
<?php echo ucfirst($status); ?>
</option>
<?php endforeach; ?>
</select>
</form>
</td>
<td>₹<?php echo number_format($order['final_amount'], 2); ?></td>
<td><?php echo $itemCount; ?></td>
<td><?php echo $paymentStatus; ?></td>
<td><?php echo $paymentMethod; ?></td>
<td>
<a href="orderdetail.php?allorder=<?php echo $order['allorder_id']; ?>">
<button type="button" class="btn btn-primary btn-sm">
View Order Details
</button>
</a>
</td>
</tr>
<?php endforeach; ?>
</tbody>
</tbody>
</table>
</div>
</div>
<!-- end card -->
</div>
<!-- end col -->
</div> <!-- end row -->
<div class="row">
<div class="col">
<div class="card">
<div class="card-body">
<div class="d-flex align-items-center justify-content-between">
<h4 class="card-title">
Return Orders
</h4>
<a href="#!" class="btn btn-sm btn-soft-primary">
<i class="bx bx-plus me-1"></i>Create Order
</a>
</div>
</div>
<div class="table-responsive">
<table class="table align-middle mb-0 table-hover table-centered">
<thead class="bg-light-subtle border-bottom">
<tr>
<th>SL.No.</th>
<th>Return ID</th>
<th>Order ID</th>
<th>Customer</th>
<th>Return Date</th>
<th>Status</th>
<th>Bank Details</th>
<th>Notes</th>
<th>Return PDF</th>
<th>Action</th>
</tr>
</thead>
<tbody>
<?php foreach ($returns as $index => $ret): ?>
<?php
$items = json_decode($ret['items_json'], true);
$itemsCount = is_array($items) ? count($items) : 0;
?>
<tr>
<td><?= $index + 1; ?></td>
<td><?= $ret['return_id']; ?></td>
<td><?= $ret['allorder_id']; ?></td>
<td>
<?= htmlspecialchars($ret['first_name'] . ' ' . $ret['last_name']); ?><br>
<small><?= $ret['email']; ?> | <?= $ret['phone']; ?></small>
</td>
<td><?= $ret['return_date']; ?></td>
<td>
<form method="post" style="display:inline;">
<input type="hidden" name="return_id" value="<?= $ret['return_id']; ?>">
<select name="return_status" class="form-select form-select-sm" onchange="this.form.submit()">
<?php
$statuses = ['Pending','Approved','Rejected','Refunded'];
foreach ($statuses as $status): ?>
<option value="<?= $status; ?>" <?php if ($ret['status'] === $status) echo 'selected'; ?>>
<?= $status; ?>
</option>
<?php endforeach; ?>
</select>
</form>
</td>
<td>
<?= htmlspecialchars($ret['bank_account_name']); ?><br>
<?= $ret['bank_account_number']; ?> (<?= $ret['ifsc_code']; ?>)<br>
<?= $ret['bank_name']; ?>, <?= $ret['bank_branch']; ?>
</td>
<td><?= nl2br(htmlspecialchars($ret['customer_notes'])); ?></td>
<td>
<?php if ($ret['return_pdf']): ?>
<a href="../<?= $ret['return_pdf']; ?>" target="_blank">Download PDF</a>
<?php else: ?>
No PDF
<?php endif; ?>
</td>
<td>
<button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#exampleModal<?= $ret['return_id']; ?>">View</button>
</td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
</div>
<?php foreach ($returns as $index => $ret): ?>
<!-- Modal -->
<div class="modal fade" id="exampleModal<?= $ret['return_id']; ?>" tabindex="-1" aria-labelledby="exampleModalLabel<?= $ret['return_id']; ?>" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel"><?= htmlspecialchars($ret['first_name'] . ' ' . $ret['last_name']); ?><br>
<small><?= $ret['email']; ?> | <?= $ret['phone']; ?></small></h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<table class="table table-bordered table-hover">
<thead class="table-light">
<tr>
<th>SL.No.</th>
<th>Product</th>
<th>Price</th>
</tr>
</thead>
<tbody>
<?php
$items = json_decode($ret['items_json'], true) ?: []; // Decode JSON
foreach ($items as $i => $item):
// Fetch product details
$stmtProduct = $pdo->prepare("SELECT product_name, thumbnail_image FROM products WHERE product_id = ?");
$stmtProduct->execute([$item['product_id']]);
$product = $stmtProduct->fetch(PDO::FETCH_ASSOC);
?>
<tr>
<td><?= $i + 1; ?></td>
<td>
<?php if ($product): ?>
<img src="../<?= htmlspecialchars($product['thumbnail_image'] ?? 'placeholder.png'); ?>"
alt="<?= htmlspecialchars($product['product_name'] ?? 'Product'); ?>"
style="width:50px; height:50px; margin-right:5px;">
<?= htmlspecialchars($product['product_name'] ?? 'Product'); ?>
<?php else: ?>
Product not found
<?php endif; ?>
</td>
<td>₹<?= htmlspecialchars($item['price'] ?? '0'); ?></td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary">Save changes</button>
</div>
</div>
</div>
</div>
<?php endforeach; ?>
</div>
<!-- end card -->
</div>
<!-- end col -->
</div> <!-- end row -->
</div>
<!-- End Container Fluid -->
<!-- ========== Footer Start ========== -->
<?php include "common/footer.php" ?>
<!-- ========== Footer End ========== -->
</div>
</div>
<script src="assets/js/vendor.js"></script>
<script src="assets/js/app.js"></script>
<script src="assets/vendor/jsvectormap/js/jsvectormap.min.js"></script>
<script src="assets/vendor/jsvectormap/maps/world-merc.js"></script>
<script src="assets/vendor/jsvectormap/maps/world.js"></script>
<script src="assets/js/pages/dashboard.js"></script>
</body>
</html>