<?php
// THE BONIFMEISTER MAKES THE DIFFERENCE
////////////////////////////////////////
//
// Affiche la liste de toutes les factures payees ou pas
//
$titre = "Bureaux d'enregistrement > Facturation > Historique";
require "head.php";

$bg_color = $bg_1;
$parpage = 50;	// nb elements par page dans la liste
$size_f = 18;	// Taille fleche

if (!logged_in()) die();

if (isset($_POST['message'])) $message = $_POST['message'];

// NUMERO DE PAGE EN COURS //
if ($_POST['numpage_m'])
	$numpage=intval($_POST['numpage']-1);
	else if ($_POST['numpage_p'])       	$numpage=intval($_POST['numpage']+1);
			else if ($_POST['numpage_s'])
                        	$numpage=intval($_POST['numpage_s']);
					else $numpage=1;

// ORDRE DE TRI //
//if (isset($_POST['sens']))
	if ($_POST['sens']=='za')
        	$ordre = "designation desc,id_invoice asc";
        	else if ($_POST['sens']=='az')
                	$ordre = "designation asc, id_invoice asc";
                	else if ($_POST['sens']=='date_up')
                        	$ordre = "invoice_date desc, designation asc";
                        	else if ($_POST['sens']=='date_down')
                                	$ordre = "invoice_date asc, designation asc";
                                	 else if ($_POST['sens']=='fact_down')
                                        	$ordre = "id_invoice asc";
                                        	 else if ($_POST['sens']=='fact_up')
                                         	       $ordre = "id_invoice desc";
        else $ordre = "id_invoice asc";

// ON ETABLIT LES CRITERES DE RECHERCHE

$req="select count(id_invoice) from invoices";

// RECHERCHE
if (isset($_POST['registrar']) && $_POST['registrar']!="")
        {
                $req.=",registrar";
                $recherche_reg = " invoices.id_registrar=registrar.id_registrar and upper(concat(registrar.designation,' ',registrar.nom,' ',registrar.prenom)) like '%".strtoupper_fr($_POST['registrar'])."%'";
        }

if (isset($_POST['status'])&& in_array($_POST['status'],array(0,1)))
	{
		$status = $_POST['status'];
		$recherche_status = " status=".$status;
	}
	else $status = 2;

if (isset($recherche_reg) && isset($recherche_status)) $recherche = $recherche_reg." and".$recherche_status;
	else if(isset($recherche_reg)) $recherche = $recherche_reg;
		else if (isset($recherche_status)) $recherche = $recherche_status;

// ON COMPTE LE NB DE RESULTATS POUR SAVOIR LE NB DE PAGES
//
if (isset($recherche)) $req.=" where".$recherche;
$data = pg_fetch_array(r_exec('local',$req,false));
$total = $data[0];
$nb_pages = (int)($total/$parpage)+1;
if ($total/$parpage == (int)($total/$parpage))	// POUR EVITER D'AVOIR UNE DERNIER PAGE VIDE
	$nb_pages--;				//
$start=($parpage*$numpage)-$parpage;

// SI LA RECHERCHE A ETE MODIFIEE ET QUE LE NB DE RESULTATS CHANGE
if ($total < $start)
        {
                $start = 0;
                $numpage = 1;
        }

//recherche des factures
//
$req = "select invoices.id_registrar,designation,invoice_number,amount,invoice_date,status from invoices,registrar where invoices.id_registrar=registrar.id_registrar";
if (isset($recherche)) $req.=" and ".$recherche;
$req.= " order by ".$ordre." offset ".$start." limit ".$parpage;
$res = r_exec('local',$req,false);
$nb = 0;
while ($data = pg_fetch_array($res))
	{
		$tab[$nb]['id'] = $data['id_registrar'];
		$tab[$nb]['name'] = $data['designation'];
		$tab[$nb]['number'] = $data['invoice_number'];
		$tab[$nb]['amount'] = $data['amount'];
		$tab[$nb]['date'] = $data['invoice_date'];
		$tab[$nb]['status'] = $data['status'];
		$nb++;
	}
$sous_titre = $total. " factures trouv&#233;es";

//      AFFICHAGE TITRE ET MESSAGE      //
titre($titre);
if (isset($message)) info($message);

