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

// Ruta absoluta usando DOCUMENT_ROOT
$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>');
}

$id = isset($_GET['id']) ? intval($_GET['id']) : 0;

if($id <= 0) {
    header('Location: /iestp2026/jcastro/semana15/menu.php?page=usuarios_listar&error=ID de usuario no válido');
    exit();
}

// Obtener datos del usuario
$sql = "SELECT * FROM usuarios WHERE id = $id";
$resultado = mysqli_query($conexion, $sql);

if(mysqli_num_rows($resultado) == 0) {
    header('Location: /iestp2026/jcastro/semana15/menu.php?page=usuarios_listar&error=Usuario no encontrado');
    exit();
}

$usuario = mysqli_fetch_assoc($resultado);
$mensaje = '';
$tipo_mensaje = '';

// Procesar formulario
if($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['actualizar'])) {
    $nombre = mysqli_real_escape_string($conexion, $_POST['nombre']);
    $email = mysqli_real_escape_string($conexion, $_POST['email']);
    $edad = intval($_POST['edad']);
    $password = $_POST['password'];
    
    if(empty($nombre) || empty($email)) {
        $mensaje = 'Nombre y email son obligatorios';
        $tipo_mensaje = 'danger';
    } else {
        // Verificar si el email ya existe para otro usuario
        $check_sql = "SELECT COUNT(*) as total FROM usuarios WHERE email = '$email' AND id != $id";
        $check_result = mysqli_query($conexion, $check_sql);
        $check_row = mysqli_fetch_assoc($check_result);
        
        if($check_row['total'] > 0) {
            $mensaje = 'El email "' . $email . '" ya está registrado por otro usuario';
            $tipo_mensaje = 'warning';
        } else {
            // Construir la consulta
            if(!empty($password)) {
                // Si se ingresó nueva contraseña, hashearla
                $password_hash = password_hash($password, PASSWORD_DEFAULT);
                $update_sql = "UPDATE usuarios SET 
                                nombre = '$nombre',
                                email = '$email',
                                edad = $edad,
                                password = '$password_hash'
                                WHERE id = $id";
            } else {
                // Si no se ingresó contraseña, no actualizar la contraseña
                $update_sql = "UPDATE usuarios SET 
                                nombre = '$nombre',
                                email = '$email',
                                edad = $edad
                                WHERE id = $id";
            }
            
            if(mysqli_query($conexion, $update_sql)) {
                header('Location: /iestp2026/jcastro/semana15/menu.php?page=usuarios_listar&mensaje=actualizado');
                exit();
            } else {
                $mensaje = 'Error al actualizar: ' . mysqli_error($conexion);
                $tipo_mensaje = 'danger';
            }
        }
    }
}
?>

<div class="d-flex justify-content-between align-items-center mb-4">
    <h2>
        <i class="fas fa-user-edit me-2 text-primary"></i>
        Editar Usuario
        <small class="text-muted">#<?php echo $usuario['id']; ?></small>
    </h2>
    <div>
        <a href="menu.php?page=usuarios_listar" class="btn btn-secondary">
            <i class="fas fa-arrow-left me-1"></i>
            Volver
        </a>
    </div>
</div>

<div class="table-container">
    <?php if($mensaje): ?>
        <div class="alert alert-<?php echo $tipo_mensaje; ?> alert-dismissible fade show">
            <i class="fas fa-<?php echo ($tipo_mensaje == 'success') ? 'check-circle' : 'exclamation-circle'; ?> me-2"></i>
            <?php echo $mensaje; ?>
            <button type="button" class="btn-close" data-bs-dismiss="alert"></button>
        </div>
    <?php endif; ?>
    
    <form method="POST" action="" class="row g-3">
        <div class="col-md-6">
            <label for="nombre" class="form-label">
                <i class="fas fa-user me-1 text-primary"></i>
                Nombre Completo <span class="text-danger">*</span>
            </label>
            <input 
                type="text" 
                class="form-control" 
                id="nombre" 
                name="nombre" 
                value="<?php echo htmlspecialchars($usuario['nombre']); ?>"
                required
                autofocus
            >
        </div>
        
        <div class="col-md-6">
            <label for="email" class="form-label">
                <i class="fas fa-envelope me-1 text-primary"></i>
                Email <span class="text-danger">*</span>
            </label>
            <input 
                type="email" 
                class="form-control" 
                id="email" 
                name="email" 
                value="<?php echo htmlspecialchars($usuario['email']); ?>"
                required
            >
        </div>
        
        <div class="col-md-6">
            <label for="edad" class="form-label">
                <i class="fas fa-calendar me-1 text-primary"></i>
                Edad
            </label>
            <input 
                type="number" 
                class="form-control" 
                id="edad" 
                name="edad" 
                min="1"
                value="<?php echo $usuario['edad']; ?>"
            >
        </div>
        
        <div class="col-md-6">
            <label for="password" class="form-label">
                <i class="fas fa-lock me-1 text-primary"></i>
                Contraseña
            </label>
            <input 
                type="password" 
                class="form-control" 
                id="password" 
                name="password" 
                placeholder="Dejar en blanco para no cambiar"
            >
            <small class="text-muted">Solo si deseas cambiar la contraseña</small>
        </div>
        
        <div class="col-12">
            <button type="submit" name="actualizar" class="btn btn-primary">
                <i class="fas fa-save me-1"></i>
                Actualizar Usuario
            </button>
            <a href="menu.php?page=usuarios_listar" class="btn btn-secondary">
                <i class="fas fa-times me-1"></i>
                Cancelar
            </a>
        </div>
    </form>
</div>