<?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"); ?>