Files
2026-03-24 14:45:06 +01:00

336 lines
9.3 KiB
PHP

<!DOCTYPE HTML>
<!--
Alpha by HTML5 UP
html5up.net | @n33co
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
-->
<html>
<head>
<?php
include('header.php');
?>
<title>Praxis Creutzburg - Anfragenbestätigung</title>
<link rel="stylesheet" href="css/formulare.css" />
</head>
<body >
<!-- Header -->
<header id="header" class="../skel-layers-fixed">
<?php
include('menu.php');
include_once("inc/config.inc.php");
include_once("inc/functions.inc.php");
include_once('inc/functions.impfen.inc.php');
include_once('inc/functions.formulare.inc.php');
?>
</header>
<!-- Main -->
<section id="main" class="container">
<?php
echo showHeaderpraxis();
?>
<section class="box special">
<h2>Anfrage einsehen</h2>
<?php
if(isset($_POST["id"]) || isset($_GET["id"])){
$id = $_POST["id"] ?? ($_GET["id"] ?? null);
if (!$id) {
echo "<h4>Leider konnten wir Ihre Anforderung nicht verarbeiten.</h4><br>Bitte überprüfen Sie den aufgerufenden Link.<br><br>";
exit;
}
// Anfrage + Person laden (NEUES SCHEMA)
$stmt = $pdo->prepare("
SELECT
a.anfrageid,
a.checked,
a.nachricht,
a.medikament1,
a.medikament2,
a.anforderungart,
a.ordnungsid,
p.vorname,
p.nachname,
p.email,
p.tele,
p.geburtstag
FROM anfragen a
INNER JOIN persons p ON a.requester_person_id = p.person_id
WHERE a.hash = ?
LIMIT 1
");
$stmt->execute([$id]);
$row = $stmt->fetch(PDO::FETCH_ASSOC);
if (!$row) {
echo "<h4>Leider konnten wir Ihre Anforderung nicht verarbeiten.</h4><br>Bitte überprüfen Sie den aufgerufenden Link.<br><br>";
exit;
}
// Variablen aus DB
$anfrageid = (int)$row["anfrageid"];
$checked = (int)$row["checked"];
$vorname = $row["vorname"] ?? "";
$nachname = $row["nachname"] ?? "";
$mail = $row["email"] ?? "";
$tel = $row["tele"] ?? "";
$geburtstag = $row["geburtstag"] ?? null;
$userausgabe = trim($vorname . " " . $nachname);
$nachricht = $row["nachricht"] ?? "";
$medikamenteins = $row["medikament1"] ?? "";
$medikamentzwei = $row["medikament2"] ?? "";
$anforderungart = $row["anforderungart"] ?? null;
$ordnungsid = $row["ordnungsid"] ?? null;
// Ordnungsstring wie bisher (deine Funktion)
$ordnungsstring = GetOrdnungsid($ordnungsid);
// Rezeptart-Name holen
$rezeptart = null;
if (!empty($anforderungart)) {
$stmtArt = $pdo->prepare("SELECT artname FROM anfrageart WHERE artid = ? LIMIT 1");
$stmtArt->execute([$anforderungart]);
$rezeptart = $stmtArt->fetchColumn() ?: null;
}
// Ausgabe sicher escapen
$e = fn($s) => htmlspecialchars((string)$s, ENT_QUOTES, 'UTF-8');
if ($checked === 0) {
echo "<h4>Sie haben Ihre Anfrage aktuell noch nicht bestätigt!<br><br>";
echo "Sie haben die folgenden Anfragedaten:<br><br>";
echo "<h4>Name: " . $e($userausgabe) . "</h4>";
echo "<h4>Art: " . $e($ordnungsstring) . " - " . $e($rezeptart) . "</h4>";
if (!empty($medikamenteins)) {
echo "<h4>Medikament1: " . $e($medikamenteins) . "</h4>";
}
if (!empty($medikamentzwei)) {
echo "<h4>Medikament2: " . $e($medikamentzwei) . "</h4>";
}
if (!empty($nachricht)) {
echo "<h4>Nachricht: " . nl2br(strip_tags($nachricht, '<br><b><strong><i><u><p><ul><li>')) . "</h4>";
}
echo "<form action='" . $e($_SERVER['PHP_SELF']) . "' method='POST'>";
echo '<input type="hidden" name="anfrageid" value="' . $e($anfrageid) . '" />';
echo '<input type="hidden" name="aktion" value="2" />';
echo '<input type="submit" id="submitbox" value="Anfrage bestätigen!" />';
echo "</form>";
echo "<form action='" . $e($_SERVER['PHP_SELF']) . "' method='POST'>";
echo '<input type="hidden" name="aktion" value="1" />';
echo '<input type="hidden" name="anfrageid" value="' . $e($anfrageid) . '" />';
echo '<input type="submit" id="submitbox" value="Anfrage löschen!" />';
echo "</form>";
} elseif ($checked === 1) {
echo "<h4>Sie haben Ihre Anforderung bestätigt!<br><b>Vielen Dank!</b><br>";
echo "Sie haben die folgenden Anfragedaten:<br><br>";
echo "<h4>Name: " . $e($userausgabe) . "</h4>";
echo "<h4>Art: " . $e($rezeptart) . "</h4>";
if (!empty($medikamenteins)) {
echo "<h4>Medikament1: " . $e($medikamenteins) . "</h4>";
}
if (!empty($medikamentzwei)) {
echo "<h4>Medikament2: " . $e($medikamentzwei) . "</h4>";
}
if (!empty($nachricht)) {
echo "<h4>Nachricht: " . nl2br(strip_tags($nachricht, '<br><b><strong><i><u><p><ul><li>')) . "</h4>";
}
echo "Hat sich Ihre Anfrage erledigt, tragen Sie sich bitte aus, Ihre Anfrage wird gelöscht:<br>";
echo "<form action='" . $e($_SERVER['PHP_SELF']) . "' method='POST'>";
echo '<input type="hidden" name="aktion" value="1" />';
echo '<input type="hidden" name="anfrageid" value="' . $e($anfrageid) . '" />';
echo '<input type="submit" id="submitbox" value="Anfrage absagen!" />';
echo "</form>";
} elseif ($checked === 2) {
echo "<h4>Ihre Anfrage wurde erfolgreich gelöscht!</h4><br>Wünschen Sie eine neue Anfrage, tragen Sie sich wieder über das Formular ein.<br>";
} elseif ($checked === 3) {
echo "<h4>Ihre Anfrage wurde vom Praxisteam storniert!</h4><br>Wünschen Sie eine neue Anfrage, tragen Sie sich wieder über das Formular ein.<br>";
} elseif ($checked === 10) {
echo "<h4>Ihre Anfrage wurde vom Praxisteam beantwortet!</h4><br>Prüfen Sie Ihre E-Mails auf die Antwort.<br>";
} else {
echo "<h4>Status unbekannt.</h4>";
}
}else if($_POST["aktion"] == 1){
echo "Wollen Sie wirklich Ihren Anfrage löschen?<br>Dieses ist nicht rückgängig zu machen!<br>Dann bestätigen Sie die Abmeldung:<br>";
echo "Bitte bestätigen!";
echo "<form action='". $_SERVER['PHP_SELF'] . "' method=POST>";
echo '<input type="hidden" name="aktion" id="aktion" value="3" />';
echo '<input type="hidden" name="anfrageid" id="anfrageid" value="'. $_POST["anfrageid"] .'" /><br>';
echo '<input type="submit" id="submitbox" value="Anfrage löschen!" />';
echo "</form>";
}else if($_POST["aktion"] == 2){
$anfrageid = (int)($_POST["anfrageid"] ?? 0);
if ($anfrageid <= 0) {
die("<h4>Ungültige Anfrage-ID.</h4>");
}
// 1) Prüfen/Updaten in einem Schritt: nur bestätigen, wenn noch nicht bestätigt
$stmt = $pdo->prepare("
UPDATE anfragen
SET checked = 1
WHERE anfrageid = ?
AND checked < 1
");
$stmt->execute([$anfrageid]);
if ($stmt->rowCount() === 0) {
// Es wurde nichts geändert -> war schon bestätigt oder existiert nicht
// Optional: prüfen ob Anfrage existiert
$stmt = $pdo->prepare("SELECT checked FROM anfragen WHERE anfrageid = ? LIMIT 1");
$stmt->execute([$anfrageid]);
$checked = $stmt->fetchColumn();
if ($checked === false) {
echo "<h4>Anfrage nicht gefunden.</h4>";
} else {
echo "<h4>Sie haben Ihre Anfrage schon bestätigt.</h4>";
}
exit;
}
echo "<h4>Ihre Anfrage wurde erfolgreich bestätigt!</h4><br>";
// 2) Anfrage + Person laden (NEUES SCHEMA)
$stmt = $pdo->prepare("
SELECT
ordnungsid
FROM anfragen a
WHERE anfrageid = ?
LIMIT 1
");
$stmt->execute([$anfrageid]);
$ordnungsid = $stmt->fetchColumn();
echo "Sie erhalten gleich eine schriftliche Bestätigung per E-Mail<br><br>";
if (!$row) {
echo "<h4>Fehler: Anfrage wurde bestätigt, aber konnte nicht geladen werden.</h4>";
exit;
}
$ordnungsid = $row["ordnungsid"] ?? null;
if($ordnungsid == 1){
// Anfragen allgemein Bestätigung
SendMailMessageVorlage($pdo, "3", $anfrageid, "19");
}else if($ordnungsid == 2 || $ordnungsid == 3){
// Anfragen Rezept Bestätigung
SendMailMessageVorlage($pdo, "3", $anfrageid, "26");
}
}else if($_POST["aktion"] == 3){
$anfrageid = (int)($_POST["anfrageid"] ?? 0);
if ($anfrageid <= 0) {
die("<h4>Ungültige Anfrage-ID.</h4>");
}
/*
1) Anfrage auf "gelöscht" setzen,
aber nur wenn noch nicht gelöscht (checked < 2)
*/
$stmt = $pdo->prepare("
UPDATE anfragen
SET checked = 2
WHERE anfrageid = ?
AND checked < 2
");
$stmt->execute([$anfrageid]);
if ($stmt->rowCount() === 0) {
// Entweder existiert nicht oder war schon gelöscht
$stmt = $pdo->prepare("SELECT checked FROM anfragen WHERE anfrageid = ? LIMIT 1");
$stmt->execute([$anfrageid]);
$checked = $stmt->fetchColumn();
if ($checked === false) {
echo "<h4>Anfrage nicht gefunden.</h4>";
} else {
echo "<h4>Sie haben Ihre Anfrage schon gelöscht.</h4>";
}
}else{
echo "<h4>Ihre Anfrage wurde erfolgreich gelöscht!</h4><br>";
echo "Sie erhalten gleich eine schriftliche Bestätigung per E-Mail<br>";
SendMailMessageVorlage($pdo, "3", $anfrageid, "49");
}
}else{
echo "Leider konnten wir Ihre ID-Nummer nicht erkennen.<br>Bitte tragen Sie diese in dem folgendem Feld ein und klicken Sie auf 'Senden'<br><br>";
echo "<form action='". $_SERVER['PHP_SELF'] . "' method=POST>";
echo '<input type="text" name="id" id="id" value="" placeholder="ID Kennung aus der E-Mail" required /><br>';
echo '<input type="submit" id="submitbox" value="Senden" />';
}
?>
</section>
<?php
include_once('footer.php');
?>
</body>
</html>