<?php
session_start();

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

// Mostrar errores para depuración
error_reporting(E_ALL);
ini_set('display_errors', 1);

// Incluir conexión
$ruta_base = $_SERVER['DOCUMENT_ROOT'] . '/iestp2026/jcastro/semana15/';

if(file_exists($ruta_base . 'conexion.php')) {
    include($ruta_base . 'conexion.php');
} else {
    include('../conexion.php');
}

if(!isset($conexion) || !$conexion) {
    die('<div class="alert alert-danger">Error de conexión a la base de datos</div>');
}

// Validar que los datos existan
if(!isset($_POST['id']) || !isset($_POST['nombre']) || !isset($_POST['email'])) {
    header("Location: ../listar.php?error=campos_faltantes");
    exit();
}

$id = intval($_POST['id']);
$nombre = mysqli_real_escape_string($conexion, $_POST['nombre']);
$email = mysqli_real_escape_string($conexion, $_POST['email']);
$edad = isset($_POST['edad']) ? intval($_POST['edad']) : 0;

// Validar campos obligatorios
if(empty($nombre) || empty($email)) {
    echo "<script>
        alert('Nombre y email son obligatorios');
        window.location.href = '../menu.php?page=usuarios_editar&id=$id';
    </script>";
    exit();
}

// Verificar que el email no esté en uso por otro usuario
$check_sql = "SELECT id FROM usuarios WHERE email = '$email' AND id != $id";
$check_result = mysqli_query($conexion, $check_sql);

if(mysqli_num_rows($check_result) > 0){
    echo "<script>
        alert('El correo electrónico ya está en uso por otro usuario');
        window.location.href = '../menu.php?page=usuarios_editar&id=$id';
    </script>";
    exit();
}

// Construir consulta
if(!empty($_POST['password'])){
    $password = $_POST['password'];
    $confirm_password = $_POST['confirm_password'];
    
    if($password !== $confirm_password) {
        echo "<script>
            alert('Las contraseñas no coinciden');
            window.location.href = '../menu.php?page=usuarios_editar&id=$id';
        </script>";
        exit();
    }
    
    if(strlen($password) < 6) {
        echo "<script>
            alert('La contraseña debe tener al menos 6 caracteres');
            window.location.href = '../menu.php?page=usuarios_editar&id=$id';
        </script>";
        exit();
    }
    
    $password_hash = password_hash($password, PASSWORD_DEFAULT);
    $sql = "UPDATE usuarios SET
            nombre = '$nombre',
            email = '$email',
            edad = $edad,
            password = '$password_hash'
            WHERE id = $id";
} else {
    $sql = "UPDATE usuarios SET
            nombre = '$nombre',
            email = '$email',
            edad = $edad
            WHERE id = $id";
}

if(mysqli_query($conexion, $sql)){
    header("Location: ../listar.php?success=actualizado");
    exit();
} else {
    echo "<div style='padding:20px;font-family:Arial;'>
        <h2 style='color:red;'>Error al actualizar</h2>
        <p><strong>Error:</strong> " . mysqli_error($conexion) . "</p>
        <p><strong>SQL:</strong> " . htmlspecialchars($sql) . "</p>
        <a href='../menu.php?page=usuarios_editar&id=$id' class='btn btn-primary'>Volver</a>
    </div>";
    exit();
}

mysqli_close($conexion);
?>