<?php

require_once("../class/dB.class.php");
require_once("../tcpdf/tcpdf.php");

$mydb= new DB_MySQL('zeltlager','zeltlager','Z3ltlager3363','localhost');

$xletzeJahre = 10; //wieviele Jahren sollen zurück angezeigt werden

$mydb->query("SELECT DISTINCT zeltlagerjahr as jahr FROM JubilaeumTeilnahme ORDER BY zeltlagerjahr ASC");
$anzahlJahre = $mydb->count();

while ($row = $mydb->fetchRow())
{
    $jahre_array[] = $row['jahr']; // Inside while loop
    $letzterEintrag = $row['jahr'];
}       

$StartJahr = $letzterEintrag - $xletzeJahre; //Darstellung der Letzen 10 Jahre

$RowsOnPage = 50;
$RowsWritten = 0;
 
 
// Extend the TCPDF class to create custom Header and Footer
class MYPDFListe extends TCPDF {

    //Page header
    public function Header()
    {
        
        
        $this->SetFont('helvetica', 'B', 10);
        $this->Cell(170, 10, 'Evang. Gemeindejugend Memmingen - Übersicht Zeltlagerteilnahmen', 0, false, 'C', 0, '', 0, false, 'C', 'B');
        
       
        // Logo
        $image_file = "../images/gemeindejugend_logo.jpg";
        $this->Image($image_file, 15, 5, '20', '', 'JPG', '', 'M', true, 600, '', false, false, 0, false, false, false);
        
    }

    // Page footer
    public function Footer() 
    {
       
        // Position at 10 mm from bottom
        $this->SetY(-10);
        // Set font
        $this->SetFont('helvetica', '', 8);
        // Status zeile
        $datum  = date("d.m.Y", time());
        $this->Cell(0, 10, 'created: ' . $datum . "  -   www.zeltlageranmeldung.de                                          Seite ".$this->PageNo(). " von " . $this->getAliasNbPages(), 0, false, 'L', 0, '', 0, false, 'T', 'M');
    }
}

// create new PDF document
$pdf = new MYPDFListe(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);

// set document information
$pdf->SetCreator('www.fischerkoenig.de');
$pdf->SetAuthor('Team der Zeltlageranmeldung');
$pdf->SetTitle('Zeltlageranmeldung');
$pdf->SetSubject('Übersicht der Mitfahrzeiträume');

// set default header data
$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH,'Zeltlageranmeldung', PDF_HEADER_STRING, array(0,64,255), array(0,64,128));
$pdf->setFooterData(array(0,64,0), array(0,64,128));
 
// set default monospaced font
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);

// set margins
//$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
$pdf->SetMargins(PDF_MARGIN_LEFT, 0, PDF_MARGIN_RIGHT);
$pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
$pdf->SetFooterMargin(PDF_MARGIN_FOOTER);

// set auto page breaks
//$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
$pdf->SetAutoPageBreak(TRUE, 10);

// set image scale factor
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);

// set some language-dependent strings (optional)
if (@file_exists(dirname(__FILE__).'/lang/eng.php')) {
    require_once(dirname(__FILE__).'/lang/eng.php');
    $pdf->setLanguageArray($l);
}

// ---------------------------------------------------------

// set default font subsetting mode
$pdf->setFontSubsetting(true);

//Datenbankabfrage
$mydb->query("SELECT a.juid, a.nachname, a.vorname, a.startwert_1999,GROUP_CONCAT( b.zeltlagerjahr) as teilnahme FROM JubilaeumStammdaten as a RIGHT JOIN JubilaeumTeilnahme as b on a.juid = b.juid GROUP By a.juid ORDER BY `a`.`nachname`, `a`.`vorname` ASC");
$NumberOfEntries =  $mydb->count();

$style= <<<EOF
<style>
    
    table {
        
    }
    td {
        line-height:2px;
        text-align:left;
        border-bottom: 1px solid black;
    }
    .juid{
        width: 30px;
        text-align:center;
    }
    .name{
        width: 150px;
        border-left: 1px solid black;
    }
    .startwert{
        width: 50px;
        text-align:center;
        border-left: 1px solid black;
    }
    .jahr{
        width: 30px;
        text-align:center;
        border-left: 1px solid black;
    }
    .anzahl{
        width: 70px;
        text-align:center;
        border-left: 1px solid black;
    }
    
    th {
        text-align:center;
        text-align:center;
        border-bottom: 2px solid black;
    }
  
</style>
EOF;

 

 While ($NumberOfEntries > 0)
 {
    $pdf->AddPage();
  
    $pdf->SetFont('helvetica', '', 9);
    
    $info = "(Es werden nur die Teilnehmer angezeigt, die die lezten ". $xletzeJahre . " Jahre mindestens einmal mitgefahren sind.)";
    $pdf->writeHTMLCell	(0,0,38,12, $info, 0, 0, false, true,'',true);
    
    
    $tbl = $style . "<table>"; //  cellspacing=\"0\" cellpadding=\"1\"
    $tbl .= "<thead><tr><th class=\"juid\">ID</th><th class=\"name\"><b>Name</b></th><th  class=\"startwert\">inkl.". (intval($StartJahr) -1) ."</th>";
   
    foreach($jahre_array as $jahr)
    {
        if ($jahr >= $StartJahr)
        {
            $tbl .= "<th class=\"jahr\">$jahr</th>";
        }
    }
    
    $tbl .= "<th class=\"anzahl\"><b>Gesamtlager</b></th>";
    $tbl .= "</tr></thead></tbody>";
    
    do
    {
        $row = $mydb->fetchRow();
        $NumberOfEntries--;

        $counter = 0;
        $detailcounter = 0;
        $string = $row['teilnahme'];
        $tpltemp ="";
        
        foreach($jahre_array as $jahr)
        {
            if(stristr($string, $jahr))
            {
                if ($jahr >= $StartJahr)
                {
                    $tpltemp .= "<td class=\"jahr\">X</td>";
                    $detailcounter++;
                }
                
                $counter++;
            }
            else
            {
                if ($jahr >= $StartJahr)
                {
                    $tpltemp .= "<td class=\"jahr\"> </td>";
                }
            }
        }
        
        if ($detailcounter > 0) //nur Zeilen ausgeben, die auch im gewählten Zeitraum mindestens einmal mitgefahren sind
        {
            $tbl .= "<tr><td class=\"juid\">$row[juid]</td><td class=\"name\"><b> $row[nachname], $row[vorname]</b></td>";
            $tbl .= "<td class=\"startwert\">" . ($counter + intval($row['startwert_1999']) - $detailcounter) ."</td>";
            $tbl .= $tpltemp;
            $tbl .= "<td class=\"anzahl\"><b>" . ($counter + intval($row['startwert_1999'])) . "</b></td></tr>";
            $RowsWritten++;
        }
         
    }while(($RowsWritten <= $RowsOnPage) && ($NumberOfEntries > 0));
    
    
    $tbl .= "</tbody></table>";
    //$pdf->writeHTML($tbl, true, false, false, false, '');
    $pdf->writeHTMLCell	(0,0,18,21, $tbl, 0, 0, false, true,'',true);		
    $RowsWritten = 0;
 }


        
$filepath = '../pdf_listen/Übersicht-MitfahrerJubiläum.pdf';
$pdf->Output($filepath, 'F');

$mydb->disconnect();
?>
