352 lines
12 KiB
Plaintext
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");
|
|
|
|
?> |