<?php
error_reporting(E_ALL);
ini_set('display_errors', '1');
date_default_timezone_set('America/Argentina/Buenos_Aires');

require_once 'concha.php';

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

$conn->set_charset('utf8mb4');

$consultas = array();

$consultas['fut_estadios'] = "
CREATE TABLE IF NOT EXISTS `fut_estadios` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `nombre` varchar(150) NOT NULL,
  `slug` varchar(180) NOT NULL,
  `foto` varchar(255) DEFAULT NULL,
  `localidad` varchar(120) NOT NULL,
  `provincia` varchar(120) NOT NULL,
  `direccion` varchar(180) DEFAULT NULL,
  `capacidad` int(10) unsigned DEFAULT NULL,
  `activo` tinyint(1) NOT NULL DEFAULT '1',
  `creado_en` datetime NOT NULL,
  `actualizado_en` datetime DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `idx_nombre` (`nombre`),
  KEY `idx_slug` (`slug`),
  KEY `idx_provincia_localidad` (`provincia`,`localidad`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
";

$consultas['fut_equipos'] = "
CREATE TABLE IF NOT EXISTS `fut_equipos` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `nombre` varchar(150) NOT NULL,
  `nombre_corto` varchar(80) DEFAULT NULL,
  `slug` varchar(180) NOT NULL,
  `logo` varchar(255) DEFAULT NULL,
  `ciudad` varchar(120) DEFAULT NULL,
  `provincia` varchar(120) DEFAULT NULL,
  `fundacion` varchar(20) DEFAULT NULL,
  `activo` tinyint(1) NOT NULL DEFAULT '1',
  `creado_en` datetime NOT NULL,
  `actualizado_en` datetime DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `idx_nombre` (`nombre`),
  KEY `idx_slug` (`slug`),
  KEY `idx_provincia_ciudad` (`provincia`,`ciudad`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
";

$consultas['fut_jugadores'] = "
CREATE TABLE IF NOT EXISTS `fut_jugadores` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `equipo_id` int(10) unsigned NOT NULL,
  `nombre` varchar(120) NOT NULL,
  `apellido` varchar(120) DEFAULT NULL,
  `apodo` varchar(120) DEFAULT NULL,
  `numero_camiseta` varchar(10) DEFAULT NULL,
  `posicion` varchar(50) DEFAULT NULL,
  `foto` varchar(255) DEFAULT NULL,
  `fecha_nacimiento` date DEFAULT NULL,
  `activo` tinyint(1) NOT NULL DEFAULT '1',
  `creado_en` datetime NOT NULL,
  `actualizado_en` datetime DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `idx_equipo` (`equipo_id`),
  KEY `idx_nombre_apellido` (`nombre`,`apellido`),
  KEY `idx_numero` (`numero_camiseta`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
";

$consultas['fut_arbitros'] = "
CREATE TABLE IF NOT EXISTS `fut_arbitros` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `nombre` varchar(120) NOT NULL,
  `apellido` varchar(120) DEFAULT NULL,
  `apodo` varchar(120) DEFAULT NULL,
  `rol_default` varchar(50) DEFAULT NULL,
  `foto` varchar(255) DEFAULT NULL,
  `provincia` varchar(120) DEFAULT NULL,
  `activo` tinyint(1) NOT NULL DEFAULT '1',
  `creado_en` datetime NOT NULL,
  `actualizado_en` datetime DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `idx_nombre_apellido` (`nombre`,`apellido`),
  KEY `idx_rol_default` (`rol_default`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
";

$consultas['fut_partidos'] = "
CREATE TABLE IF NOT EXISTS `fut_partidos` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `competencia` varchar(150) DEFAULT NULL,
  `temporada` varchar(30) DEFAULT NULL,
  `jornada` varchar(50) DEFAULT NULL,
  `instancia` varchar(80) DEFAULT NULL,
  `equipo_local_id` int(10) unsigned NOT NULL,
  `equipo_visitante_id` int(10) unsigned NOT NULL,
  `estadio_id` int(10) unsigned NOT NULL,
  `fecha_partido` date NOT NULL,
  `hora_partido` time NOT NULL,
  `fecha_hora_partido` datetime NOT NULL,
  `estado` enum('programado','primer_tiempo','entretiempo','segundo_tiempo','finalizado','suspendido','postergado') NOT NULL DEFAULT 'programado',
  `unix_inicio_1t` bigint(20) unsigned DEFAULT NULL,
  `unix_fin_1t` bigint(20) unsigned DEFAULT NULL,
  `unix_inicio_2t` bigint(20) unsigned DEFAULT NULL,
  `unix_fin_partido` bigint(20) unsigned DEFAULT NULL,
  `marcador_local` smallint(5) unsigned NOT NULL DEFAULT '0',
  `marcador_visitante` smallint(5) unsigned NOT NULL DEFAULT '0',
  `observaciones` text,
  `publicado` tinyint(1) NOT NULL DEFAULT '1',
  `destacado` tinyint(1) NOT NULL DEFAULT '0',
  `creado_en` datetime NOT NULL,
  `actualizado_en` datetime DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `idx_fecha_partido` (`fecha_partido`),
  KEY `idx_fecha_hora_partido` (`fecha_hora_partido`),
  KEY `idx_estado` (`estado`),
  KEY `idx_estadio_id` (`estadio_id`),
  KEY `idx_local_visitante` (`equipo_local_id`,`equipo_visitante_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
";

$consultas['fut_partidos_arbitros'] = "
CREATE TABLE IF NOT EXISTS `fut_partidos_arbitros` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `partido_id` int(10) unsigned NOT NULL,
  `arbitro_id` int(10) unsigned NOT NULL,
  `rol` varchar(50) NOT NULL,
  `creado_en` datetime NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `uniq_partido_arbitro_rol` (`partido_id`,`arbitro_id`,`rol`),
  KEY `idx_partido` (`partido_id`),
  KEY `idx_arbitro` (`arbitro_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
";

$consultas['fut_partidos_alineaciones'] = "
CREATE TABLE IF NOT EXISTS `fut_partidos_alineaciones` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `partido_id` int(10) unsigned NOT NULL,
  `equipo_id` int(10) unsigned NOT NULL,
  `jugador_id` int(10) unsigned NOT NULL,
  `condicion` enum('titular','suplente') NOT NULL DEFAULT 'titular',
  `orden_lista` tinyint(3) unsigned NOT NULL DEFAULT '0',
  `capitan` tinyint(1) NOT NULL DEFAULT '0',
  `observaciones` varchar(255) DEFAULT NULL,
  `creado_en` datetime NOT NULL,
  `actualizado_en` datetime DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `uniq_partido_jugador` (`partido_id`,`jugador_id`),
  KEY `idx_partido_equipo` (`partido_id`,`equipo_id`),
  KEY `idx_jugador` (`jugador_id`),
  KEY `idx_condicion` (`condicion`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
";

$consultas['fut_partidos_eventos'] = "
CREATE TABLE IF NOT EXISTS `fut_partidos_eventos` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `partido_id` int(10) unsigned NOT NULL,
  `equipo_id` int(10) unsigned DEFAULT NULL,
  `jugador_id` int(10) unsigned DEFAULT NULL,
  `jugador_relacionado_id` int(10) unsigned DEFAULT NULL,
  `tipo_evento` enum('gol','amarilla','roja','cambio','inicio_1t','fin_1t','inicio_2t','fin_partido','incidencia') NOT NULL,
  `minuto` smallint(5) unsigned DEFAULT NULL,
  `tiempo_juego` enum('1T','2T','ET','PEN','NA') NOT NULL DEFAULT 'NA',
  `detalle` varchar(255) DEFAULT NULL,
  `orden_evento` bigint(20) unsigned NOT NULL DEFAULT '0',
  `usuario_carga` varchar(100) DEFAULT NULL,
  `creado_en` datetime NOT NULL,
  PRIMARY KEY (`id`),
  KEY `idx_partido` (`partido_id`),
  KEY `idx_partido_tipo` (`partido_id`,`tipo_evento`),
  KEY `idx_equipo` (`equipo_id`),
  KEY `idx_jugador` (`jugador_id`),
  KEY `idx_minuto` (`minuto`),
  KEY `idx_orden_evento` (`orden_evento`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
";

$consultas['fut_sync_pendientes'] = "
CREATE TABLE IF NOT EXISTS `fut_sync_pendientes` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `tabla_origen` varchar(60) NOT NULL,
  `registro_id` int(10) unsigned NOT NULL,
  `accion` enum('insert','update','delete') NOT NULL DEFAULT 'insert',
  `payload` longtext,
  `estado` enum('pendiente','procesando','ok','error') NOT NULL DEFAULT 'pendiente',
  `intentos` tinyint(3) unsigned NOT NULL DEFAULT '0',
  `ultimo_error` text,
  `creado_en` datetime NOT NULL,
  `actualizado_en` datetime DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `idx_estado` (`estado`),
  KEY `idx_tabla_registro` (`tabla_origen`,`registro_id`),
  KEY `idx_accion` (`accion`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
";

$resultados = array();

foreach ($consultas as $nombre => $sql) {
    $ok = $conn->query($sql);

    $resultados[] = array(
        'tabla' => $nombre,
        'ok'    => $ok,
        'error' => $ok ? '' : $conn->error
    );
}
?>
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="utf-8">
<title>Crear tablas fútbol</title>
<style>
body{
    font-family: Arial, Helvetica, sans-serif;
    background:#f5f5f5;
    color:#222;
    margin:0;
    padding:30px;
}
.wrap{
    max-width:900px;
    margin:0 auto;
    background:#fff;
    border-radius:12px;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
    padding:25px;
}
h1{
    margin-top:0;
    font-size:28px;
}
.item{
    padding:14px 16px;
    border-radius:10px;
    margin-bottom:12px;
    border:1px solid #ddd;
}
.ok{
    background:#eefaf0;
    border-color:#b7e0bf;
}
.error{
    background:#fff1f1;
    border-color:#efb4b4;
}
small{
    display:block;
    margin-top:6px;
    color:#666;
    word-break:break-word;
}
.code{
    margin-top:20px;
    padding:12px;
    background:#f0f0f0;
    border-radius:8px;
    font-family:monospace;
}
</style>
</head>
<body>
<div class="wrap">
    <h1>Resultado de creación de tablas</h1>

    <?php foreach ($resultados as $r) { ?>
        <div class="item <?php echo $r['ok'] ? 'ok' : 'error'; ?>">
            <strong><?php echo htmlspecialchars($r['tabla'], ENT_QUOTES, 'UTF-8'); ?></strong>
            <?php if ($r['ok']) { ?>
                <div>Tabla verificada o creada correctamente.</div>
            <?php } else { ?>
                <div>Error al crear/verificar la tabla.</div>
                <small><?php echo htmlspecialchars($r['error'], ENT_QUOTES, 'UTF-8'); ?></small>
            <?php } ?>
        </div>
    <?php } ?>

    <div class="code">
        Script ejecutado sobre la base conectada desde concha.php
    </div>
</div>
</body>
</html>