<?php
session_start();

if(!isset($_SESSION["usuario_id"])){
    header("Location: ../login.php");
    exit;
}

if($_SESSION["rol"] != "admin"){
    exit("Acceso denegado");
}

require_once("../config/conexion.php");

/* =========================================
OBTENER PARTIDOS
========================================= */

$sql = "SELECT *
FROM partidos
ORDER BY fecha DESC";

$stmt = $conexion->prepare($sql);

$stmt->execute();

$partidos = $stmt->fetchAll(PDO::FETCH_ASSOC);

/* =========================================
GUARDAR RESULTADO
========================================= */

if($_SERVER["REQUEST_METHOD"] == "POST"){

    $id_partido = intval($_POST["id_partido"]);

    $goles_local = intval($_POST["goles_local"]);

    $goles_visitante = intval($_POST["goles_visitante"]);

    /* ACTUALIZAR PARTIDO */

    $sqlUpdate = "UPDATE partidos
    SET goles_local = :goles_local,
        goles_visitante = :goles_visitante,
        estatus = 'finalizado'
    WHERE id = :id";

    $stmtUpdate = $conexion->prepare($sqlUpdate);

    $stmtUpdate->bindParam(":goles_local", $goles_local);
    $stmtUpdate->bindParam(":goles_visitante", $goles_visitante);
    $stmtUpdate->bindParam(":id", $id_partido);

    $stmtUpdate->execute();

/* =========================================
CALCULAR PUNTOS
========================================= */

$sqlPronosticos = "SELECT *
FROM pronosticos
WHERE id_partido = :id_partido";

$stmtPronosticos = $conexion->prepare($sqlPronosticos);

$stmtPronosticos->bindParam(":id_partido", $id_partido);

$stmtPronosticos->execute();

$pronosticos = $stmtPronosticos->fetchAll(PDO::FETCH_ASSOC);

foreach($pronosticos as $pronostico){

    $puntos = 0;

    $pl = intval($pronostico["goles_local"]);
    $pv = intval($pronostico["goles_visitante"]);

    $rl = intval($goles_local);
    $rv = intval($goles_visitante);

    /* =========================================
    VALIDAR GANADOR / EMPATE
    ========================================= */

    $real = 0;
    $usuario = 0;

    /*
    1 = local
    2 = visitante
    3 = empate
    */

    /* REAL */

    if($rl > $rv){

        $real = 1;

    } elseif($rl < $rv){

        $real = 2;

    } else {

        $real = 3;

    }

    /* USUARIO */

    if($pl > $pv){

        $usuario = 1;

    } elseif($pl < $pv){

        $usuario = 2;

    } else {

        $usuario = 3;

    }

    /* =========================================
    1 PUNTO POR GANADOR
    ========================================= */

    if($real === $usuario){

        $puntos += 1;

    }

    /* =========================================
    2 PUNTOS EXTRA POR MARCADOR EXACTO
    ========================================= */

    if($pl == $rl && $pv == $rv){

        $puntos += 2;

    }

    /* =========================================
    GUARDAR PUNTOS
    ========================================= */

    $sqlPuntos = "UPDATE pronosticos
    SET puntos = :puntos
    WHERE id = :id";

    $stmtPuntos = $conexion->prepare($sqlPuntos);

    $stmtPuntos->bindParam(":puntos", $puntos);
    $stmtPuntos->bindParam(":id", $pronostico["id"]);

    $stmtPuntos->execute();

}
    /* =========================================
    RECALCULAR RANKING
    ========================================= */

    $sqlUsuarios = "SELECT id FROM usuarios";

    $stmtUsuarios = $conexion->prepare($sqlUsuarios);

    $stmtUsuarios->execute();

    $usuarios = $stmtUsuarios->fetchAll(PDO::FETCH_ASSOC);

    foreach($usuarios as $usuario){

        $sqlSuma = "SELECT SUM(puntos) total
        FROM pronosticos
        WHERE id_usuario = :id_usuario";

        $stmtSuma = $conexion->prepare($sqlSuma);

        $stmtSuma->bindParam(":id_usuario", $usuario["id"]);

        $stmtSuma->execute();

       $total = $stmtSuma->fetch(PDO::FETCH_ASSOC);

$puntos_totales = intval($total["total"]);

        $sqlUpdateUser = "UPDATE usuarios
        SET puntos = :puntos
        WHERE id = :id";

        $stmtUpdateUser = $conexion->prepare($sqlUpdateUser);

        $stmtUpdateUser->bindParam(":puntos", $puntos_totales);
        $stmtUpdateUser->bindParam(":id", $usuario["id"]);

        $stmtUpdateUser->execute();

    }

    header("Location: resultados.php?ok=1");
    exit;
}