// AFFICHAGE TABLEAU DU HAUT AVEC CHOIX CRITERES
//
        echo "\n<form name=tri action=".$_SERVER['PHP_SELF']."  method=post>";
        ?>
        <center>
        <table border=0 width=53%>
        <tr><td><table border=0 width=100% cellspacing=20>
        <tr><td colspan=2>Crit&#232;res de recherche
        <tr><td colspan=5><hr width=100%>
        <tr><td align=right width=185>Bureau d'enregistrement :<td><input size=50 type=text name=registrar value='<? if (isset($_POST['registrar'])) echo $_POST['registrar'] ?>'>
                <td colspan=2> <input type=radio name=status id=status value=0 <? if ($status == 0) echo "checked" ?> onclick="tri.submit()"> En attente
                <input type=radio id=status  name=status value=1 <? if ($status == 1) echo "checked" ?> onclick="tri.submit()"> Pay&#233;es
                <input type=radio id=status  name=status value=2 <? if ($status == 2) echo "checked" ?> onclick="tri.submit()"> Toutes
                <td colspan=2 align=center><input type=submit value='>> Rechercher <<'>
        </table>
        </table>
<br><br>
<font size=+2><b>-------- <? echo $sous_titre ?> --------</b></font>
<?
if ($nb>0)
	{
		?>
		<table width=53% border=0 cellpadding=6 cellspacing=0>
		<tr><td colspan=5>
		<input type=hidden name=recherche value='<? echo $_POST['recherche'] ?>'>
        	<input type=hidden name=numpage value='<? echo $numpage ?>'>
        	<input type=hidden name=numpage_p id=numpage_p>
        	<input type=hidden name=numpage_m id=numpage_m>
        	<?
		if ($numpage > 1) echo "<img src='images/fleche_g.png' width='".$size_f."' onclick=\"numpage_m.value='<<';tri.submit();\">";

		if ($nb_pages >1)
                {
                        echo "Page ";
                        echo "<select name=numpage_s onchange=this.form.submit()>";
                        for ($i=1;$i<=$nb_pages;$i++)
                        {
                                if ($i == $numpage) echo "<option selected>".$i."</option>";
                                else echo "<option>".$i."</option>";
                        }
                        echo "</select>";
                        echo " / ".$nb_pages;
                }
        	if ($numpage < $nb_pages) echo "<img src='images/fleche_d.png' width='".$size_f."' onclick=\"numpage_p.value='>>';tri.submit();\">";
		?>
		<input type=hidden id=sens name=sens value='<? echo $_POST['sens'] ?>'>
		<tr><td align=center>Bureau d'enregistrement<br>
		<img src='images/fleche_b.png' width='<? echo $size_f ?>' onclick="sens.value='az';tri.submit();"><img src='images/fleche_h.png' width='<? echo $size_f ?>' onClick="sens.value='za';tri.submit();">
		<td align=center>Num facture<br>
		<img src='images/fleche_b.png' width='<? echo $size_f ?>' onclick="sens.value='fact_down';tri.submit();"><img src='images/fleche_h.png' width='<? echo $size_f ?>' onClick="sens.value='fact_up';tri.submit();">
		<td align=center>Montant<td align=center>Pay&#233;e
		<td align=right>Date<br>
		<img src='images/fleche_b.png' width='<? echo $size_f ?>' onclick="sens.value='date_down';tri.submit();"><img src='images/fleche_h.png' width='<? echo $size_f ?>' onClick="sens.value='date_up';tri.submit();">
		<tr><td colspan=5><hr>
		<?
		for ($j=0;$j<$nb;$j++)
			{
				if ($bg_color == $bg_1) $bg_color = $bg_2;
					else $bg_color = $bg_1;
				echo "<tr bgcolor=".$bg_color." onclick=window.location.href='invoice_detail.php?inv_num=".$tab[$j]['number']."'><td>".$tab[$j]['name']."<td align=center>".$tab[$j]['number']."<td align=center>".$tab[$j]['amount']." €";
				echo "<td align=center><img src=images/";
				if ($tab[$j]['status'] == 1) echo "green.png";
					else echo "red.png";
				echo " width=25><td align=right>".date_format(date_create($tab[$j]['date']),'d/m/Y');
			}
		echo "</table>";
	}
require "footer.php";
?>

