Zeltlager/Sicherung_Zeltlageranmeldung/admin/addons/create_pdf.php

365 lines
16 KiB
PHP

<?php
include("../class/dB.class.php");
require_once("../tcpdf/tcpdf.php");
session_start();
if ( ($_SESSION['auth'] != true) || ($_SESSION['authId'] != 1) )
{
$_SESSION['auth'] = false;
header("Location: ../login.php");
}
if(isset($_GET["uid"]))
{
$uid = $_GET["uid"];
}
else
{
header('Location: ../index.php?pageId=9');
}
// Extend the TCPDF class to create custom Header and Footer
class MYPDF extends TCPDF {
//Page header
public function Header() {
//aktuelle Jahreszahl auslesen
$mydb= new DB_MySQL('zeltlager','zeltlager','Z3ltlager3363','localhost');
$mydb->query("SELECT jahr FROM VerwaltungLagerplatz ORDER BY jahr DESC limit 1");
$row = $mydb->fetchRow();
// Title
$this->SetFont('helvetica', 'B', 22);
$this->Cell(200, 30, 'Zeltlageranmeldung ' . $row['jahr']. ' ', 0, false, 'C', 0, '', 0, false, 'C', 'B');
// Logo
$image_file = '../../images/gemeindejugend_logo.jpg';
$this->Image($image_file, 170, 5, '35', '', 'JPG', '', 'M', true, 600, '', false, false, 0, false, false, false);
// restore auto-page-break status
$mydb->disconnect();
}
// Page footer
public function Footer() {
// Position at 15 mm from bottom
$this->SetY(-10);
// Set font
$this->SetFont('courier', '', 8);
// Status zeile
$datum = date("d.m.Y H:i", time());
$this->Cell(0, 10, 'www.zeltlageranmeldung.de - uid: ' . $_GET["uid"] . ' erstellt am: ' . $datum, 0, false, 'C', 0, '', 0, false, 'T', 'M');
}
}
$mydb= new DB_MySQL('zeltlager','zeltlager','Z3ltlager3363','localhost');
// create new PDF document
$pdf = new MYPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
// set document information
$pdf->SetCreator(PDF_CREATOR);
$pdf->SetAuthor('www.fischerkoenig.de');
$pdf->SetTitle('Zeltlageranmeldung');
$pdf->SetSubject('Onlineanmeldung für das Zeltlager');
// 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->SetHeaderMargin(PDF_MARGIN_HEADER);
$pdf->SetFooterMargin(PDF_MARGIN_FOOTER);
// set auto page breaks
//$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
$pdf->SetAutoPageBreak(TRUE, 0);
// 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);
// Set font
// dejavusans is a UTF-8 Unicode font, if you only need to
// print standard ASCII chars, you can use core fonts like
// helvetica or times to reduce file size.
$pdf->SetFont('helvetica', '', 13, '', true);
// Add a page
// This method has several options, check the source code documentation for more information.
$pdf->AddPage();
// Anschriftenfeld
$txt = "Evang. Gemeindejugend Memmingen\nChristof Spitz\nDörflerstr. 1\n\n87700 Memmingen";
$pdf->SetFont('helvetica', '', 11);
$pdf->MultiCell(100, 0, $txt, 0, 'L', false, 1, 25,55, true, 0, false, true, 40, 'T');
//Daten des Lagerteilnehmers
$pdf->SetFont('helvetica', 'B', 8, '', true);
$pdf->SetFillColor(193, 205, 205);
$pdf->MultiCell(0, 0, 'Daten des Lagerteilnehmers', array('TB' => array('width' => 0.2, 'cap' => 'butt', 'join' => 'miter', 'dash' => 0, 'color' => array(0, 0, 0)) ) , 'L', true, 1, 10, 90, true, 0, false, true, 40, 'T');
$mydb->query("SELECT * FROM AnmeldungAdressen a LEFT JOIN AnmeldungPerson p ON p.uid = a.uid WHERE a.uid='$uid'");
echo $row['geschlecht'];
$row = $mydb->fetchRow();
$geschlecht = array("n.d.","männlich","weiblich","divers");
$geschlechtid = $row['geschlecht'];
$mitgliedid = $row['mitglied'];
$mitgliedtxt = array ("nein","ja");
$geburtsdatumdeutsch = date("d.m.Y", strtotime($row['geburtstag']));
$tbl = " <table cellspacing=\"0\" cellpadding=\"2\" border=\"0\">
<tr>
<td><b>Geschlecht:</b></td> <td>$geschlecht[$geschlechtid]</td> <td><b>Mitglied Gemeindejugend:</b></td><td>$mitgliedtxt[$mitgliedid]</td>
</tr>
<tr>
<td><b>Nachname:</b></td> <td>" . $row['nachname'] . "</td><td><b>Vorname:</b></td><td>". $row['vorname'] . "</td>
</tr>
<tr>
<td><b>Anschrift:</b></td> <td colspan=\"3\">". $row['strasse'] . ", " . $row['plz'] . " " . $row['wohnort'] . "</td>
</tr>
<tr>
<td><b>Geburtsdatum:</b></td><td colspan=\"3\">" . $geburtsdatumdeutsch . "</td>
</tr>
<tr>
<td><b>Telefon:</b></td><td>". $row['telefon'] . "</td> <td width=\"50\"><b>E-Mail:</b></td><td width=\"280\">". $row['email'] ."</td>
</tr>
</table>";
//$tbl = utf8_encode($row[nachname]);
$pdf->SetFont('helvetica', '', 8, '', true);
$pdf->writeHTML($tbl, true, false, false, false, '');
//Daten der Kontaktperson während des Lagers
$pdf->SetFont('helvetica', 'B', 8, '', true);
$pdf->SetFillColor(193, 205, 205);
$pdf->MultiCell(0, 0, 'Kontaktperson während des Lagers', array('TB' => array('width' => 0.2, 'cap' => 'butt', 'join' => 'miter', 'dash' => 0, 'color' => array(0, 0, 0)) ) , 'L', true, 1, 10, 120, true, 0, false, true, 40, 'T');
$mydb->query("SELECT * FROM AnmeldungNotfallkontakt WHERE uid='$uid'");
$row = $mydb->fetchRow();
$tbl = "<table cellspacing=\"0\" cellpadding=\"2\" border=\"0\">
<tr>
<td width=\"25%\"><b>Name:</b></td> <td>" . $row['notfall_nachname'] . ", " . $row['notfall_vorname'] . "</td>
</tr>
<tr>
<td><b>Anschrift:</b></td> <td>" . $row['notfall_strasse'] . ", " . $row['notfall_plz'] . " " .$row['notfall_wohnort'] . "</td>
</tr>
<tr>
<td><b>Telefon:</b></td><td>". $row['notfall_telefon'] . "</td>
</tr>
</table>";
$pdf->SetFont('helvetica', '', 8, '', true);
$pdf->writeHTML($tbl, true, false, false, false, '');
//Daten der Bankverbindung
$pdf->SetFont('helvetica', 'B', 8, '', true);
$pdf->SetFillColor(193, 205, 205);
$pdf->MultiCell(0, 0, 'Bankverbindung', array('TB' => array('width' => 0.2, 'cap' => 'butt', 'join' => 'miter', 'dash' => 0, 'color' => array(0, 0, 0)) ) , 'L', true, 1, 10, 140, true, 0, false, true, 40, 'T');
$mydb->query("SELECT * FROM AnmeldungBankdaten WHERE uid='$uid'");
$row = $mydb->fetchRow();
$tbl = "<table cellspacing=\"0\" cellpadding=\"2\" border=\"0\">
<tr>
<td width=\"25%\"><b>Kontoinhaber:</b></td> <td width=\"40%\">" . $row['kontoinhaber'] . "</td><td width=\"15%\"><b>Lagerbeitrag:</b></td><td>" . $row['berechneter_lagerbeitrag'] . " € </td>
</tr>
<tr>
<td width=\"25%\"><b>IBAN:</b></td> <td width=\"40%\">" . $row['iban'] . "</td><td width=\"15%\"><b>BIC:</b></td> <td>" . $row['bic'] . "</td>
</tr>
<tr>
<td width=\"25%\"><b>Mandatsreferenz:</b></td> <td width=\"40%\">". $row['mandatsreferenz_beitrag'] . "</td><td width=\"15%\"><b>Gl&auml;ubiger-ID:</b></td><td>DE50ZZZ00001016793</td>
</tr>
</table>";
if ( ($row[spende] > 0) || ($row[kaufladen] > 0) )
{
$tblbeitrag = "<table cellspacing=\"0\" cellpadding=\"2\" border=\"0\"><tr>";
if ($row[spende] > 0)
{
$tblbeitrag = $tblbeitrag . "<td>Ich gewähre ein Spende von " . $row['spende'] ." € - Referenz: " . $row['mandatsreferenz_spende'] ."</td>";
}
if ($row[kaufladen] >0 )
{
$tblbeitrag = $tblbeitrag. "<td>Kaufladen PrePay " . $row['kaufladen'] ." € - Referenz: " . $row['mandatsreferenz_prepay'] ."</td>";
}
$tblbeitrag = $tblbeitrag . "</tr></table>";
}
if ( ($row['nachlass'] == 1) || ($row['aufkleber'] == 1 ) )
{
$tblbeitrag = $tblbeitrag . " <table cellspacing=\"0\" cellpadding=\"2\" border=\"0\"><tr>";
if ($row[nachlass] == 1)
{
$tblbeitrag = $tblbeitrag . "<td>Ich bitte um einen Beitragsnachlass.</td>";
}
if ($row['aufkleber'] == 1 )
{
$tblbeitrag = $tblbeitrag. "<td>Namensaufkleber für 5 € - Referenz: " . $row['mandatsreferenz_aufkleber'] ."</td>";
}
$tblbeitrag = $tblbeitrag . "</tr></table>";
}
$pdf->SetFont('helvetica', '', 8, '', true);
$pdf->writeHTML($tbl, true, false, false, false, '');
$pdf->writeHTML($tblbeitrag, true, false, false, false, '');
//Zusatzangaben
$pdf->SetFont('helvetica', 'B', 8, '', true);
$pdf->SetFillColor(193, 205, 205);
$pdf->MultiCell(0, 0, 'Zusatzangaben', array('TB' => array('width' => 0.2, 'cap' => 'butt', 'join' => 'miter', 'dash' => 0, 'color' => array(0, 0, 0)) ) , 'L', true, 1, 10, 170, true, 0, false, true, 40, 'T');
$mydb->query("SELECT * FROM AnmeldungZusatzangaben WHERE uid='$uid'");
$row = $mydb->fetchRow();
$schwimmid = $row['schwimmen'];
$schwimmenklartext= array("nein","ja");
$mediid = $row['medikamentengabe'];
$mediklartext= array("nein","ja");
$tbl = "<table cellspacing=\"0\" cellpadding=\"2\" border=\"0\">
<tr>
<td width=\"15%\"><b>Krankenkasse:</b></td><td width=\"20%\">" . $row['krankenkasse'] . "</td><td width=\"10%\"><b>Impfung:</b></td><td width=\"15%\">" . $row['impfung'] . "</td><td width=\"15%\"><b>Schwimmen:</b></td><td width=\"5%\">" . $schwimmenklartext[$schwimmid] . "</td> <td width=\"15%\"><b>Medikam.-gabe:</b></td><td width=\"5%\">" . $mediklartext[$mediid] . "</td>
</tr>
<tr>
<td><b>Medikamente:</b></td><td colspan=\"7\">" . $row['medikamente'] . "</td>
</tr>
<tr>
<td><b>Allergien:</b></td><td colspan=\"7\">" . $row['allergien'] . "</td>
</tr>
</table>";
$pdf->SetFont('helvetica', '', 8, '', true);
$pdf->writeHTML($tbl, true, false, false, false, '');
//Zeltwunsch oder Mitarbeiter
// $mydb->query("SELECT * FROM AnmeldungZeltwunsch WHERE uid='$uid'");
$mydb->query("SELECT * FROM AnmeldungZeltwunsch a JOIN VerwaltungMitfahrzeitraum v ON a.mitfahrzeitraum = v.zeitraum WHERE a.uid='$uid'");
$row = $mydb->fetchRow();
if ($row[mitarbeiter] == 0) //normaler Lagerteilnehmer
{
$text = "<b>Ich möchte ins Zelt zu: </b>" . $row['insasse1'] . " - " . $row['insasse2'] . " - " . $row['insasse3']. " - " . $row['insasse4'];
$pdf->SetFont('helvetica', '', 8, '', true);
$pdf->writeHTML($text, true, false, false, false, '');
}
else //Mitarbeiter
{
$pdf->SetFont('helvetica', 'B', 8, '', true);
$pdf->SetFillColor(193, 205, 205);
$pdf->MultiCell(0, 0, 'Mitarbeiter', array('TB' => array('width' => 0.2, 'cap' => 'butt', 'join' => 'miter', 'dash' => 0, 'color' => array(0, 0, 0)) ) , 'L', true, 1, 10, 190, true, 0, false, true, 40, 'T');
$vorbereitungsindex = $row['vorbereitungstag'];
$vorbereitungstagklartext= array("keine Angabe","ja","nein","ich melde mich noch");
if ($row['mitfahrzeitraum'] == 10)
{
$MitfahrzeitraumKlartext = $row['mitfahrzeitraum_freitext'] . " - Lagerbeitrag wird noch an den Mitfahrzeitraum angepasst";
}
else
{
$MitfahrzeitraumKlartext = $row['zeitraum_txt'];
}
$tbl = "<table cellspacing=\"0\" cellpadding=\"2\" border=\"0\">
<tr>
<td width=\"20%\"><b>Aufgabe:</b></td><td width=\"35%\">" . $row['aufgabe'] . "</td> <td width=\"25%\"><b>Zeltlagervorbereitungstag:</b></td><td width=\"20%\">" . $vorbereitungstagklartext[$vorbereitungsindex] . "</td>
</tr>
<tr>
<td><b>Mitfahrzeitraum:</b></td><td colspan=\"3\">" . $MitfahrzeitraumKlartext . "</td>
</tr>
</table>";
$pdf->SetFont('helvetica', '', 8, '', true);
$pdf->writeHTML($tbl, true, false, false, false, '');
}
$pdf->SetFont('helvetica', 'B', 7, '', true);
$pdf->SetFillColor(193, 205, 205);
$pdf->MultiCell(0, 0, 'Hinweise', array('TB' => array('width' => 0.2, 'cap' => 'butt', 'join' => 'miter', 'dash' => 0, 'color' => array(0, 0, 0)) ) , 'L', true, 1, 10, 210, true, 0, false, true, 40, 'T');
$hinweistxt = <<< EOD
<u>Rechtlicher Hinweis</u><br>
Ich bin damit einverstanden, dass er/sie an den gemeinsamen Ausflügen teilnimmt und unter Aufsicht zum Baden geht.
Es ist mir bekannt, dass durch die Lagerleitung für Krankheit, Unfall oder den Verlust von Gegenständen, die durch eigenwilliges Verhalten des/der Teilnehmenden oder durch höhere Gewalt verursacht werden,
keine Haftung übernommen werden kann. Bei Missachtung der Ordnung und der Gemeinschaft wird der/die Teilnehmer*in nach Hause geschickt! Ich bin damit einverstanden, dass,
bei der An- und Abgabe sowie der Einnahme von Medikamenten, die Informationen an die Sanitäter/innen und die direkt für mein Kind verantwortlichen Betreuenden (Zeltälteste) weitergegeben werden.
Ich bestätige, dass meine Angaben zur Schwimmkompetenz sowie zu den Allergien, Medikamenten, Unverträglichkeiten und sonstigen Besonderheiten vollständig und wahrheitsgemäß sind.
Nur dadurch kann eine gute Betreuung für das Kind gewährleistet werden.<br>
<u>SEPA-Lastschrifteinzug</u><br>
Ich ermächtige die Ev.-Luth. Gesamtkirchengemeinde Memmingen, den Zeltlagerbeitrag mittels Lastschrift von meinem Konto einzuziehen.
Zugleich weise ich mein Kreditinstitut an, die von der Ev.-Luth. Gesamtkirchengemeinde Memmingen auf mein Konto eingezogene Lastschrift einzulösen.
Hinweis: Ich kann innerhalb von acht Wochen, beginnend mit dem Belastungsdatum, die Erstattung des belasteten Betrags verlangen. Es gelten dabei die mit meinem Kreditinstitut vereinbarten Bedingungen.<br>
<u>Rücktritt von der Anmeldung</u><br>
Alle Mitarbeitenden des Zeltlagers arbeiten ehrenamtlich. Dadurch und durch großzügige Spenden aus Gemeinde und Wirtschaft ist es möglich, das Lager zu einem so günstigen Preis anzubieten.
Wir bitten Sie deshalb um Verständnis, dass wir nach der Anmeldung fest mit der Teilnahme Ihres Kindes rechnen. Lebensmittel müssen gekauft und bezahlt, Busse bestellt und viele Dinge mehr organisiert werden.
Es besteht deshalb kein Anspruch auf Rückerstattung bzw. auf Teilrückerstattung bei Nichtteilnahme oder vorzeitiger Abreise des Teilnehmers bzw. der Teilnehmerin.<br>
<u>Einverständniserklärung für Foto- und Videoaufnahmen</u><br>
Ich bin damit einverstanden, dass Foto- und Videoaufnahmen, auf denen der/die Lagerteilnehmer*in allein oder mit anderen Personen abgebildet ist,
im Zusammenhang mit Veranstaltungen der Evang. Gemeindejugend Memmingen gezeigt werden dürfen. Ich bin damit einverstanden, dass diese Foto- und Videoaufnahmen im Rahmen der
Öffentlichkeitsarbeit auf der Internet- und Instagramseite der Evang. Gemeindejugend Memmingen (www.gemeindejugend-memmingen.de, @gemeindejugend.mm) sowie in den
Gemeindebriefen der Gemeinden St. Martin und Versöhnungskirche veröffentlicht werden. Die Einverständniserklärung für Foto- und Videoaufnahmen kann jederzeit schriftlich oder mündlich widerrufen werden.
EOD;
$pdf->SetFont('helvetica', '', 5, '', true);
$pdf->writeHTML($hinweistxt, true, false, false, false, '');
$pdf->SetFont('helvetica', '', 8, '', true);
$pdf->MultiCell(0, 0, 'Ort, Datum', '' , 'L', false, 0, 45, 277, true, 0, false, true, 0, 'T');
$pdf->MultiCell(0, 0, 'Unterschrift (Erziehungsberechtiger bei Minderjährigen)', '' , 'L', false, 0, 102, 277, true, 0, false, true, 0, 'T');
$style = array('width' => 0.3, 'cap' => 'butt', 'join' => 'miter', 'dash' => 0, 'color' => array(0, 0, 0));
$pdf->Line(25, 275, 85, 275, $style);
$pdf->Line(100, 275, 185, 275, $style);
// ---------------------------------------------------------
// Close and output PDF document
// This method has several options, check the source code documentation for more information.
$filepath = '../../pdf/' . $uid . '.pdf';
$pdf->Output($filepath, 'F');
echo "PDF fertig erstellt...<br>";
echo "ACHTUNG - Der Lagerbeitrag wurde nicht neu berechnet sondern aus der Tabelle AnmeldungBankdaten genommen !";
echo "<br><br><a href=\"send_pdf.php?uid=" . $uid ." \">PDF per Mail verschicken</a>";
echo "<br><a href=\"../index.php?pageId=9\">...zur&uuml;ck zur &Uuml;bersicht</a>";
?>