<?php
$dirActual = dirname(__FILE__);
$dirRaiz   = dirname($dirActual);

if (file_exists($dirRaiz . '/sesion.php')) {
    include $dirRaiz . '/sesion.php';
} elseif (file_exists($dirActual . '/sesion.php')) {
    include $dirActual . '/sesion.php';
}

if (file_exists($dirRaiz . '/concha.php')) {
    include $dirRaiz . '/concha.php';
} elseif (file_exists($dirActual . '/concha.php')) {
    include $dirActual . '/concha.php';
}

if (!isset($conn) || !($conn instanceof mysqli)) {
    die('Error: no se encontró la conexión mysqli en concha.php');
}

$conn->set_charset('utf8mb4');

function h($txt) {
    return htmlspecialchars((string)$txt, ENT_QUOTES, 'UTF-8');
}

function tablaExiste($conn, $tabla) {
    $tabla = $conn->real_escape_string($tabla);
    $sql = "SHOW TABLES LIKE '{$tabla}'";
    $res = $conn->query($sql);
    return ($res && $res->num_rows > 0);
}

function contarTabla($conn, $tabla, $where = '') {
    if (!tablaExiste($conn, $tabla)) {
        return 0;
    }

    $sql = "SELECT COUNT(*) AS total FROM `{$tabla}`";
    if ($where != '') {
        $sql .= " WHERE " . $where;
    }

    $res = $conn->query($sql);
    if ($res && ($row = $res->fetch_assoc())) {
        return (int)$row['total'];
    }

    return 0;
}

function obtenerUltimosPartidos($conn, $limite = 6) {
    $partidos = array();

    if (
        !tablaExiste($conn, 'fut_partidos') ||
        !tablaExiste($conn, 'fut_equipos') ||
        !tablaExiste($conn, 'fut_estadios')
    ) {
        return $partidos;
    }

    $limite = (int)$limite;
    if ($limite <= 0) {
        $limite = 6;
    }

    $sql = "SELECT
                p.id,
                p.fecha_partido,
                p.hora_partido,
                p.estado,
                p.marcador_local,
                p.marcador_visitante,
                el.nombre AS equipo_local,
                ev.nombre AS equipo_visitante,
                e.nombre AS estadio
            FROM fut_partidos p
            INNER JOIN fut_equipos el ON el.id = p.equipo_local_id
            INNER JOIN fut_equipos ev ON ev.id = p.equipo_visitante_id
            INNER JOIN fut_estadios e ON e.id = p.estadio_id
            ORDER BY p.fecha_hora_partido DESC, p.id DESC
            LIMIT {$limite}";

    $res = $conn->query($sql);
    if ($res) {
        while ($row = $res->fetch_assoc()) {
            $partidos[] = $row;
        }
    }

    return $partidos;
}

$tablasInstaladas = tablaExiste($conn, 'fut_partidos');

$totalEstadios    = contarTabla($conn, 'fut_estadios', 'activo = 1');
$totalEquipos     = contarTabla($conn, 'fut_equipos', 'activo = 1');
$totalJugadores   = contarTabla($conn, 'fut_jugadores', 'activo = 1');
$totalArbitros    = contarTabla($conn, 'fut_arbitros', 'activo = 1');
$totalPartidos    = contarTabla($conn, 'fut_partidos');
$totalProgramados = contarTabla($conn, 'fut_partidos', "estado = 'programado'");
$totalEnVivo      = contarTabla($conn, 'fut_partidos', "estado IN ('primer_tiempo','segundo_tiempo','entretiempo')");
$totalFinalizados = contarTabla($conn, 'fut_partidos', "estado = 'finalizado'");
$ultimosPartidos  = obtenerUltimosPartidos($conn, 6);

