« Back to History
dashboard.php
|
20260722_120325.php
Initial Domain Snapshot
Copy Code
<?php declare(strict_types=1); /* =============================== DEBUG – DEV MODE =============================== */ error_reporting(E_ALL); ini_set('display_errors', '1'); /* =============================== AUTH + CONFIG =============================== */ require_once __DIR__ . '/auth.php'; require_login(); require_once __DIR__ . '/config.php'; // ✅ PDO ensured $SHOP_ID = (int)($_SESSION['owner']['shop_id'] ?? 0); if ($SHOP_ID <= 0) { die('Invalid shop session'); } /* =============================== KHATA ENABLE CHECK =============================== */ $cfg = $pdo->prepare(" SELECT khata_enabled FROM system_config WHERE shop_id = ? LIMIT 1 "); $cfg->execute([$SHOP_ID]); $khata_enabled = (bool)$cfg->fetchColumn(); /* =============================== STOCK SUMMARY =============================== */ $stockSummary = []; try { $stmt = $pdo->prepare(" SELECT c.category_name, COUNT(*) AS total_items FROM inventory_stock s INNER JOIN category c ON c.category_id = s.category_id WHERE s.shop_id = ? GROUP BY s.category_id, c.category_name ORDER BY c.category_name "); $stmt->execute([$SHOP_ID]); $stockSummary = $stmt->fetchAll(PDO::FETCH_ASSOC); } catch (Throwable $e) { echo '<pre style="color:red">STOCK ERROR: ' . htmlspecialchars($e->getMessage()) . '</pre>'; } /* =============================== KHATA SUMMARY =============================== */ $khataBalance = null; if ($khata_enabled) { $kStmt = $pdo->prepare(" SELECT COALESCE(SUM(amount), 0) FROM khata_entry WHERE shop_id = ? "); $kStmt->execute([$SHOP_ID]); $khataBalance = (float)$kStmt->fetchColumn(); } /* =============================== HEADER =============================== */ require_once __DIR__ . '/partials/header.php'; ?> <h2 class="page-title">Dashboard</h2> <!-- =============================== STOCK SUMMARY CARD =============================== --> <div class="card"> <h3>Stock Summary</h3> <?php if (empty($stockSummary)): ?> <p class="text-muted">No stock data found.</p> <?php else: ?> <?php foreach ($stockSummary as $row): ?> <a href="category_stock_report.php?category=<?= urlencode($row['category_name']) ?>" class="row-between clickable-row" > <span><?= htmlspecialchars($row['category_name']) ?></span> <strong><?= number_format((int)$row['total_items']) ?></strong> </a> <?php endforeach; ?> <?php endif; ?> </div> <!-- =============================== KHATA SUMMARY (ONLY IF ENABLED) =============================== --> <?php if ($khata_enabled): ?> <div class="card"> <h3>Khata Summary</h3> <?php if ($khataBalance > 0): ?> <p class="text-success"> You will receive ₹<?= number_format($khataBalance, 2) ?> </p> <?php elseif ($khataBalance < 0): ?> <p class="text-danger"> You have to pay ₹<?= number_format(abs($khataBalance), 2) ?> </p> <?php else: ?> <p class="text-muted">All settled.</p> <?php endif; ?> <a href="khata_report.php" class="btn btn-secondary mt-sm"> View Khata Report </a> </div> <?php endif; ?> <?php require_once __DIR__ . '/partials/footer.php';