survey/admin/old/praxisstellen_edit.php
2023-03-14 14:47:50 +01:00

346 lines
13 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_tangen.php");
if (isset($_GET['action'])) {
$action = $_GET['action'];
} else {
$action = '';
}
if ($action == '') {
if (isset($_GET['edit'])) {
$_SESSION["prxedit_status"] = 'edit';
$id = $_GET['edit'];
$_SESSION["prxedit_id"] = $id;
} else {
$_SESSION["prxedit_status"] = 'neu';
unset($_SESSION['prxedit_user']);
unset($_SESSION['prxedit_username']);
}
# Falls von bewerber_daten kommend
if($_GET['ka_id'] != ''){
$user = $_GET['ka_id'];
$result_name = $db->query("SELECT vorname, nachname
FROM bpm_kandidat
WHERE ka_id = $user");
$row_name = $result_name->fetch_array();
$_SESSION["prxedit_user"] = $user;
$_SESSION["prxedit_username"] = "$row_name[vorname] $row_name[nachname]";
# Falls aus bewerber_daten.php kommend, bietet man einen zurückbutton an
$smarty->assign('prxedit_value_user', $_SESSION["prxedit_user"]);
$smarty->assign('prxedit_value_username', $_SESSION["prxedit_username"]);
}
$result_all = $db->query("SELECT count(*) Anz
FROM bpm_dienststellen
");
$row_all = $result_all->fetch_array();
$smarty->assign('prxedit_value_anzall', $row_all['Anz']);
$result_unreg = $db->query("SELECT count(*) Anz
FROM bpm_dienststellen
WHERE register_dat = '0000-00-00 00:00:00'");
$row_unreg = $result_unreg->fetch_array();
$smarty->assign('prxedit_value_anzunreg', $row_unreg['Anz']);
$result_reg = $db->query("SELECT count(*) Anz
FROM bpm_dienststellen
WHERE register_dat != '0000-00-00 00:00:00'");
$row_reg = $result_reg->fetch_array();
$smarty->assign('prxedit_value_anzreg', $row_reg['Anz']);
# -- Fehlermeldungen -- #
if (isset($_GET['error'])) {
$errorno = $_GET['error'];
$smarty->assign('prxedit_error', 1);
$smarty->assign('prxedit_value_art', $_SESSION["prxedit_value_art"]);
$smarty->assign('prxedit_value_name', $_SESSION["prxedit_value_name"]);
$smarty->assign('prxedit_value_str', $_SESSION["prxedit_value_str"]);
$smarty->assign('prxedit_value_plz', $_SESSION["prxedit_value_plz"]);
$smarty->assign('prxedit_value_ort', $_SESSION["prxedit_value_ort"]);
$smarty->assign('prxedit_value_mail', $_SESSION["prxedit_value_mail"]);
$smarty->assign('prxedit_value_gueltigvon', $_SESSION["prxedit_value_gueltigvon"]);
$smarty->assign('prxedit_value_gueltigbis', $_SESSION["prxedit_value_gueltigbis"]);
if ($errorno == 3) {
# ungültiges Datum
$smarty->assign('prxedit_error_text', "Das eingegebene Gültig von Datum ist nicht korrekt. Bitte korrigieren Sie das Datum!");
}
if ($errorno == 4) {
# ungültiges Datum
$smarty->assign('prxedit_error_text', "Das eingegebene Gültig bis Datum ist nicht korrekt. Bitte korrigieren Sie das Datum!");
}
}
# --- Wenn Werte editiert werden ------------
if ($_SESSION["prxedit_status"] == 'edit') {
$result_edit = $db->query("SELECT dst_id, bezeichnung, name, str, plz, ort, mail, date_format(gueltig_von, '%d.%m.%Y') gueltig_von_form, date_format(gueltig_bis, '%d.%m.%Y') gueltig_bis_form
FROM bpm_dienststellen
WHERE dst_id = $id");
$row_edit = $result_edit->fetch_array();
if($row_edit['gueltig_von_form'] == '00.00.0000'){
$gueltig_von_form = "";
}else{
$gueltig_von_form = $row_edit['gueltig_von_form'];
}
if($row_edit['gueltig_bis_form'] == '00.00.0000'){
$gueltig_bis_form = "";
}else{
$gueltig_bis_form = $row_edit['gueltig_bis_form'];
}
$smarty->assign('prxedit_value_art', "$row_edit[bezeichnung]");
$smarty->assign('prxedit_value_name', "$row_edit[name]");
$smarty->assign('prxedit_value_str', "$row_edit[str]");
$smarty->assign('prxedit_value_plz', "$row_edit[plz]");
$smarty->assign('prxedit_value_ort', "$row_edit[ort]");
$smarty->assign('prxedit_value_mail', "$row_edit[mail]");
$smarty->assign('prxedit_value_gueltigvon', "$gueltig_von_form");
$smarty->assign('prxedit_value_gueltigbis', "$gueltig_bis_form");
}
# --- 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["prxedit_status"] = 'neu';
}
}
if ($action == 'save') {
$art = $_POST['art'];
$name = $_POST['name'];
$str = $_POST['str'];
$plz = $_POST['plz'];
$ort = $_POST['ort'];
$mail = $_POST['mail'];
$gueltigvon = $_POST['gueltigvon'];
$gueltigbis = $_POST['gueltigbis'];
$regmail = $_POST['regmail'];
$_SESSION["prxedit_value_art"] = $art;
$_SESSION["prxedit_value_name"] = $name;
$_SESSION["prxedit_value_str"] = $str;
$_SESSION["prxedit_value_plz"] = $plz;
$_SESSION["prxedit_value_ort"] = $ort;
$_SESSION["prxedit_value_mail"] = $mail;
$gueltigvon_form = preg_replace('/^(\\d{2})\\.(\\d{2})\\.(\\d{4})$/', '$3-$2-$1', $gueltigvon);
$gueltigbis_form = preg_replace('/^(\\d{2})\\.(\\d{2})\\.(\\d{4})$/', '$3-$2-$1', $gueltigbis);
function validateDate($date, $format = 'Y-m-d')
{
$d = DateTime::createFromFormat($format, $date);
return $d && $d->format($format) == $date;
}
if(!validateDate($gueltigvon_form) AND $gueltigvon_form != ''){
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=3\">";
exit;
}
if(!validateDate($gueltigbis_form) AND $gueltigbis_form != ''){
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=4\">";
exit;
}
if($gueltigvon_form == ''){
$gueltigvon_form ='0000-00-00';
}
if($gueltigbis_form == ''){
$gueltigbis_form ='0000-00-00';
}
$bez = $art." ".$name;
#$datum = date("Y-m-d H:i:s");
if ($_SESSION["prxedit_status"] == 'neu') {
$tan = tangen();
$sql1 = $db->query("INSERT INTO bpm_dienststellen ( bezeichnung
, name
, bez
, str
, plz
, ort
, mail
, init_tan
, gueltig_von
, gueltig_bis
)
VALUES
( '$art'
, '$name'
, '$bez'
, '$str'
, '$plz'
, '$ort'
, '$mail'
, '$tan'
, '$gueltigvon_form'
, '$gueltigbis_form'
)
");
}
if ($_SESSION["prxedit_status"] == 'edit') {
$id = $_SESSION["prxedit_id"];
$ka_id = $_SESSION["prxedit_user"];
if($regmail == 'j'){
$tan = tangen();
$result = $db->query("UPDATE bpm_dienststellen
SET bezeichnung = '$art'
, name = '$name'
, bez = '$bez'
, str = '$str'
, plz = '$plz'
, ort = '$ort'
, mail = '$mail'
, init_tan = '$tan'
, gueltig_von = '$gueltigvon_form'
, gueltig_bis = '$gueltigbis_form'
, regmail_betreff = ''
, regmail_text = ''
, regmail_status = 'O'
, regmail_sendedat = '0000-00-00 00:00:00'
, pwd = ''
, register_dat = '0000-00-00 00:00:00'
WHERE dst_id = $id
");
}else{
$result = $db->query("UPDATE bpm_dienststellen
SET bezeichnung = '$art'
, name = '$name'
, bez = '$bez'
, str = '$str'
, plz = '$plz'
, ort = '$ort'
, mail = '$mail'
, gueltig_von = '$gueltigvon_form'
, gueltig_bis = '$gueltigbis_form'
WHERE dst_id = $id
");
}
unset($_SESSION['prxedit_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&ka_id=$ka_id\">";
}
if ($action == 'del') {
$id = $_GET['id'];
$del1 = $db->query("DELETE FROM bpm_termine WHERE id = $id");
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "\">";
}
if ($action == 'mailsenden') {
$dst_id = $_GET['dst_id'];
$result_erg = $db->query("SELECT regmail_betreff, regmail_text, mail
FROM bpm_dienststellen
WHERE dst_id =$dst_id");
$row_erg = $result_erg->fetch_array();
$sender = "Hochschule Ludwigsburg";
$sendermail = get_parameter(8);
$smarty->assign('mail_sender', $sender);
$smarty->assign('mail_sendermail', $sendermail);
$smarty->assign('mail_text', $row_erg['regmail_text']);
$smarty->assign('mail_betreff', $row_erg['regmail_betreff']);
$smarty->assign('mail_mail', $row_erg['mail']);
$smarty->assign('mail_dstid', $dst_id);
}
if ($action == 'mailsenden2') {
$dst_id = $_POST['dst_id'];
$sender = $_POST['mail_sender'];
$sendermail = $_POST['mail_sendermail'];
$empfaenger = $_POST['mail_mail'];
$betreff = $_POST['betreff'];
$text = $_POST['text'];
#Beim CKEDITOR die <p> Tags mit Zeilenabstand 0 in der Mail
$style ="<head>
<style>
p {margin: 0;}
</style>
</head>
";
$text = $style.$text;
#echo "
#From: $sender - $sendermail<br>
#$empfaenger<br>
#$betreff<br>
#$text<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";
$return = @mail($empfaenger, $betreff, $text, $headers);
$heute = mktime(date("H"), date("i"), date("s"), date("m"), date("d"), date("Y")); // heutiges Datum & Zeit: http://de2.php.net/manual/de/function.date.php
$datum_db = date("Y-m-d H:i:s", $heute); // Formatierung, wie es vor dem Dateinamen erscheinen soll
$text_db = addslashes($text);
$betreff_db = addslashes($betreff);
if ($return) {
$sql1 = $db->query("UPDATE bpm_dienststellen
SET regmail_text = '$text_db'
, regmail_betreff = '$betreff'
, regmail_status = 'V'
, regmail_sendedat = '$datum_db'
WHERE dst_id = $dst_id
");
$smarty->assign('mail_senderg', "Die Mail wurde verschickt!");
} else {
$sql1 = $db->query("UPDATE bpm_dienststellen
SET regmail_text = '$text_db'
, regmail_betreff = '$betreff_db'
, status = 'F'
WHERE dst_id = $dst_id
");
$smarty->assign('mail_senderg', "Die Mail konnte nicht verschickt werden!<br>Prüfen Sie die Mailadresse der Praxissstelle.");
}
}
$smarty->assign('action', "$action");
$smarty->display("$template/admin/$templatename");
?>