gottesdienst/admin/qr_code.php
2023-03-14 07:16:04 +01:00

318 lines
11 KiB
PHP

<?php
if (!isset($_SESSION)) {
session_start();
}
include_once '../classes/TestProjektSmarty.class_subdir.php';
require_once("../config.inc.php");
$templatename = substr(basename($_SERVER['PHP_SELF']), 0, -3) . "html";
$smarty = new SmartyAdmin();
require_once "../language/german.inc.php";
#require_once("../func_get_restplatz.php");
#require_once("../func_get_parameter.php");
require_once("../func_get_sitzplatz.php");
require_once("../func_get_lfd_haushalt.php");
require_once("../config/func_cryption.php");
if (isset($_GET['action'])) {
$action = $_GET['action'];
} else {
$action = '';
}
if ($action == '') {
if (isset($_GET['edit'])) {
$_SESSION["qrcode_status"] = 'edit';
$id = $_GET['edit'];
$_SESSION["qr_id"] = $id;
} else {
$_SESSION["qrcode_status"] = 'neu';
}
# -- Fehlermeldungen -- #
if (isset($_GET['error'])) {
$errorno = $_GET['error'];
$smarty->assign('qrcode_error', 1);
$smarty->assign('qrcode_value_vorname', $_SESSION["qrcode_value_vorname"]);
$smarty->assign('qrcode_value_nachname', $_SESSION["qrcode_value_nachname"]);
$smarty->assign('qrcode_value_qrcode', $_SESSION["qrcode_value_qrcode"]);
$smarty->assign('qrcode_value_mail', $_SESSION["qrcode_value_mail"]);
if ($errorno == 3) {
# ungültiges Datum
$smarty->assign('qrcode_error_text', "Das eingegebene Datum ist nicht korrekt. Bitte korrigieren Sie das Datum!");
}
}
# --- Wenn Werte editiert werden ------------
if ($_SESSION["qrcode_status"] == 'edit') {
$result_edit = $db->query("SELECT id, nachname, vorname, qr, mail
FROM gd_qr_fellbach
WHERE id = $id");
$row_edit = $result_edit->fetch_array();
$smarty->assign('qrcode_value_vorname', "$row_edit[vorname]");
$smarty->assign('qrcode_value_nachname', "$row_edit[nachname]");
$smarty->assign('qrcode_value_qrcode', "$row_edit[qr]");
$smarty->assign('qrcode_value_mail', "$row_edit[mail]");
}
# --- Wenn Werte editiert werden Ende -------
if ($_GET['editende'] == 1) {
# Editieren ist beendet, als ein update auf einen Datensatz. Dann ist der status wieder Neu, damit wird wieder ein Insert durchgeführt
$_SESSION["qrcode_status"] = 'neu';
}
# Gespeicherte Werte
$query1 = "SELECT id, nachname,vorname, qr, mail
FROM gd_qr_fellbach
ORDER BY nachname ASC, vorname ASC";
$result1 = $db->query($query1) or die("Cannot execute query1a");
while ($row1 = $result1->fetch_array()) {
$table_data1[] = $row1;
}
$smarty->assign('table_data1', $table_data1);
}
if ($action == 'save') {
$vorname = $_POST['vorname'];
$nachname = $_POST['nachname'];
$qr = $_POST['qrcode'];
$mail = trim($_POST['mail']);
$_SESSION["qrcode_value_vorname"] = $vorname;
$_SESSION["qrcode_value_nachname"] = $nachname;
$_SESSION["qrcode_value_qrcode"] = $qr;
$_SESSION["qrcode_value_mail"] = $mail;
#$datum = date("Y-m-d H:i:s");
if ($_SESSION["qrcode_status"] == 'neu') {
$sql1 = $db->query("INSERT INTO gd_qr_fellbach ( nachname
, vorname
, qr
, mail
)
VALUES
( '$nachname'
, '$vorname'
, '$qr'
, '$mail'
)
");
$termin = $db->insert_id;
/* Daueranmelder wird es nicht geben.
$query1 = "SELECT DISTINCT lfd_haushalt FROM gd_daueranmeldung";
$result1 = $db->query($query1) or die("Cannot execute query1");
while ($row1 = $result1->fetch_array()) {
$lfd_haushalt = get_lfd_haushalt($termin);
$datum = date("Y-m-d H:i:s");
$query2 = "SELECT mail
FROM gd_daueranmeldung
WHERE lfd_haushalt = $row1[lfd_haushalt]
GROUP BY lfd_haushalt, mail
";
$result2 = $db->query($query2) or die("Cannot execute query2");
while ($row2 = $result2->fetch_array()) {
$query3 = "SELECT vorname, nachname
FROM gd_daueranmeldung
WHERE mail= '$row2[mail]'
AND lfd_haushalt = $row1[lfd_haushalt]
";
#echo $query3;
$result3 = $db->query($query3) or die("Cannot execute query3");
$nr = 0;
while ($row3 = $result3->fetch_array()) {
$data['vorname'][$nr] = $row3['vorname'];
$data['nachname'][$nr] = $row3['nachname'];
$data['sitzplatz'][$nr] = get_sitzplatz($data['nachname'][$nr], $data['vorname'][$nr]);
$data['split'][$nr] = explode("|", $data['sitzplatz'][$nr]);
$data['reihe'][$nr] = $data['split'][$nr][0];
$data['platz'][$nr] = $data['split'][$nr][1];
$sql1 = $db->query("insert into gd_buchung (id, nachname, vorname, reihe, platz, mail, lfd_haushalt, save_date) VALUES('$termin', '" . $data['nachname'][$nr] . "', '" . $data['vorname'][$nr] . "', '" . $data['reihe'][$nr] . "', '" . $data['platz'][$nr] . "', '$row2[mail]', '$lfd_haushalt', '$datum')");
#echo "<pre>";
#echo "<hr>";
#echo "insert into gd_buchung (id, nachname, vorname, reihe, platz, mail, lfd_haushalt, save_date) VALUES('$termin', '".$data['nachname'][$nr]."', '".$data['vorname'][$nr]."', '".$data['reihe'][$nr]."', '".$data[platz][$nr]."', '$row2[mail]', '$lfd_haushalt', '$datum')<br>";
$data['bid'][$nr] = $db->insert_id;
$data['crypt'][$nr] = cryption($data['bid'][$nr] . "|" . $data['nachname'][$nr] . "|$termin", 'e');
$nr++;
}
#print_r($data);
#echo "<hr>";
#echo "</pre>";
$query_termin = $db->query("SELECT date_format(datum, '%d.%m.%Y - %H:%i') beginn, url
FROM gd_qr_fellbach
WHERE id = $termin
LIMIT 1
");
$row_termin = $query_termin->fetch_array();
$empfaenger = "$row2[mail]";
$betreff = "Registrierung zum Gottesdienst am $row_termin[beginn] Uhr";
$text = "
<html>
<head>
<title>Registrierung zum Gottesdienst</title>
</head>
<body>
<font face='Arial' size='2'>
Guten Tag!<br><br>
Sie haben sich zum Gottesdienst in der neuapostolischen Kirche Weinstadt-Beutelsbach registriert.<br>
Nachfolgend finden Sie die hinterlegten Daten:
<br>
<br>
<table>
<tr>
<td valign='top' width='100'>
<font face='Arial' size='2'>
<b>Datum:</b>
</font>
</td>
<td valign='top' colspan='2'>
<font face='Arial' size='2'>
$row_termin[beginn]";
if ($row_termin['url'] != '') {
$text .= " ($row_termin[url])";
}
$text .= "
</font>
</td>
</tr>
<tr>
<td valign='top' width='100'>
&nbsp;
</td>
<td valign='top'>
&nbsp;
</td>
<td valign='top'>
&nbsp;
</td>
</tr>
";
$person = 1;
$vorname = "";
$nachname = "";
$crypt = "";
for ($i = 0; $i < count($data['nachname']); $i++) {
$vorname = $data['vorname'][$i];
$nachname = $data['nachname'][$i];
$crypt = $data['crypt'][$i];
$text .= "
<tr>
<td valign='top' width='100'>
<font face='Arial' size='2'>
<b>Person $person:</b>
</font>
</td>
<td valign='top'>
<font face='Arial' size='2'>
$nachname, $vorname
</font>
</td>
<td valign='top'>
<a href='http://gd.nak-btb.de/abmeldung.php?key=$crypt'>Abmeldung</a>
</td>
</tr>";
$person++;
}
$text .= "
</table>
<br>
Sie wurden aufgrund Ihrer Dauerbuchung zu den Gottesdiensten benachrichtigt.
<p>
Diese Mail wurde automatisch generiert!<br>
Antworten Sie daher nicht auf diese Mail<br>
<br>
Vielen Dank
</body>
</html>";
$text = stripslashes($text);
$headers = "MIME-Version: 1.0\n";
$headers .= "Content-type: text/html; charset=utf-8\n";
$headers .= "From: Gottesdienstregistrierung <service@nak-btb.de>\n";
$return = @mail($empfaenger, $betreff, $text, $headers);
#echo "
#<hr>
#$empfaenger<br>
#$betreff<br>
#$text<br>
#<hr>";
}
}
*/
}
if ($_SESSION["qrcode_status"] == 'edit') {
$id = $_SESSION["qr_id"];
$result = $db->query("UPDATE gd_qr_fellbach
SET nachname = '$nachname'
, vorname = '$vorname'
, qr = '$qr'
, mail = '$mail'
WHERE id = $id
");
unset($_SESSION['qr_id']);
}
# Dann bekommts beim refresh den status neu, also es wird beim Abschicken ein Insert gemacht
$editende = 1;
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?editende=$editende\">";
}
if ($action == 'del') {
$id = $_GET['id'];
$del1 = $db->query("DELETE FROM gd_qr_fellbach WHERE id = $id");
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "\">";
}
$smarty->assign('action', "$action");
$smarty->display("$template/admin/$templatename");
?>