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

324 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["termine_status"] = 'edit';
$yid = $_GET['edit'];
$_SESSION["termine_yid"] = $yid;
} else {
$_SESSION["termine_status"] = 'neu';
}
# -- Fehlermeldungen -- #
if (isset($_GET['error'])) {
$errorno = $_GET['error'];
$smarty->assign('termine_error', 1);
$smarty->assign('termine_value_datum', $_SESSION["termine_value_datum"]);
$smarty->assign('termine_value_zeit', $_SESSION["termine_value_tm_zeit"]);
$smarty->assign('termine_value_url', $_SESSION["termine_value_url"]);
if ($errorno == 3) {
# ungültiges Datum
$smarty->assign('termine_error_text', "Das eingegebene Datum ist nicht korrekt. Bitte korrigieren Sie das Datum!");
}
}
# --- Wenn Werte editiert werden ------------
if ($_SESSION["termine_status"] == 'edit') {
$result_edit = $db->query("SELECT yid, date_format(datum, '%d.%m.%Y') datum, date_format(datum, '%H:%i') zeit, url
FROM gd_youtube_termine
WHERE yid = $yid");
$row_edit = $result_edit->fetch_array();
$smarty->assign('termine_value_datum', "$row_edit[datum]");
$smarty->assign('termine_value_zeit', "$row_edit[zeit]");
$smarty->assign('termine_value_url', "$row_edit[url]");
}
# --- 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["termine_status"] = 'neu';
}
# Gespeicherte Werte
$query1 = "SELECT yid, date_format(datum, '%d.%m.%Y') datum_form, date_format(datum, '%H:%i') zeit, url
FROM gd_youtube_termine
WHERE datum > DATE_SUB( NOW() , INTERVAL 14 DAY )
ORDER BY datum desc, zeit 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') {
$datum = $_POST['datum'];
$tm_zeit = $_POST['tm_zeit'];
$url = trim($_POST['url']);
$_SESSION["termine_value_datum"] = $datum;
$_SESSION["termine_value_tm_zeit"] = $tm_zeit;
$_SESSION["termine_value_url"] = $url;
$datum_form = preg_replace('/^(\\d{2})\\.(\\d{2})\\.(\\d{4})$/', '$3-$2-$1', $datum);
$gddatum = $datum_form . " " . $tm_zeit . ":00";
$_SESSION["termine_value_tm_gddatum"] = $gddatum;
function validateDate($date, $format = 'Y-m-d')
{
$d = DateTime::createFromFormat($format, $date);
return $d && $d->format($format) == $date;
}
if (!validateDate($datum_form)) {
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=3\">";
exit;
}
#$datum = date("Y-m-d H:i:s");
if ($_SESSION["termine_status"] == 'neu') {
$sql1 = $db->query("INSERT INTO gd_youtube_termine ( datum
, url
)
VALUES
( '$gddatum'
, '$url'
)
");
$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 (yid, 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 (yid, 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_youtube_termine
WHERE yid = $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["termine_status"] == 'edit') {
$yid = $_SESSION["termine_yid"];
$result = $db->query("UPDATE gd_youtube_termine
SET datum = '$gddatum'
, url = '$url'
WHERE yid = $yid
");
unset($_SESSION['termine_yid']);
}
# 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') {
$yid = $_GET['yid'];
$del1 = $db->query("DELETE FROM gd_youtube_termine WHERE yid = $yid");
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "\">";
}
$smarty->assign('action', "$action");
$smarty->display("$template/admin/$templatename");
?>