<?php
error_reporting(E_ALL); // Cambia a E_ALL temporalmente si necesitas ver errores de PHP
ini_set('display_errors', 0);
ob_start();

include ("jpgraph/src/jpgraph.php");
include ("jpgraph/src/jpgraph_bar.php"); // Librería correcta para barras

require_once (dirname(__FILE__) . "/config/db.php");
require_once (dirname(__FILE__) . "/config/conexion.php");

if (!$con) {
    die("Error de conexión: " . mysqli_connect_error());
}

$desde = $_GET['desde'];
$hasta = $_GET['hasta'];

$sTable = "compras";
$sWhere = " WHERE 1=1";

if (!empty($desde) && !empty($hasta)) {
    $sWhere .= " AND fecha BETWEEN '$desde' AND '$hasta'";
} elseif (!empty($desde)) {
    $sWhere .= " AND fecha = '$desde'";
}

$deuda = 0;
$pagos = 0;

$sql = "SELECT por_pagar, abono FROM $sTable $sWhere";
$query = mysqli_query($con, $sql);

while ($d = mysqli_fetch_array($query)) {
    $deuda += $d['por_pagar'];  
    $pagos += $d['abono'];      
}

// Datos para las barras
$data = array($pagos, $deuda);
$nombres = array("Abonado", "Pendiente");

$graph = new Graph(500, 400);
$graph->SetScale("textlin");

// Ajuste de márgenes para que se vean las etiquetas
$graph->SetMargin(50, 30, 50, 50);

$graph->title->Set("RESUMEN DE COMPRAS ($)");
$graph->title->SetFont(FF_FONT1, FS_BOLD);

// Configurar el eje X
$graph->xaxis->SetTickLabels($nombres);

$p1 = new BarPlot($data); // Usamos $data, que es la variable correcta
$p1->SetFillColor(array("#3498db", "#e74c3c")); // JpGraph aplicará estos colores a las barras
$p1->SetWidth(45);

// Mostrar valores sobre las barras
$p1->value->Show();
$p1->value->SetFormat('%0.2f');
$p1->value->SetFont(FF_FONT1, FS_BOLD);

$graph->Add($p1);

ob_end_clean();
$graph->Stroke();
?>