<?php
session_start();

include 'modelo.php';
require_once 'config.php';

$tablaSeleccionada = null;
$datos = [];

// Verificar qué tabla fue seleccionada
if (isset($_POST['tabla'])) {
    $tablaSeleccionada = $_POST['tabla'];

    // Definir la consulta según la tabla seleccionada
    switch ($tablaSeleccionada) {
        case 'noticias':
            $consulta = "SELECT * FROM noticias";
            break;
        case 'usuarios':
            $consulta = "SELECT * FROM usuarios";
            break;
        case 'comentarios':
            $consulta = "SELECT * FROM comentarios";
            break;
        case 'temasemanal': 
            $consulta = "SELECT * FROM temasemanal";
            break;
        case 'toplinkedin': 
            $consulta = "SELECT * FROM toplinkedin";
            break;
        default:
            $consulta = null;
            break;
    }

    // Ejecutar la consulta si está definida
    if ($consulta) {
        $resultado = $conexion->obtenerDatos($consulta);
        $datos = $conexion->convertirDatos($resultado);
    }
}

// Manejar la acción de eliminar un registro
if (isset($_POST['eliminar_id'])) {
    $id = $_POST['eliminar_id'];
    $tabla = $_POST['tabla'];

    $consultaEliminar = "DELETE FROM $tabla WHERE id = ?";
    $parametrosEliminar = [$id];

    try {
        $conexion->ejecutarConsultaPreparada($consultaEliminar, $parametrosEliminar);

        // Actualizar la tabla
        $resultado = $conexion->obtenerDatos("SELECT * FROM $tabla");
        $datos = $conexion->convertirDatos($resultado);
    } catch (Exception $e) {
        echo "<p>Error al eliminar el registro: " . $e->getMessage() . "</p>";
    }
}

// Manejar la acción de editar un registro (redirigir a página de edición)
if (isset($_POST['editar_id'])) {
    $id = $_POST['editar_id'];
    $tabla = $_POST['tabla'];

    header("Location: editar.php?tabla=$tabla&id=$id");
    exit;
}

$conexion->cerrarConexion();
?>

<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Panel de Administración</title>
    <link rel="stylesheet" href="./css/estiloPanelAdministrador.css">
</head>
<body>
    <div class="container">
        <h1 class="titulo">Panel de Administración</h1>

        <form method="POST" action="panel_administrador.php" class="botonera">
            <button type="submit" name="tabla" value="noticias" class="boton">Noticias</button>
            <button type="submit" name="tabla" value="usuarios" class="boton">Usuarios</button>
            <button type="submit" name="tabla" value="comentarios" class="boton">Comentarios</button>
            <button type="submit" name="tabla" value="temasemanal" class="boton">Tema Semanal</button>
            <button type="submit" name="tabla" value="toplinkedin" class="boton">Top Linkedin</button>
        </form>

        <form method="GET" action="main.php" class="volver-form">
            <button type="submit" class="boton volver">Volver a la Página Principal</button>
        </form>

        <hr>

        <?php if ($tablaSeleccionada): ?>
            <h2 class="subtitulo">Tabla: <?php echo htmlspecialchars($tablaSeleccionada); ?></h2>

            <?php if (!empty($datos)): ?>
                <table class="tabla">
                    <thead>
                        <tr>
                            <?php foreach ($datos[0] as $key => $value): ?>
                                <th><?php echo htmlspecialchars($key); ?></th>
                            <?php endforeach; ?>
                            <th>Acciones</th>
                        </tr>
                    </thead>
                    <tbody>
                        <?php foreach ($datos as $fila): ?>
                            <tr>
                                <?php foreach ($fila as $campo): ?>
                                    <td><?php echo htmlspecialchars($campo); ?></td>
                                <?php endforeach; ?>
                                <td>
                                    <form method="GET" action="añadir.php" class="form-añadir">
                                        <input type="hidden" name="tabla" value="<?php echo htmlspecialchars($tablaSeleccionada); ?>">
                                        <button type="submit" class="boton añadir">Añadir</button>
                                    </form>

                                    <form method="POST" action="panel_administrador.php" style="display:inline;">
                                        <input type="hidden" name="editar_id" value="<?php echo htmlspecialchars($fila->id); ?>">
                                        <input type="hidden" name="tabla" value="<?php echo htmlspecialchars($tablaSeleccionada); ?>">
                                        <button type="submit" class="boton editar">Editar</button>
                                    </form>
                                    <form method="POST" action="panel_administrador.php" style="display:inline;">
                                        <input type="hidden" name="eliminar_id" value="<?php echo htmlspecialchars($fila->id); ?>">
                                        <input type="hidden" name="tabla" value="<?php echo htmlspecialchars($tablaSeleccionada); ?>">
                                        <button type="submit" class="boton eliminar">Eliminar</button>
                                    </form>
                                </td>
                            </tr>
                        <?php endforeach; ?>
                    </tbody>
                </table>
            <?php else: ?>
                <p>No se encontraron registros en la tabla seleccionada.</p>
            <?php endif; ?>
        <?php endif; ?>
    </div>
</body>
</html>
