Current File : /var/www/maausk-app/public/products.php
<?php
// products.php — listado mínimo de productos\session_start();
require_once __DIR__ . '/db.php';

// Verificar sesión
if (!isset($_SESSION['user_email'])) {
    header('Location: /index.php');
    exit;
}

// Obtener todos los productos
$stmt = $pdo->query('SELECT id, reference, name, cover_image_url, price FROM products ORDER BY name');
$products = $stmt->fetchAll();
?>
<!doctype html>
<html lang="es">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>Productos</title>
  <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet">
</head>
<body class="d-flex">

  <?php require_once __DIR__ . '/sidebar.php'; ?>

  <main id="content" class="flex-grow-1 p-4">
    <h2 class="mb-4">Todos los Productos</h2>
    <?php if (empty($products)): ?>
      <div class="alert alert-info">No hay productos disponibles.</div>
    <?php else: ?>
      <div class="row g-4">
        <?php foreach ($products as $prod): ?>
          <div class="col-md-4">
            <div class="card h-100">
              <?php if ($prod['cover_image_url']): ?>
                <img src="<?= htmlspecialchars($prod['cover_image_url']) ?>" class="card-img-top" alt="<?= htmlspecialchars($prod['name']) ?>" style="max-height:150px; object-fit:contain;">
              <?php endif; ?>
              <div class="card-body">
                <h5 class="card-title"><?= htmlspecialchars($prod['reference']) ?></h5>
                <p class="card-text"><?= htmlspecialchars($prod['name']) ?></p>
                <p class="card-text">Precio: <?= number_format($prod['price'], 2) ?> €</p>
                <a href="/product.php?id=<?= $prod['id'] ?>" class="btn btn-primary">Ver detalle</a>
              </div>
            </div>
          </div>
        <?php endforeach; ?>
      </div>
    <?php endif; ?>
  </main>

  <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>