<?php
// 1. Silenciar errores y preparar búfer
ob_start();
error_reporting(0);
ini_set('display_errors', 0);

require('fpdf/fpdf.php');
require_once("config/db.php");
require_once("config/conexion.php");

/**
 * Clase parchada para compatibilidad con PHP 8.x
 */
class PDF_PHP8 extends FPDF {
    public $fonts = array();
    public $FontFiles = array();
    public $diffs = array();
    public $images = array();
    public $links = array();

    function __construct($orientation='P', $unit='mm', $size='A4') {
        parent::__construct($orientation, $unit, $size);
        $this->fonts = array();
        $this->FontFiles = array();
        $this->diffs = array();
        $this->images = array();
        $this->links = array();
    }

    function SetFont($family, $style='', $size=0) {
        if(strtolower($family)=='arial') $family='helvetica';
        parent::SetFont($family, $style, $size);
    }
}

// 2. Capturar búsqueda
$q = isset($_GET['q']) ? $_GET['q'] : '';

// 3. Iniciar PDF (L = Horizontal)
$pdf = new PDF_PHP8('L', 'mm', 'Letter');
$pdf->AddPage();
$pdf->SetAutoPageBreak(true, 20);

// --- ENCABEZADO ---
if (file_exists('img/logotienda.jpeg')) {
    $pdf->Image('img/logotienda.jpeg', 40, 5, 200, 16, 'JPEG');
}

$pdf->Ln(20);
$pdf->SetFont('Arial', 'B', 14);
$titulo = (empty($q)) ? "REPORTE GENERAL DE PROVEEDORES" : "PROVEEDORES FILTRADOS POR: ".$q;
$pdf->Cell(0, 8, utf8_decode(strtoupper($titulo)), 0, 1, 'C');

$pdf->SetFont('Arial', '', 10);
$pdf->Cell(0, 8, 'Fecha de Emision: ' . date('d-m-Y'), 0, 1, 'C');
$pdf->Ln(10);

// --- CABECERA DE TABLA ---
$pdf->SetFillColor(230, 230, 230);
$pdf->SetFont('Arial', 'B', 8);
$pdf->Cell(10, 8, 'Item', 1, 0, 'C', true);
$pdf->Cell(30, 8, 'Rif o Cedula', 1, 0, 'C', true);
$pdf->Cell(65, 8, 'Razon Social', 1, 0, 'C', true);
$pdf->Cell(70, 8, 'Direccion', 1, 0, 'C', true);
$pdf->Cell(40, 8, 'Contacto', 1, 0, 'C', true);
$pdf->Cell(25, 8, 'Telefono', 1, 0, 'C', true);
$pdf->Cell(20, 8, 'Estado', 1, 1, 'C', true);

// --- CONSULTA SQL ---
$sWhere = "";
if (!empty($q)) {
    $q_safe = mysqli_real_escape_string($con, $q);
    $sWhere = "WHERE nombre_proveedor LIKE '%$q_safe%' OR rif_proveedor LIKE '%$q_safe%'";
}
$sql = "SELECT * FROM proveedores $sWhere ORDER BY nombre_proveedor ASC";
$query = mysqli_query($con, $sql);

// --- CUERPO DEL REPORTE ---
$pdf->SetFont('Arial', '', 8);
$item = 0;
while($dato = mysqli_fetch_array($query)){
    $item++;
    $estado = ($dato['status_proveedor'] == 1) ? "Activo" : "Inactivo";
    
    $pdf->Cell(10, 7, $item, 1, 0, 'C');
    $pdf->Cell(30, 7, $dato['rif_proveedor'], 1, 0, 'L');
    $pdf->Cell(65, 7, utf8_decode($dato['nombre_proveedor']), 1, 0, 'L');
    $pdf->Cell(70, 7, substr(utf8_decode($dato['direccion_proveedor']), 0, 50), 1, 0, 'L');
    $pdf->Cell(40, 7, utf8_decode($dato['contacto_proveedor']), 1, 0, 'L');
    $pdf->Cell(25, 7, $dato['telefono_proveedor'], 1, 0, 'L');
    $pdf->Cell(20, 7, $estado, 1, 1, 'C');
}

// --- PIE DE PAGINA / FIRMAS ---
$pdf->Ln(20);
$pdf->SetFont('Arial', 'B', 9);
$pdf->Cell(0, 8, '__________________________________', 0, 1, 'C');
$pdf->Cell(0, 5, 'Gerencia', 0, 1, 'C');
// Aquí aplicamos el decode para que la Ñ de NIÑO funcione
$pdf->Cell(0, 5, utf8_decode('NIÑO BURGUER'), 0, 1, 'C');

// --- SALIDA ---
ob_end_clean();
$pdf->Output('I', 'reporte_Proveedores.pdf');
exit;
?>