<?php
// Confirmar sesión
session_start();
if (!isset($_SESSION['loggedin'])) {
    header('Location: index.php');
    exit;
}

include_once('conexion.php');

if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_FILES['archivo_sql'])) {
    $tabla = $_POST['tabla'];
    $archivo = $_FILES['archivo_sql']['tmp_name'];

    if (!$archivo) {
        die("Error al subir el archivo.");
    }

    $contenido = file_get_contents($archivo);

    // Validar que el archivo contiene la tabla correcta
    if (!preg_match("/-- Respaldo de la tabla $tabla/", $contenido)) {
        die("Error: El archivo no corresponde a la tabla seleccionada.");
    }

    // Eliminar los datos actuales de la tabla antes de restaurarla
    $query_delete = "DELETE FROM $tabla";
    mysqli_query($conexion, $query_delete);

    // Separar las sentencias SQL y ejecutarlas
    $sentencias = explode(";\n", $contenido);
    foreach ($sentencias as $sentencia) {
        $sentencia = trim($sentencia);
        if (!empty($sentencia)) {
            mysqli_query($conexion, $sentencia);
        }
    }

    mysqli_close($conexion);

    // Redirigir a base.php con un mensaje de éxito
    header("Location: base.php?mensaje=La tabla $tabla se restauró correctamente.");
    exit;
}
?>

<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="UTF-8">
    <title>Cargar Respaldo</title>
    <link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
    <div class="container">
        <h1>Cargar Respaldo de Base de Datos</h1>
        <form action="cargar.php" method="post" enctype="multipart/form-data">
            <input type="hidden" name="tabla" value="<?php echo htmlspecialchars($_GET['tabla']); ?>">
            <label>Selecciona el archivo SQL:</label>
            <input type="file" name="archivo_sql" accept=".sql" required>
            <br><br>
            <button type="submit">Restaurar</button>
        </form>
        <br>
        <a href="base.php" class="btn">Regresar</a>
    </div>
</body>
</html>