$tituloPanel = 'Panel de Administración - Fútbol';
if (isset($nombresitio) && $nombresitio != '') {
    $tituloPanel = $nombresitio . ' - Panel de Administración - Fútbol';
}
?>
<!DOCTYPE html>
<html lang="es">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <meta name="description" content="Panel de Administración de Fútbol">
    <meta name="author" content="<?php echo isset($nombresitio) ? h($nombresitio) : 'Panel'; ?>">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

    <title><?php echo h($tituloPanel); ?></title>

    <link href="http://fonts.googleapis.com/css?family=Oswald" rel="stylesheet" type="text/css">
    <link rel="shortcut icon" href="" type="image/x-icon">
    <link rel="apple-touch-icon" href="">
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">

    <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"></script>

    <style type="text/css">
        *{
            border-radius:0 !important;
            box-sizing:border-box;
        }

        body{
            background-image:url(../fondeux.jpg);
            background-repeat:repeat;
            font-family:Arial, Helvetica, sans-serif;
        }

        .btn-primary{
            color:#fff !important;
            background-color:#0066FF;
            border-color:#0066FF;
        }

        .btn-primary:hover,
        .btn-primary:focus{
            color:#fff !important;
            background-color:#0052cc;
            border-color:#0052cc;
        }

        .btn-outline-primary{
            color:#0066FF;
            border-color:#0066FF;
        }

        .btn-outline-primary:hover{
            background-color:#0066FF;
            border-color:#0066FF;
            color:#fff;
        }

        .page-header{
            margin:0;
            padding:1em;
            background-color:#0066FF;
            border:0;
            text-align:center;
        }

        .page-header h2{
            color:#ffffff;
            font-weight:bold;
            margin:0;
            font-family:'Oswald', sans-serif;
            text-transform:uppercase;
        }

        .box-blanco{
            background:#fff;
            border:1px solid #e4e4e4;
            padding:20px 15px;
            text-align:center;
            height:100%;
        }

        .box-blanco h3{
            margin:0 0 10px 0;
            color:#0066FF;
            font-family:'Oswald', sans-serif;
            font-size:30px;
            line-height:1;
        }

        .box-blanco p{
            margin:0;
            font-size:14px;
            color:#555;
            font-weight:bold;
            text-transform:uppercase;
        }

        .modulo-link{
            display:block;
            background:#fff;
            border:1px solid #e4e4e4;
            padding:18px;
            text-decoration:none !important;
            color:#222;
            height:100%;
        }

        .modulo-link:hover{
            border-color:#0066FF;
            box-shadow:0 0 0 1px #0066FF inset;
        }

        .modulo-link strong{
            display:block;
            color:#0066FF;
            font-family:'Oswald', sans-serif;
            font-size:22px;
            margin-bottom:8px;
            text-transform:uppercase;
        }

        .modulo-link span{
            display:block;
            font-size:14px;
            color:#555;
            line-height:1.5;
        }

        .subtitulo-bloque{
            background:#f8f9fa;
            border:1px solid #e4e4e4;
            border-bottom:0;
            padding:12px 15px;
            color:#0066FF;
            font-family:'Oswald', sans-serif;
            font-size:24px;
            text-transform:uppercase;
        }

        .tabla-wrap{
            background:#fff;
            border:1px solid #e4e4e4;
        }

        .table{
            margin-bottom:0;
        }

        .table thead th{
            background:#f1f2ed;
            font-size:12px;
            text-transform:uppercase;
            border-top:0;
            color:#333;
        }

        .badge-estado{
            display:inline-block;
            padding:6px 10px;
            font-size:11px;
            font-weight:bold;
            color:#fff;
            text-transform:uppercase;
        }

        .estado-programado{ background:#6c757d; }
        .estado-primer_tiempo{ background:#28a745; }
        .estado-entretiempo{ background:#fd7e14; }
        .estado-segundo_tiempo{ background:#20c997; }
        .estado-finalizado{ background:#343a40; }
        .estado-suspendido{ background:#dc3545; }
        .estado-postergado{ background:#6f42c1; }

        .alert-install{
            background:#fff3cd;
            border:1px solid #ffe08a;
            color:#6b5500;
            padding:18px 20px;
            margin-bottom:20px;
        }

        .acceso-rapido{
            display:block;
            width:100%;
            text-align:center;
            padding:12px 10px;
            font-weight:bold;
            text-transform:uppercase;
        }

        @media (max-width: 767px){
            .page-header h2{
                font-size:24px;
            }

            .box-blanco h3{
                font-size:24px;
            }

            .modulo-link{
                padding:15px;
            }
        }
    </style>
</head>
<body>

<div class="container" style="background-color:#F1F2ED;">
    <?php
    if (file_exists($dirActual . '/menu.php')) {
        include $dirActual . '/menu.php';
    } elseif (file_exists($dirRaiz . '/menu.php')) {
        include $dirRaiz . '/menu.php';
    }
    ?>
</div>

<div role="main" style="background-color:#fff;" class="container pt-3 pb-4">

    <div class="page-header">
        <h2>Panel de Administración de Fútbol</h2>
    </div>

    <?php if (!$tablasInstaladas) { ?>
        <div class="alert-install mt-3">
            <strong>Atención:</strong> todavía no se detectaron las tablas del módulo de fútbol.
            Ejecutá primero <strong>../crea_tablas_futbol.php</strong> o el instalador que estés usando.
        </div>
    <?php } ?>

    <div class="row mt-4">
        <div class="col-6 col-md-3 mb-3">
            <div class="box-blanco">
                <h3><?php echo (int)$totalEstadios; ?></h3>
                <p>Estadios</p>
            </div>
        </div>

        <div class="col-6 col-md-3 mb-3">
            <div class="box-blanco">
                <h3><?php echo (int)$totalEquipos; ?></h3>
                <p>Equipos</p>
            </div>
        </div>

        <div class="col-6 col-md-3 mb-3">
            <div class="box-blanco">
                <h3><?php echo (int)$totalJugadores; ?></h3>
                <p>Jugadores</p>
            </div>
        </div>

        <div class="col-6 col-md-3 mb-3">
            <div class="box-blanco">
                <h3><?php echo (int)$totalArbitros; ?></h3>
                <p>Árbitros</p>
            </div>
        </div>

        <div class="col-6 col-md-3 mb-3">
            <div class="box-blanco">
                <h3><?php echo (int)$totalPartidos; ?></h3>
                <p>Partidos</p>
            </div>
        </div>

        <div class="col-6 col-md-3 mb-3">
            <div class="box-blanco">
                <h3><?php echo (int)$totalProgramados; ?></h3>
                <p>Programados</p>
            </div>
        </div>

        <div class="col-6 col-md-3 mb-3">
            <div class="box-blanco">
                <h3><?php echo (int)$totalEnVivo; ?></h3>
                <p>En vivo</p>
            </div>
        </div>

        <div class="col-6 col-md-3 mb-3">
            <div class="box-blanco">
                <h3><?php echo (int)$totalFinalizados; ?></h3>
                <p>Finalizados</p>
            </div>
        </div>
    </div>


    <div class="subtitulo-bloque">Módulos del sistema</div>
    <div class="tabla-wrap p-3 mb-4">
        <div class="row">
            <div class="col-md-3 mb-3">
                <a href="estadios.php" class="modulo-link">
                    <strong>Estadios</strong>
                    <span>Alta, edición y administración de estadios con localidad, provincia y foto.</span>
                </a>
            </div>

            <div class="col-md-3 mb-3">
                <a href="equipos.php" class="modulo-link">
                    <strong>Equipos</strong>
                    <span>Gestión de clubes, nombres cortos, logos, ciudad y provincia.</span>
                </a>
            </div>

            <div class="col-md-3 mb-3">
                <a href="jugadores.php" class="modulo-link">
                    <strong>Jugadores</strong>
                    <span>Planteles, dorsales, posiciones y fotos por equipo.</span>
                </a>
            </div>

            <div class="col-md-3 mb-3">
                <a href="arbitros.php" class="modulo-link">
                    <strong>Árbitros</strong>
                    <span>Carga de árbitros principales, asistentes y cuarto árbitro.</span>
                </a>
            </div>

            <div class="col-md-3 mb-3">
                <a href="partidos_admin.php" class="modulo-link">
                    <strong>Partidos</strong>
                    <span>Creación de partidos con local, visitante, estadio, fecha, hora y estado.</span>
                </a>
            </div>

            <div class="col-md-3 mb-3">
                <a href="alineaciones.php" class="modulo-link">
                    <strong>Alineaciones</strong>
                    <span>Titulares, suplentes, orden de lista y capitán por cada partido.</span>
                </a>
            </div>

            <div class="col-md-3 mb-3">
                <a href="en_vivo.php" class="modulo-link">
                    <strong>En vivo</strong>
                    <span>Control del partido: inicio, entretiempo, segundo tiempo, goles y tarjetas.</span>
                </a>
            </div>

            <div class="col-md-3 mb-3">
                <a href="../partidos.php" target="_blank" class="modulo-link">
                    <strong>Sitio público</strong>
                    <span>Vista pública del listado de partidos y resultados del módulo.</span>
                </a>
            </div>
        </div>
    </div>

    <div class="subtitulo-bloque">Últimos partidos cargados</div>
    <div class="tabla-wrap">
        <?php if (count($ultimosPartidos) > 0) { ?>
            <div class="table-responsive">
                <table class="table table-bordered table-hover">
                    <thead>
                        <tr>
                            <th>ID</th>
                            <th>Fecha</th>
                            <th>Hora</th>
                            <th>Partido</th>
                            <th>Marcador</th>
                            <th>Estadio</th>
                            <th>Estado</th>
                            <th>Acción</th>
                        </tr>
                    </thead>
                    <tbody>
                        <?php foreach ($ultimosPartidos as $p) {
                            $estadoClase = 'estado-' . $p['estado'];
                            $fechaPartido = '';
                            if (!empty($p['fecha_partido']) && $p['fecha_partido'] != '0000-00-00') {
                                $fechaPartido = date('d/m/Y', strtotime($p['fecha_partido']));
                            }

                            $horaPartido = '';
                            if (!empty($p['hora_partido'])) {
                                $horaPartido = substr($p['hora_partido'], 0, 5);
                            }
                        ?>
                            <tr>
                                <td><?php echo (int)$p['id']; ?></td>
                                <td><?php echo h($fechaPartido); ?></td>
                                <td><?php echo h($horaPartido); ?></td>
                                <td><?php echo h($p['equipo_local']); ?> vs <?php echo h($p['equipo_visitante']); ?></td>
                                <td><?php echo (int)$p['marcador_local']; ?> - <?php echo (int)$p['marcador_visitante']; ?></td>
                                <td><?php echo h($p['estadio']); ?></td>
                                <td>
                                    <span class="badge-estado <?php echo h($estadoClase); ?>">
                                        <?php echo h(str_replace('_', ' ', $p['estado'])); ?>
                                    </span>
                                </td>
                                <td>
                                    <a href="partidos_admin.php?id=<?php echo (int)$p['id']; ?>" class="btn btn-sm btn-outline-primary">Ver / editar</a>
                                </td>
                            </tr>
                        <?php } ?>
                    </tbody>
                </table>
            </div>
        <?php } else { ?>
            <div style="padding:20px;">
                Todavía no hay partidos cargados.
            </div>
        <?php } ?>
    </div>

</div>

<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script>
<script defer src="https://use.fontawesome.com/releases/v5.8.1/js/all.js"></script>
</body>
</html>