324 lines
11 KiB
PHP
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'>
|
|
|
|
</td>
|
|
<td valign='top'>
|
|
|
|
</td>
|
|
<td valign='top'>
|
|
|
|
</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");
|
|
|
|
?>
|