<?php
// panel_productos.php
// ABM de productos/servicios/propiedades que el bot puede ofrecer.

require_once __DIR__ . '/config.php';

/** @var PDO $pdo */
$pdo = db();

$action  = $_GET['action'] ?? 'list';
$id      = isset($_GET['id']) ? (int)$_GET['id'] : 0;
$mensaje = '';

// Eliminar
if ($action === 'delete' && $id > 0) {
    $stmt = $pdo->prepare("DELETE FROM productos WHERE id = :id");
    $stmt->execute([':id' => $id]);
    header("Location: panel_productos.php?msg=Producto%20eliminado");
    exit;
}

// Guardar (crear/editar)
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $id = isset($_POST['id']) ? (int)$_POST['id'] : 0;

    $titulo      = trim($_POST['titulo'] ?? '');
    $descripcion = trim($_POST['descripcion'] ?? '');
    $categoria   = trim($_POST['categoria'] ?? '');
    $tipo        = trim($_POST['tipo'] ?? '');
    $barrio      = trim($_POST['barrio'] ?? '');
    $ciudad      = trim($_POST['ciudad'] ?? '');
    $precio      = $_POST['precio'] !== '' ? (float)$_POST['precio'] : null;
    $moneda      = trim($_POST['moneda'] ?? 'ARS');
    $foto_url    = trim($_POST['foto_url'] ?? '');
    $link_pago   = trim($_POST['link_pago'] ?? '');
    $destacado   = isset($_POST['destacado']) ? 1 : 0;
    $activo      = isset($_POST['activo']) ? 1 : 0;

    if ($titulo === '') {
        $mensaje = 'El título es obligatorio.';
        $action  = $id > 0 ? 'edit' : 'new';
    } else {
        if ($id > 0) {
            $stmt = $pdo->prepare("
                UPDATE productos
                SET titulo      = :titulo,
                    descripcion = :descripcion,
                    categoria   = :categoria,
                    tipo        = :tipo,
                    barrio      = :barrio,
                    ciudad      = :ciudad,
                    precio      = :precio,
                    moneda      = :moneda,
                    foto_url    = :foto_url,
                    link_pago   = :link_pago,
                    destacado   = :destacado,
                    activo      = :activo,
                    updated_at  = NOW()
                WHERE id = :id
            ");
            $stmt->execute([
                ':titulo'      => $titulo,
                ':descripcion' => $descripcion,
                ':categoria'   => $categoria,
                ':tipo'        => $tipo,
                ':barrio'      => $barrio,
                ':ciudad'      => $ciudad,
                ':precio'      => $precio,
                ':moneda'      => $moneda,
                ':foto_url'    => $foto_url,
                ':link_pago'   => $link_pago,
                ':destacado'   => $destacado,
                ':activo'      => $activo,
                ':id'          => $id,
            ]);
            header("Location: panel_productos.php?msg=Producto%20actualizado");
            exit;
        } else {
            $stmt = $pdo->prepare("
                INSERT INTO productos
                (titulo, descripcion, categoria, tipo, barrio, ciudad,
                 precio, moneda, foto_url, link_pago, destacado, activo, created_at, updated_at)
                VALUES
                (:titulo, :descripcion, :categoria, :tipo, :barrio, :ciudad,
                 :precio, :moneda, :foto_url, :link_pago, :destacado, :activo, NOW(), NOW())
            ");
            $stmt->execute([
                ':titulo'      => $titulo,
                ':descripcion' => $descripcion,
                ':categoria'   => $categoria,
                ':tipo'        => $tipo,
                ':barrio'      => $barrio,
                ':ciudad'      => $ciudad,
                ':precio'      => $precio,
                ':moneda'      => $moneda,
                ':foto_url'    => $foto_url,
                ':link_pago'   => $link_pago,
                ':destacado'   => $destacado,
                ':activo'      => $activo,
            ]);
            header("Location: panel_productos.php?msg=Producto%20creado");
            exit;
        }
    }
}

// Cargar producto para edición
$producto = null;
if ($action === 'edit' && $id > 0) {
    $stmt = $pdo->prepare("SELECT * FROM productos WHERE id = :id");
    $stmt->execute([':id' => $id]);
    $producto = $stmt->fetch(PDO::FETCH_ASSOC);
    if (!$producto) {
        $mensaje = 'Producto no encontrado.';
        $action  = 'list';
    }
}

// Listado
$busqueda = trim($_GET['q'] ?? '');
$rows     = [];
if ($action === 'list') {
    $sql    = "SELECT * FROM productos WHERE 1=1";
    $params = [];

    if ($busqueda !== '') {
        $sql .= " AND (
            titulo LIKE :q OR
            descripcion LIKE :q OR
            categoria LIKE :q OR
            tipo LIKE :q OR
            barrio LIKE :q OR
            ciudad LIKE :q
        )";
        $params[':q'] = '%' . $busqueda . '%';
    }

    $sql .= " ORDER BY activo DESC, destacado DESC, created_at DESC";
    $stmt = $pdo->prepare($sql);
    $stmt->execute($params);
    $rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
}

