<?php
include 'config.php';

// Obtener todas las aplicaciones activas y sus categorías
$query = $conexion->query("SELECT apps.*, categorias.nombre AS categoria FROM apps 
                           JOIN categorias ON apps.categoria_id = categorias.id 
                           WHERE apps.activa = 1 ORDER BY categorias.nombre");
$apps = $query->fetchAll(PDO::FETCH_ASSOC);

// Función para obtener la IP del cliente
function getClientIP() {
    if (isset($_SERVER['HTTP_CLIENT_IP'])) {
        return $_SERVER['HTTP_CLIENT_IP'];
    } elseif (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
        return $_SERVER['HTTP_X_FORWARDED_FOR'];
    } else {
        return $_SERVER['REMOTE_ADDR'];
    }
}

// Registrar el clic con fecha, IP y ubicación
if (isset($_GET['app_id'])) {
    $app_id = $_GET['app_id'];
    $ip = getClientIP();
    $fecha = date('Y-m-d H:i:s');
    
    // Obtener la ubicación utilizando un servicio de geolocalización IP (ejemplo)
    $geoData = @json_decode(file_get_contents("http://ip-api.com/json/{$ip}"));
    $ubicacion = $geoData && $geoData->status === 'success' ? $geoData->city . ', ' . $geoData->country : 'Desconocido';

    // Registrar el clic en la base de datos
    $registro = $conexion->prepare("INSERT INTO clics (app_id, fecha, ip, ubicacion) VALUES (?, ?, ?, ?)");
    $registro->execute([$app_id, $fecha, $ip, $ubicacion]);
}

?>

<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="UTF-8">
    <title>Aplicaciones Disponibles</title>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css">
    <style>
        .app-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
            gap: 20px;
        }
        .app-item {
            text-align: center;
            padding: 20px;
            border: 1px solid #ddd;
            border-radius: 8px;
            transition: transform 0.3s;
        }
        .app-item:hover {
            transform: scale(1.05);
        }
        .app-img {
            max-width: 100px;
            max-height: 100px;
            margin-bottom: 15px;
        }
    </style>
</head>
<body>
<div class="container mt-5">
    <h2 class="text-center mb-4">Aplicaciones Disponibles</h2>
    <div class="app-grid">
        <?php foreach ($apps as $app): ?>
            <div class="app-item">
                <img src="<?= htmlspecialchars($app['icono']) ?>" alt="<?= htmlspecialchars($app['nombre']) ?>" class="app-img">
                <h4><?= htmlspecialchars($app['nombre']) ?></h4>
                <p><small><?= htmlspecialchars($app['categoria']) ?></small></p>
                <a href="redirect.php?app_id=<?= $app['id'] ?>" class="btn btn-primary">Ir a la aplicación</a>
            </div>
        <?php endforeach; ?>
    </div>
</div>
</body>
</html>
