dvm/admin/praxisstellen_edit.php
2022-11-28 10:27:30 +01:00

224 lines
8.0 KiB
PHP
Executable File

<?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");
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 dvm_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"]);
}
# -- 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 dvm_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'];
$_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') {
$sql1 = $db->query("INSERT INTO dvm_dienststellen ( bezeichnung
, name
, bez
, str
, plz
, ort
, mail
, gueltig_von
, gueltig_bis
)
VALUES
( '$art'
, '$name'
, '$bez'
, '$str'
, '$plz'
, '$ort'
, '$mail'
, '$gueltigvon_form'
, '$gueltigbis_form'
)
");
}
if ($_SESSION["prxedit_status"] == 'edit') {
$id = $_SESSION["prxedit_id"];
$ka_id = $_SESSION["prxedit_user"];
$result = $db->query("UPDATE dvm_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 dvm_termine WHERE id = $id");
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "\">";
}
$smarty->assign('action', "$action");
$smarty->display("$template/admin/$templatename");
?>