promociones vigentes de toda la ciudad catalogo.promoscolosio.com -> todo lo del bulevar Colosio, con o sin oferta Colosio NO filtra por oferta: es un directorio, y el gancho de venta es justamente que el vecino aparezca aunque todavia no publique nada. */ $hostSitio = strtolower($_SERVER['HTTP_HOST'] ?? ''); $VITRINA = (strpos($hostSitio, 'promoscolosio.com') !== false) ? 'colosio' : 'promos'; $MARCA = [ 'promos' => [ 'nombre' => 'Las promos de Ags', 'titulo' => 'Las promos de Ags — Las mejores ofertas de Aguascalientes', 'desc' => 'Descubre las mejores promociones y ofertas de negocios locales en Aguascalientes. ¡Ahorra hoy!', 'logo' => 'img/logopromos.png', 'favicon' => 'img/favicon2.png', 'mapa' => 'https://laspromosdeags.com', 'ph' => 'Buscar ofertas en Aguascalientes...', ], 'colosio' => [ 'nombre' => 'Promos Colosio', 'titulo' => 'Promos Colosio — Los negocios del bulevar Colosio', 'desc' => 'Directorio de los negocios del bulevar Luis Donaldo Colosio en Aguascalientes.', 'logo' => 'https://miaguas.com/img/logocolosio.png', 'favicon' => 'https://miaguas.com/img/logocolosio.png', 'mapa' => 'https://www.promoscolosio.com', 'ph' => 'Buscar en el bulevar Colosio...', ], ][$VITRINA]; $filtros = [ "negocio" => $_GET["negocio"] ?? "", "categoria" => $_GET["categoria"] ?? "", "min" => is_numeric($_GET["min"] ?? null) ? (float)$_GET["min"] : null, "max" => is_numeric($_GET["max"] ?? null) ? (float)$_GET["max"] : null, "orden" => $_GET["orden"] ?? "", "q" => trim($_GET["q"] ?? ""), "semilla" => $semilla, ]; if ($VITRINA === 'colosio') { $filtros["vitrina"] = 'colosio'; } else { $filtros["oferta"] = 1; // este sitio SOLO muestra promociones vigentes } $productos = MarketplaceController::ctrBuscarProductos($limite, $offset, $filtros); $negocios = MarketplaceController::ctrObtenerNegocios($VITRINA === 'colosio' ? 'colosio' : ''); $categorias = MarketplaceController::ctrObtenerCategorias(); $q = htmlspecialchars($filtros["q"]); $negocioActivo = $_GET['negocio'] ?? ''; $categoriaActivo = $_GET['categoria'] ?? ''; $hay_filtros = !empty($negocioActivo) || !empty($categoriaActivo) || !empty($_GET['min']) || !empty($_GET['max']); // Helper: formato de fecha legible en español function fechaLegible(?string $fecha): string { if (!$fecha) return ''; $ts = strtotime($fecha); $meses = ['', 'ene', 'feb', 'mar', 'abr', 'may', 'jun', 'jul', 'ago', 'sep', 'oct', 'nov', 'dic']; return date('j', $ts) . ' ' . $meses[(int)date('n', $ts)] . '. ' . date('Y', $ts); } // Helper: días restantes function diasRestantes(?string $fecha): ?int { if (!$fecha) return null; $hoy = new DateTime('today'); $fin = new DateTime($fecha); $diff = $hoy->diff($fin); return $diff->invert ? 0 : (int)$diff->days; } ?>