<?php
session_start();
include 'conexion.php';

// 1. SEGURIDAD: Solo usuarios logueados pueden reportar pagos
if (!isset($_SESSION['user_id'])) {
    header("Location: login.php");
    exit();
}

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    $user_id = $_SESSION['user_id'];
    $material_id = filter_input(INPUT_POST, 'material_id', FILTER_VALIDATE_INT);
    
    // Obtener precio actual del material para el registro
    $stmt_m = $conexion->prepare("SELECT precio FROM materiales WHERE id = ?");
    $stmt_m->bind_param("i", $material_id);
    $stmt_m->execute();
    $res_m = $stmt_m->get_result();
    $material = $res_m->fetch_assoc();
    $monto = $material['precio'] ?? 0;

    // 2. MANEJO DEL ARCHIVO (COMPROBANTE)
    if (isset($_FILES['comprobante']) && $_FILES['comprobante']['error'] == 0) {
        $allowed = ['jpg', 'jpeg', 'png'];
        $filename = $_FILES['comprobante']['name'];
        $ext = strtolower(pathinfo($filename, PATHINFO_EXTENSION));

        if (in_array($ext, $allowed)) {
            // Creamos un nombre único para que no se sobreescriban (ej: YAPE_USR5_M2_65c3.png)
            $nuevo_nombre = "YAPE_U" . $user_id . "_M" . $material_id . "_" . substr(md5(uniqid()), 0, 6) . "." . $ext;
            $ruta_destino = __DIR__ . '/comprobantes/' . $nuevo_nombre;

            if (move_uploaded_file($_FILES['comprobante']['tmp_name'], $ruta_destino)) {
                
                // 3. REGISTRO EN LA TABLA PAGOS_PENDIENTES
                $stmt = $conexion->prepare("INSERT INTO pagos_pendientes (usuario_id, material_id, monto, comprobante_url, estado) VALUES (?, ?, ?, ?, 'pendiente')");
                $stmt->bind_param("iids", $user_id, $material_id, $monto, $nuevo_nombre);
                
                if ($stmt->execute()) {
                    // Redirigir a mis_compras con mensaje de éxito
                    header("Location: mis_compras.php?reporte=ok");
                } else {
                    echo "Error al registrar en la base de datos.";
                }
                $stmt->close();
            } else {
                echo "Error al mover el archivo a la carpeta comprobantes.";
            }
        } else {
            echo "Formato de imagen no permitido. Usa JPG o PNG.";
        }
    } else {
        echo "Debes subir una captura del pago.";
    }
} else {
    header("Location: index.php");
    exit();
}