?>

<!DOCTYPE html>
<html lang="es">
<head>

<meta charset="UTF-8">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<title>Resultados | Admin</title>

<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">


<link href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css" rel="stylesheet">

<style>

body{

    background:#001B4D;

    color:white;

    font-family:Arial;

    padding:20px;

    padding-bottom:110px;

}

.card{

    background:rgba(255,255,255,.08);

    border:none;

    border-radius:20px;

    padding:20px;

    margin-bottom:20px;

    color:white;
}

input{

    height:50px !important;
}

.btn-save{

    background:#F4C400;

    border:none;

    color:#001B4D;

    font-weight:bold;

    width:100%;
}
/* =========================================
BOTTOM MENU
========================================= */

.bottom-menu{

    position:fixed;

    bottom:0;

    left:0;

    width:100%;

    height:75px;

    background:#001B4D;

    display:flex;

    justify-content:space-around;
    align-items:center;

    box-shadow:0 -5px 20px rgba(0,0,0,.4);
}

.bottom-menu a{

    color:white;

    text-decoration:none;

    font-size:13px;

    text-align:center;
}

.bottom-menu i{

    font-size:24px;
    display:block;
}

/* =========================================
RESPONSIVE
========================================= */

@media(min-width:768px){

    .container-custom{
        max-width:700px;
        margin:auto;
    }
}

</style>

</head>
<body>

<div class="container">

    <h2 class="mb-4">
        ⚽ Capturar Resultados
    </h2>

    <?php if(isset($_GET["ok"])){ ?>

        <div class="alert alert-success">
            Resultado guardado correctamente
        </div>

    <?php } ?>

    <?php foreach($partidos as $partido){ ?>
<?php

$border = "transparent";

if($partido["estatus"] == "finalizado"){

    $border = "#00ff88";

}

?>
        <div
    class="card"
    style="border-left:5px solid <?php echo $border; ?>;"
>

          <h4>

    <?php echo $partido["equipo_local"]; ?>

    VS

    <?php echo $partido["equipo_visitante"]; ?>

</h4>

<?php if($partido["estatus"] == "finalizado"){ ?>

    <div
        style="
        color:#00ff88;
        font-weight:bold;
        margin-top:10px;
        "
    >

        ✅ Resultado guardado

    </div>

<?php } ?>
               


            <form method="POST">

                <input
                    type="hidden"
                    name="id_partido"
                    value="<?php echo $partido["id"]; ?>"
                >

                <div class="row">

                    <div class="col-6">

<input

    type="number"

    name="goles_local"

    class="form-control"

    placeholder="Local"

    required

    value="<?php echo $partido["goles_local"]; ?>"

>

                    </div>

                    <div class="col-6">

                        <input
                            type="number"
                            name="goles_visitante"
                            class="form-control"
                            placeholder="Visitante"
                            required
                            value="<?php echo $partido["goles_visitante"]; ?>"
                        >

                    </div>

                </div>

                <button class="btn btn-save mt-3">
                   <?php

if($partido["estatus"] == "finalizado"){

    echo "Actualizar Resultado";

} else {

    echo "Guardar Resultado";

}

?>
                </button>

            </form>

        </div>

    <?php } ?>

</div>
<!-- MENU -->

<div class="bottom-menu">

    <a href="index.php">
        <i class="bi bi-speedometer2"></i>
        Admin
    </a>

    <a href="resultados.php">
        <i class="bi bi-trophy-fill"></i>
        Resultados
    </a>

    <a href="usuarios.php">
        <i class="bi bi-people-fill"></i>
        Usuarios
    </a>

    <a href="../dashboard.php">
        <i class="bi bi-phone-fill"></i>
        App
    </a>

    <a href="../logout.php">
        <i class="bi bi-box-arrow-right"></i>
        Salir
    </a>

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