<?php
ob_start();
require_once("config/init.php");
require_once __DIR__ . "/vendor/autoload.php";

ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

use Dompdf\Dompdf;

/* ===============================
   FUNÇÃO AUXILIAR
=================================*/
function numeroParaTexto($num) {

    $unidades = ["", "um", "dois", "três", "quatro", "cinco", "seis", "sete", "oito", "nove"];
    $dezenas = ["", "dez", "vinte", "trinta", "quarenta", "cinquenta", "sessenta", "setenta", "oitenta", "noventa"];
    $especiais = ["dez", "onze", "doze", "treze", "catorze", "quinze", "dezasseis", "dezassete", "dezoito", "dezanove"];
    $centenas = ["", "cento", "duzentos", "trezentos", "quatrocentos", "quinhentos", "seiscentos", "setecentos", "oitocentos", "novecentos"];

    if ($num == 0) return "zero";
    if ($num == 100) return "cem";

    $c = intval($num / 100);
    $d = intval(($num % 100) / 10);
    $u = $num % 10;

    $texto = "";

    if ($c > 0) $texto .= $centenas[$c] . " ";

    if ($d == 1) {
        $texto .= $especiais[$u];
    } else {
        if ($d > 0) $texto .= $dezenas[$d] . " ";
        if ($u > 0) $texto .= $unidades[$u];
    }

    return trim($texto);
}

/* ===============================
   FUNÇÃO VALOR POR EXTENSO
=================================*/
function valorPorExtenso($valor = 0) {

    $valor = number_format($valor, 2, ".", "");
    list($inteiro, $decimal) = explode(".", $valor);

    $inteiro_extenso = numeroParaTexto((int)$inteiro);
    $decimal_extenso = numeroParaTexto((int)$decimal);

    return ucfirst($inteiro_extenso) . " meticais e " . $decimal_extenso . " centavos";
}

if(isset($_GET['carrinha']) && !empty($_GET['carrinha'])){

$carrinha = $_GET['carrinha'];
$total = 0;

$path = __DIR__ . '/img/logotsakane.jpeg';
$type = pathinfo($path, PATHINFO_EXTENSION);
$data = file_get_contents($path);
$base64 = 'data:image/' . $type . ';base64,' . base64_encode($data);

/* ===============================
   BUSCAR PRODUTOS
=================================*/
$itensHTML = "";

$takeCart = $database->query("
    SELECT v.produto,v.preco,v.quantidade,v.subtotal,
           c.nome_cliente,c.bairro,c.cell1,vd.cliente,vd.carrinha
    FROM venda_items v
    INNER JOIN vendas_documento vd ON v.carrinha = vd.carrinha
    INNER JOIN clientes c ON vd.cliente = c.nome_cliente
    WHERE v.carrinha = '$carrinha'");

while($row = $database->fetch_assoc($takeCart)){

    $produto = $row['produto'];
    $preco = $row['preco'];
    $quantidade = $row['quantidade'];
    $subtotal = $row['subtotal'];

    $cliente = $row['nome_cliente'];
    $endereco = $row['bairro'];
    $nuit = $row['cell1'];

    $total += $subtotal;

    $ano = date('Y');

    $itensHTML .= '
    <table width="100%" style="font-size:11px;">
        <tr>
            <td colspan="3">'.$produto.'</td>
        </tr>
        <tr>
            <td width="40%">'.$quantidade.' x '.number_format($preco,2,",",".").'</td>
            <td width="20%"></td>
            <td width="40%" align="right">'.number_format($subtotal,2,",",".").'</td>
        </tr>
    </table>';
}

/* ===============================
   VALOR POR EXTENSO
=================================*/
$valor_extenso = valorPorExtenso($total);

/* ===============================
   HTML
=================================*/
$html = '
<style>
body{ font-family: Arial; font-size: 12px; }
.logo{ width:120px; }
.line{ border-bottom:1px dashed #000; margin:8px 0; }
.right{ text-align:right; }
</style>

<div>

<img src="'.$base64.'" class="logo"><br>

<b>TSAKANE COMUNICAÇÕES</b><br>
Endereço: Rua de Angola Nº 726<br>
Matola - Moçambique<br>
Nuit: 110297459<br>
Cell: 875123340

<hr>

<b>RECIBO Nº 0'.$carrinha.'/'.$ano.'</b>

<br><br>

Recebemos de: <b>'.$cliente.'</b>

<div class="line"></div>

A quantia de: <b>'.$valor_extenso.'</b>

<div class="line"></div>

Referente a:
'.$itensHTML.'

<div class="line"></div>

<div class="right">
<b>Total: '.number_format($total,2,",",".").' MT</b>
</div>

<br><br>

Forma de pagamento:<br>
[ ] Numerário &nbsp;&nbsp; [ ] Cheque &nbsp;&nbsp; [ ] Outros

<br><br>

Maputo, '.date("d/m/Y").'

<br><br><br>

_____________________________<br>
Assinatura e Carimbo

</div>
';

/* ===============================
   GERAR PDF
=================================*/
$options = new \Dompdf\Options();
$options->set('isRemoteEnabled', true);

$dompdf = new Dompdf($options);
$dompdf->loadHtml($html);
$dompdf->setPaper('A4', 'portrait');
$dompdf->render();

$dompdf->stream("Recibo_".$carrinha.".pdf", ["Attachment"=>false]);

exit;

}
?>