<?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=producto_listar&error=ID de producto no válido');
    exit();
}

// Obtener categorías para el select
$categorias_sql = "SELECT id_categoria, nombre FROM categoria ORDER BY nombre";
$categorias_result = mysqli_query($conexion, $categorias_sql);

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

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

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

// Procesar formulario
if($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['actualizar'])) {
    $descripcion = mysqli_real_escape_string($conexion, $_POST['descripcion']);
    $precio = floatval($_POST['precio']);
    $stock = intval($_POST['stock']);
    $id_categoria = intval($_POST['id_categoria']);
    
    if(empty($descripcion) || $precio <= 0 || $stock < 0 || $id_categoria <= 0) {
        $mensaje = 'Todos los campos son obligatorios y el precio debe ser mayor a 0';
        $tipo_mensaje = 'danger';
    } else {
        $update_sql = "UPDATE producto SET 
                        descripcion = '$descripcion',
                        precio = $precio,
                        stock = $stock,
                        id_categoria = $id_categoria
                        WHERE id_producto = $id";
        
        if(mysqli_query($conexion, $update_sql)) {
            header('Location: /iestp2026/jcastro/semana15/menu.php?page=producto_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-edit me-2 text-primary"></i>
        Editar Producto
        <small class="text-muted">#<?php echo $producto['id_producto']; ?></small>
    </h2>
    <div>
        <a href="menu.php?page=producto_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="descripcion" class="form-label">
                <i class="fas fa-box me-1 text-primary"></i>
                Nombre del Producto <span class="text-danger">*</span>
            </label>
            <input 
                type="text" 
                class="form-control" 
                id="descripcion" 
                name="descripcion" 
                value="<?php echo htmlspecialchars($producto['descripcion']); ?>"
                required
                autofocus
            >
        </div>
        
        <div class="col-md-6">
            <label for="id_categoria" class="form-label">
                <i class="fas fa-tag me-1 text-primary"></i>
                Categoría <span class="text-danger">*</span>
            </label>
            <select class="form-select" id="id_categoria" name="id_categoria" required>
                <option value="">Seleccionar categoría...</option>
                <?php while($cat = mysqli_fetch_assoc($categorias_result)): ?>
                    <option value="<?php echo $cat['id_categoria']; ?>"
                        <?php echo ($producto['id_categoria'] == $cat['id_categoria']) ? 'selected' : ''; ?>>
                        <?php echo htmlspecialchars($cat['nombre']); ?>
                    </option>
                <?php endwhile; ?>
            </select>
        </div>
        
        <div class="col-md-6">
            <label for="precio" class="form-label">
                <i class="fas fa-dollar-sign me-1 text-primary"></i>
                Precio (S/) <span class="text-danger">*</span>
            </label>
            <input 
                type="number" 
                step="0.01" 
                min="0.01" 
                class="form-control" 
                id="precio" 
                name="precio" 
                value="<?php echo $producto['precio']; ?>"
                required
            >
        </div>
        
        <div class="col-md-6">
            <label for="stock" class="form-label">
                <i class="fas fa-warehouse me-1 text-primary"></i>
                Stock <span class="text-danger">*</span>
            </label>
            <input 
                type="number" 
                min="0" 
                class="form-control" 
                id="stock" 
                name="stock" 
                value="<?php echo $producto['stock']; ?>"
                required
            >
        </div>
        
        <div class="col-12">
            <button type="submit" name="actualizar" class="btn btn-primary">
                <i class="fas fa-save me-1"></i>
                Actualizar Producto
            </button>
            <a href="menu.php?page=producto_listar" class="btn btn-secondary">
                <i class="fas fa-times me-1"></i>
                Cancelar
            </a>
        </div>
    </form>
</div>