survey/admin/old/termine.php_bcc
2023-03-14 14:47:50 +01:00

352 lines
12 KiB
Plaintext

<?php
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");
if (isset($_GET['action'])) {
$action = $_GET['action'];
} else {
$action = '';
}
if ($action == '') {
if (isset($_GET['edit'])) {
$_SESSION["termine_status"] = 'edit';
$tm_id = $_GET['edit'];
$_SESSION["termine_tm_id"] = $tm_id;
} 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_tm_datum"]);
$smarty->assign('termine_value_zeit', $_SESSION["termine_value_tm_zeit"]);
$smarty->assign('termine_value_tm_standort', $_SESSION["termine_value_tm_standort"]);
$smarty->assign('termine_value_tm_plaetze', $_SESSION["termine_value_tm_plaetze"]);
$smarty->assign('termine_value_tm_raum', $_SESSION["termine_value_tm_raum"]);
$smarty->assign('termine_value_tm_referenznr', $_SESSION["termine_value_tm_referenznr"]);
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 tm_id, date_format(tm_datum, '%d.%m.%Y') datum, date_format(tm_datum, '%H:%i') zeit, tm_standort, tm_plaetze, tm_raum, tm_referenznr
FROM dvm_termine
WHERE tm_id = $tm_id");
$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_tm_standort', "$row_edit[tm_standort]");
$smarty->assign('termine_value_tm_plaetze', "$row_edit[tm_plaetze]");
$smarty->assign('termine_value_tm_raum', "$row_edit[tm_raum]");
$smarty->assign('termine_value_tm_referenznr', "$row_edit[tm_referenznr]");
}
# --- 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 tm_id, date_format(tm_datum, '%d.%m.%Y') datum, date_format(tm_datum, '%H:%i') zeit, tm_standort, tm_plaetze, tm_raum, tm_referenznr
FROM dvm_termine
WHERE tm_datum > now()
ORDER BY tm_datum ASC, zeit ASC";
$result1 = $db->query($query1) or die("Cannot execute query1");
while ($row1 = $result1->fetch_array()) {
if($row1['tm_standort'] == 'L'){
$standort = 'Ludwigsburg';
}
if($row1['tm_standort'] == 'K'){
$standort = 'Kehl';
}
$restplatz = get_restplatz($row1['tm_id']);
if($restplatz != $row1['tm_plaetze']){
$disable = 0;
}else{
$disable = 1;
}
$row1['restplatz'] = $restplatz;
$row1['tm_disable'] = $disable;
$row1['standort_form'] = $standort;
$table_data1[] = $row1;
}
$smarty->assign('table_data1', $table_data1);
}
if ($action == 'save') {
$tm_datum = $_POST['tm_datum'];
$tm_zeit = $_POST['tm_zeit'];
$tm_plaetze = $_POST['tm_plaetze'];
$tm_standort = $_POST['tm_standort'];
$tm_raum = $_POST['tm_raum'];
$tm_referenznr = trim($_POST['tm_referenznr']);
$_SESSION["termine_value_tm_datum"] = $tm_datum;
$_SESSION["termine_value_tm_zeit"] = $tm_zeit;
$_SESSION["termine_value_tm_plaetze"] = $tm_plaetze;
$_SESSION["termine_value_tm_standort"] = $tm_standort;
$_SESSION["termine_value_tm_raum"] = $tm_raum;
$_SESSION["termine_value_tm_referenznr"] = $tm_referenznr;
$tm_datum_form = preg_replace('/^(\\d{2})\\.(\\d{2})\\.(\\d{4})$/', '$3-$2-$1', $tm_datum);
$testdatum = $tm_datum_form." ".$tm_zeit.":00";
$_SESSION["termine_value_tm_testdatum"] = $testdatum;
function validateDate($date, $format = 'Y-m-d')
{
$d = DateTime::createFromFormat($format, $date);
return $d && $d->format($format) == $date;
}
if(!validateDate($tm_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 dvm_termine ( tm_datum
, tm_standort
, tm_plaetze
, tm_raum
, tm_referenznr
)
VALUES
( '$testdatum'
, '$tm_standort'
, '$tm_plaetze'
, '$tm_raum'
, '$tm_referenznr'
)
");
}
if ($_SESSION["termine_status"] == 'edit') {
$tm_id = $_SESSION["termine_tm_id"];
# Prüfen, ob zu diesem Termin bereits Kandidaten gebucht sind. Wenn ja, dann Weiterleitung zum Mailanschreiben und dann Termin ändern
$result_vorh = $db->query("SELECT count(*) Anz
FROM dvm_term_kand
WHERE tm_id ='$tm_id'
");
$row_vorh = $result_vorh->fetch_array();
# Prüfen, ob der Kandidat angeschrieben werden muss. Nur bei einer Änderung der Anzahl muss der Kandidat nicht extra informiert werden
$result_vorh1 = $db->query("SELECT count(*) Anz
FROM dvm_termine
WHERE tm_id ='$tm_id'
AND (tm_datum != '$testdatum'
OR tm_standort != '$tm_standort'
OR tm_raum != '$tm_raum'
OR tm_referenznr != '$tm_referenznr'
)
");
$row_vorh1 = $result_vorh1->fetch_array();
if($row_vorh['Anz'] != 0 AND $row_vorh1['Anz'] != 0){
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?action=mailterminupdate\">";
exit;
}else{
$result = $db->query("UPDATE dvm_termine
SET tm_datum = '$testdatum'
, tm_standort = '$tm_standort'
, tm_plaetze = '$tm_plaetze'
, tm_raum = '$tm_raum'
, tm_referenznr = '$tm_referenznr'
WHERE tm_id = $tm_id
");
unset($_SESSION['termine_tm_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') {
$tm_id = $_GET['tm_id'];
$del1 = $db->query("DELETE FROM dvm_termine WHERE tm_id = $tm_id");
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "\">";
}
if ($action == 'mailterminupdate') {
$tm_id = $_SESSION["termine_tm_id"];
# Gespeicherte Werte
$query1 = "SELECT mail
FROM dvm_kandidat
WHERE ka_id IN (SELECT ka_id
FROM dvm_term_kand
WHERE tm_id = $tm_id)
ORDER BY nachname ASC";
$result1 = $db->query($query1) or die("Cannot execute query1");
while ($row1 = $result1->fetch_array()) {
$mail .= "$row1[mail], ";
}
$mail_lubu = get_parameter(8);
$mail_kehl = get_parameter(7);
$mail_an = "$mail_kehl, $mail_lubu";
$mail_bcc = substr(trim($mail),0,-1);
$smarty->assign('mtupd_mailadressen_an', "$mail_an");
$smarty->assign('mtupd_mailadressen_bcc', "$mail_bcc");
}
if ($action == 'mailsenden2') {
$tm_id = $_SESSION["termine_tm_id"];
$tm_plaetze = $_SESSION["termine_value_tm_plaetze"];
$tm_standort = $_SESSION["termine_value_tm_standort"];
$tm_raum = $_SESSION["termine_value_tm_raum"];
$tm_referenznr = $_SESSION["termine_value_tm_referenznr"];
$testdatum = $_SESSION["termine_value_tm_testdatum"];
$empfaenger_an = $_POST['empfaenger_an'];
$empfaenger_bcc = $_POST['empfaenger_bcc'];
$betreff = $_POST['betreff'];
$text = $_POST['text'];
$absender = $_POST['absender'];
if($absender == 'Kehl'){
$sendermail = get_parameter(7);
$sender = 'Hochschule Kehl';
}
if($absender == 'Ludwigsburg'){
$sendermail = get_parameter(8);
$sender = 'Hochschule Ludwigsburg';
}
# Update
$result = $db->query("UPDATE dvm_termine
SET tm_datum = '$testdatum'
, tm_standort = '$tm_standort'
, tm_plaetze = '$tm_plaetze'
, tm_raum = '$tm_raum'
, tm_referenznr = '$tm_referenznr'
WHERE tm_id = $tm_id
");
$query_termin = $db->query("SELECT date_format(tm_datum, '%d.%m.%Y um %H:%i Uhr') tm_datum, tm_standort, tm_raum, tm_plaetze, tm_referenznr FROM dvm_termine WHERE tm_id='$tm_id'");
$row_termin = $query_termin->fetch_array();
if($row_termin['tm_standort'] == 'L'){
$standort = 'Ludwigsburg - Reuteallee 36, 71634 Ludwigsburg';
}
if($row_termin['tm_standort'] == 'K'){
$standort = 'Kehl - Kinzigallee 1, 77694 Kehl';
}
$text = $text."
<br>
<br>
Neue Daten:<br>
<table>
<tr>
<td valign='top'>
<font face='Arial' size='2'>
<b>Testtag:</b>
</font>
</td>
<td valign='top'>
<font face='Arial' size='2'>
$row_termin[tm_datum]
</font>
</td>
</tr>
<tr>
<td valign='top'>
<font face='Arial' size='2'>
<b>Hochschule:</b>
</font>
</td>
<td valign='top'>
<font face='Arial' size='2'>
$standort
</font>
</td>
</tr>
<tr>
<td valign='top'>
<font face='Arial' size='2'>
<b>Gebäude / Raum:</b>
</font>
</td>
<td valign='top'>
<font face='Arial' size='2'>
$row_termin[tm_raum]
</font>
</td>
</tr>
</table>
";
#echo "
#From: $sender - $sendermail<br>
#$empfaenger<br>
#$betreff<br>
#$text<br>
#$hochschule<br>";
#exit;
## Mailversand:
$headers = "From: $sender <$sendermail>\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=utf-8\r\n";
$headers .= "Bcc: $empfaenger_bcc\n";
$return = @mail($empfaenger_an, $betreff, $text, $headers);
if ($return) {
$smarty->assign('mail_senderg', "Die Mail wurde verschickt!");
} else {
$smarty->assign('mail_senderg', "Die Mail konnte nicht verschickt werden!<br>Prüfen Sie die Mailadressen.");
}
unset($_SESSION['termine_tm_id']);
$editende = 1;
echo "<meta http-equiv=\"refresh\" content=\"2; URL=" . $_SERVER['PHP_SELF'] . "?editende=$editende\">";
}
$smarty->assign('action', "$action");
$smarty->display("$template/admin/$templatename");
?>