$msgGet = $_GET['msg'] ?? '';

?>
<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="UTF-8">
    <title>Panel de Productos/Servicios</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <!-- Bootstrap -->
    <link rel="stylesheet"
          href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css">
    <style>
        body { background: #0b141a; color: #eee; }
        h1, h2, .form-label { color: #fff; }
        .card { background: #202c33; border-color: #333; }
        .form-control, .form-select {
            background: #111;
            color: #eee;
            border: 1px solid #333;
        }
        .form-control:focus, .form-select:focus {
            background: #111; color: #fff;
            border-color: #00a884;
            box-shadow: 0 0 0 0.1rem rgba(0,168,132,0.5);
        }
        .form-control::placeholder {
            color: #999;       /* placeholder más claro para que se lea */
            opacity: 1;
        }
        a { text-decoration: none; }
        .badge-activo { background: #00a884; }
        .badge-inactivo { background: #6c757d; }
        .badge-destacado { background: #ffc107; color: #000; }
    </style>
</head>
<body class="py-4">
<div class="container">
    <h1 class="mb-3">Productos / Servicios / Propiedades</h1>

    <?php if ($msgGet !== ''): ?>
        <div class="alert alert-success"><?= htmlspecialchars($msgGet) ?></div>
    <?php endif; ?>

    <?php if ($mensaje !== ''): ?>
        <div class="alert alert-warning"><?= htmlspecialchars($mensaje) ?></div>
    <?php endif; ?>

    <?php if ($action === 'list'): ?>
        <div class="d-flex justify-content-between align-items-center mb-3">
            <form method="get" class="d-flex" style="gap: 0.5rem;">
                <input type="hidden" name="action" value="list">
                <input type="text"
                       name="q"
                       class="form-control"
                       style="width: 260px;"
                       placeholder="Buscar..."
                       value="<?= htmlspecialchars($busqueda) ?>">
                <button type="submit" class="btn btn-outline-light">Buscar</button>
            </form>
            <a href="panel_productos.php?action=new" class="btn btn-success">Nuevo producto</a>
        </div>

        <div class="card">
            <div class="card-body p-0">
                <div class="table-responsive">
                    <table class="table table-sm table-dark mb-0">
                        <thead>
                        <tr>
                            <th>ID</th>
                            <th>Título</th>
                            <th>Categoría</th>
                            <th>Barrio</th>
                            <th>Ciudad</th>
                            <th>Precio</th>
                            <th>Pago</th>
                            <th>Estado</th>
                            <th></th>
                        </tr>
                        </thead>
                        <tbody>
                        <?php if (empty($rows)): ?>
                            <tr>
                                <td colspan="9" class="text-center py-3">No hay productos cargados.</td>
                            </tr>
                        <?php else: ?>
                            <?php foreach ($rows as $r): ?>
                                <tr>
                                    <td><?= (int)$r['id'] ?></td>
                                    <td>
                                        <strong><?= htmlspecialchars($r['titulo']) ?></strong><br>
                                        <small><?= htmlspecialchars($r['tipo'] ?: '') ?></small>
                                    </td>
                                    <td><?= htmlspecialchars($r['categoria'] ?: '-') ?></td>
                                    <td><?= htmlspecialchars($r['barrio'] ?: '-') ?></td>
                                    <td><?= htmlspecialchars($r['ciudad'] ?: '-') ?></td>
                                    <td>
                                        <?php if ($r['precio'] !== null): ?>
                                            <?= htmlspecialchars($r['moneda']) ?>
                                            <?= number_format((float)$r['precio'], 0, ',', '.') ?>
                                        <?php else: ?>
                                            -
                                        <?php endif; ?>
                                    </td>
                                    <td>
                                        <?php if (!empty($r['link_pago'])): ?>
                                            <span class="badge bg-info">Link</span>
                                        <?php else: ?>
                                            -
                                        <?php endif; ?>
                                    </td>
                                    <td>
                                        <?php if ((int)$r['activo'] === 1): ?>
                                            <span class="badge badge-activo">Activo</span>
                                        <?php else: ?>
                                            <span class="badge badge-inactivo">Inactivo</span>
                                        <?php endif; ?>
                                        <?php if ((int)$r['destacado'] === 1): ?>
                                            <span class="badge badge-destacado">Destacado</span>
                                        <?php endif; ?>
                                    </td>
                                    <td class="text-end">
                                        <a href="panel_productos.php?action=edit&id=<?= (int)$r['id'] ?>"
                                           class="btn btn-sm btn-outline-light">Editar</a>
                                        <a href="panel_productos.php?action=delete&id=<?= (int)$r['id'] ?>"
                                           class="btn btn-sm btn-outline-danger"
                                           onclick="return confirm('¿Eliminar este producto?');">Eliminar</a>
                                    </td>
                                </tr>
                            <?php endforeach; ?>
                        <?php endif; ?>
                        </tbody>
                    </table>
                </div>
            </div>
        </div>

    <?php else: ?>
        <?php
        $isEdit    = ($action === 'edit' && $producto);
        $tituloFrm = $isEdit ? 'Editar producto' : 'Nuevo producto';

        $val = function(string $key, $default = '') use ($producto) {
            if ($producto && array_key_exists($key, $producto)) {
                return $producto[$key];
            }
            return $default;
        };
        ?>
        <div class="d-flex justify-content-between align-items-center mb-3">
            <h2 class="mb-0"><?= htmlspecialchars($tituloFrm) ?></h2>
            <a href="panel_productos.php" class="btn btn-outline-light">Volver al listado</a>
        </div>

        <div class="card">
            <div class="card-body">
                <form method="post">
                    <input type="hidden" name="id"
                           value="<?= $isEdit ? (int)$producto['id'] : 0 ?>">

                    <div class="mb-3">
                        <label for="titulo" class="form-label">Título *</label>
                        <input type="text"
                               name="titulo"
                               id="titulo"
                               class="form-control"
                               required
                               value="<?= htmlspecialchars($val('titulo')) ?>">
                    </div>

                    <div class="mb-3">
                        <label for="descripcion" class="form-label">Descripción</label>
                        <textarea name="descripcion"
                                  id="descripcion"
                                  class="form-control"
                                  rows="4"><?= htmlspecialchars($val('descripcion')) ?></textarea>
                    </div>

                    <div class="row mb-3">
                        <div class="col-md-3">
                            <label for="categoria" class="form-label">Categoría</label>
                            <input type="text"
                                   name="categoria"
                                   id="categoria"
                                   class="form-control"
                                   placeholder="casa, depto, servicio..."
                                   value="<?= htmlspecialchars($val('categoria')) ?>">
                        </div>
                        <div class="col-md-3">
                            <label for="tipo" class="form-label">Tipo</label>
                            <input type="text"
                                   name="tipo"
                                   id="tipo"
                                   class="form-control"
                                   placeholder="venta, alquiler, etc."
                                   value="<?= htmlspecialchars($val('tipo')) ?>">
                        </div>
                        <div class="col-md-3">
                            <label for="barrio" class="form-label">Barrio</label>
                            <input type="text"
                                   name="barrio"
                                   id="barrio"
                                   class="form-control"
                                   value="<?= htmlspecialchars($val('barrio')) ?>">
                        </div>
                        <div class="col-md-3">
                            <label for="ciudad" class="form-label">Ciudad</label>
                            <input type="text"
                                   name="ciudad"
                                   id="ciudad"
                                   class="form-control"
                                   value="<?= htmlspecialchars($val('ciudad')) ?>">
                        </div>
                    </div>

                    <div class="row mb-3">
                        <div class="col-md-3">
                            <label for="precio" class="form-label">Precio</label>
                            <input type="number"
                                   step="0.01"
                                   name="precio"
                                   id="precio"
                                   class="form-control"
                                   value="<?= $val('precio') !== null ? htmlspecialchars($val('precio')) : '' ?>">
                        </div>
                        <div class="col-md-2">
                            <label for="moneda" class="form-label">Moneda</label>
                            <input type="text"
                                   name="moneda"
                                   id="moneda"
                                   class="form-control"
                                   value="<?= htmlspecialchars($val('moneda', 'ARS')) ?>">
                        </div>
                        <div class="col-md-3">
                            <label for="foto_url" class="form-label">Foto URL</label>
                            <input type="text"
                                   name="foto_url"
                                   id="foto_url"
                                   class="form-control"
                                   value="<?= htmlspecialchars($val('foto_url')) ?>">
                        </div>
                        <div class="col-md-4">
                            <label for="link_pago" class="form-label">Link de pago (Mercado Pago)</label>
                            <input type="text"
                                   name="link_pago"
                                   id="link_pago"
                                   class="form-control"
                                   placeholder="https://mpago.la/..."
                                   value="<?= htmlspecialchars($val('link_pago')) ?>">
                        </div>
                    </div>

                    <div class="row mb-3">
                        <div class="col-md-6 d-flex align-items-center">
                            <div class="form-check me-3">
                                <input class="form-check-input"
                                       type="checkbox"
                                       id="destacado"
                                       name="destacado"
                                       value="1"
                                       <?= (int)$val('destacado', 0) === 1 ? 'checked' : '' ?>>
                                <label class="form-check-label" for="destacado">Destacado</label>
                            </div>
                            <div class="form-check">
                                <input class="form-check-input"
                                       type="checkbox"
                                       id="activo"
                                       name="activo"
                                       value="1"
                                       <?= (int)$val('activo', 1) === 1 ? 'checked' : '' ?>>
                                <label class="form-check-label" for="activo">Activo</label>
                            </div>
                        </div>
                    </div>

                    <button type="submit" class="btn btn-success">Guardar</button>
                </form>
            </div>
        </div>
    <?php endif; ?>

</div>
</body>
</html>
