<?php
// admin/bootstrap.php
ob_start(); // fängt zufälligen Output ab, verhindert "headers already sent" Folgeschäden
if (session_status() !== PHP_SESSION_ACTIVE) {
    session_start();
}

require_once(__DIR__ . "/../inc/config.inc.php");
require_once(__DIR__ . "/../inc/functions.inc.php");

$user = check_admin_user();
$internUserId = (int)$_SESSION['auth']['id'];
include("templates/header.inc.php");
if (!$user) { echo "<div class='container main-container'><h3>Erst anmelden: <a href=login.php>Login</a></h3><br>";

include("templates/footer.inc.php");
 exit; }
?>
<script src="/admin/js/tinymce/tinymce.min.js" referrerpolicy="origin"></script>
<div class="container main-container">
<?php
 ##test2
echo '<div style="float: right; width: 200px; ">';
		echo "<form action='". $_SERVER['PHP_SELF'] . "' id='formbenutzersuche' method=POST>";
		echo '<input type="hidden" name="aktion" value="benutzersuche" />';
		echo '<input type="hidden" name="userid_input" id="userid_input" />';
		echo '<label>Benutzersuche Anfragen:</label>
				<input type="text" id="user_input" name="skill_input" width="48"/>';
		//echo '<input type="submit" class="btn btn-primary" id="submitbox" value="" />';
		echo "</form>";	
echo '</div>';
?>
<h2>Administration - Anfragen</h2>

Hallo <?php echo htmlentities($user['vorname']); ?>,<br>
Herzlich Willkommen im internen Bereich!<br><br>

	

							

<?php

if(!check_worker()){
	 echo "<div class='container main-container'><h3>Erst anmelden: <a href=login.php>Login</a></h3><br>";
	echo $_SESSION['userid'];

}else{
		
		if (($_POST["aktion"] ?? '') == "1") {
			
		
				echo "<header><h2>Anfragen bearbeiten</h2></header>";
				echo "</div><div class='container main-container' style='background-color:white;'>";
				
				echo '<div style="float: left;padding: 20px;">
					<form action="' . $_SERVER["PHP_SELF"] .'" method=POST>
					<input type=hidden name=aktion value="1">
					<input type=hidden name=art value="1">
					<input type=submit class="btn btn-primary btn-sm" value="Unbeantworte Anfragen">
					</form>
					</div>';
				echo '<div style="float: left;padding: 20px;">
					<form action="' . $_SERVER["PHP_SELF"] .'" method=POST>
					<input type=hidden name=aktion value="1">
					<input type=hidden name=art value="2">
					<input type=submit class="btn btn-primary btn-sm" value="Letzten 100 Anfragen">
					</form>
					</div>';
				echo '<div style="float: left;padding: 20px;">
					<form action="' . $_SERVER["PHP_SELF"] .'" method=POST>
					<input type=hidden name=aktion value="1">
					<input type=hidden name=art value="3">
					<input type=submit class="btn btn-primary btn-sm" value="Letzten 500 Anfragen">
					</form>
					</div>';
				echo '<div style="float: left;padding: 20px;">
					<form action="' . $_SERVER["PHP_SELF"] .'" method=POST>
					<input type=hidden name=aktion value="1">
					<input type=hidden name=art value="4">
					<input type=submit class="btn btn-primary btn-sm" value="Alle Anfragen">
					</form>
					</div>';
				echo "<br><br><br><br>";
				
				
				//<br><br><input type="button" class='btn btn btn-secondary' value="Zum Hauptmenü" onClick="location.href='index.php'"> <br>
				?> 

				
				<?php

				
				
				
				$art = $_POST["art"] ?? "1";

				// Default
				$sql = "
					SELECT 
						a.*, 
						p.vorname, p.nachname, p.email, p.tele, p.geburtstag, 
						p.ort, p.plz, p.strasse,
						aa.artname
					FROM anfragen a
					JOIN persons p ON a.requester_person_id = p.person_id
					JOIN anfrageart aa ON a.anforderungart = aa.artid
				";

				$params = [];

				switch ($art) {
					case "1":
						$sql .= " WHERE a.beantwortet = 0 AND (a.checked = 0 OR a.checked = 1)
								  ORDER BY a.create_time";
						break;

					case "2":
						$sql .= " WHERE a.beantwortet IN (0,1)
								  ORDER BY a.create_time DESC
								  LIMIT 100";
						break;

					case "3":
						$sql .= " WHERE a.beantwortet IN (0,1)
								  ORDER BY a.create_time DESC
								  LIMIT 500";
						break;

					case "4":
						$sql .= " WHERE a.beantwortet IN (0,1)
								  ORDER BY a.create_time DESC";
						break;

					default:
						$sql .= " WHERE a.beantwortet = 0 AND (a.checked = 0 OR a.checked = 1)
								  ORDER BY a.create_time";
						$art = "1";
						break;
				}

				$stmt = $pdo->prepare($sql);
				$stmt->execute($params);
				$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
			

				if($art == "1"){
					echo "<table  width= 100% border='1' id='tableanfragen' class='display'>";
				}else{
					echo "<table  width= 100% border='1' id='tableanfragendesc' class='display'>";
				}
				echo "<thead><tr><th>Person</th><th>Adresse</th><th>Anfrageart/Infos</th><th>Erstellung</th><th>Status</th><th>Aktion</th></tr></thead><tbody>";
				
				foreach ($rows as $row) {

					
					
					$anfrageid = $row["anfrageid"];
					$userid = $row["userid"];
					$checked = $row["checked"];
					$workerid = $row["workerid"];
					$date_created = $row["create_time"];
					$update_time = $row["update_time"];

					$vorname = $row["vorname"];
					$nachname = $row["nachname"];
					$mail = $row["email"];
					$tel = $row["tele"];
					$beantwortet = $row["beantwortet"];
					
					$geburtstag = $row["geburtstag"];
					$ausgabegeburstag = $geburtstag;
					
					$ort = $row["ort"];
					$plz = $row["plz"];
					$strasse = $row["strasse"];
				
					$nachricht = $row["nachricht"];
					$medikamenteins = $row["medikament1"];
					$medikamentzwei = $row["medikament2"];
					$medikamentdrei = $row["medikament3"];
					$medikamentvier = $row["medikament4"];
					$medikamentfuenf = $row["medikament5"];
					$medikamentsechs = $row["medikament6"];
					$dateiname = $row["dateiname"];
					
					
					$anfrageart = $row["artname"];
					$ordnungsid = $row["ordnungsid"];
					$ordnungsstring = GetOrdnungsid($ordnungsid);
					$WeitereInfos= "";
					$sicherenachricht = $row["sicherenachricht"];
					if($sicherenachricht == "1"){
						$WeitereInfos .= "Interne Anfrage<br>";
					}else{
						$WeitereInfos .= "Mailanfrage<br>";
					}	
					if($medikamenteins){
						$WeitereInfos .= "Medikament1: $medikamenteins<br>";
					}
					if($medikamentzwei){
						$WeitereInfos .= "Medikament2: $medikamentzwei<br>";
					}
					if($medikamentdrei){
						$WeitereInfos .= "Medikament3: $medikamentdrei<br>";
					}
					if($medikamentvier){
						$WeitereInfos .= "Medikament4: $medikamentvier<br>";
					}
					if($medikamentfuenf){
						$WeitereInfos .= "Medikament5: $medikamentfuenf<br>";
					}
					if($medikamentsechs){
						$WeitereInfos .= "Medikament6: $medikamentsechs<br>";
					}
					if($nachricht){
						$WeitereInfos .= "Nachricht: $nachricht";
					}
					if($dateiname){
						$WeitereInfos .= "<br>Dateiname: $dateiname";
					}

					#$datumausgabe= date("Y-m-d H:i", strtotime($date_created ));
					$currentDate = new DateTime($date_created);
					$datumausgabe = $currentDate->format('Y-m-d H:i');
						
					$ausgabeworker = GetWorkerName($workerid);
					$farbe = GetStatusFarbe($checked);
					$checkausgabe = GetStatus($checked);
					
					$userausgabe = $vorname . " " . $nachname . "<br>" . $ausgabegeburstag;
					$adresse =  $plz . " " . $ort . "<br>" . $strasse ;		
					$adresse = $adresse;
					echo "<tr style='background-color:". $farbe. ";'><td>$userausgabe <br> $mail <br>Tel:<a href='tel:".$tel."'>$tel</a></td><td>$adresse</td><td>$ordnungsstring - $anfrageart <br>$WeitereInfos</td><td>$datumausgabe</td><td>$update_time<br>$checkausgabe<br>$ausgabeworker</td><td>
					<div style='float: left;margin:15px; height: 20px;'>
					<form action='". $_SERVER["PHP_SELF"] ."' method=POST>
						<input type=hidden name=aktion value=2>
						<input type=hidden name=anfrageid value=$anfrageid>
						<input type=submit class='btn btn-primary' value='Antworten'>
						</form>
					</div>
					<div style='float: left;margin:15px; height: 20px;'>
					<form action='". $_SERVER["PHP_SELF"] ."' method=POST>
						<input type=hidden name=aktion value=20>
						<input type=hidden name=anfrageid value=$anfrageid>
						<input type=submit class='btn btn-primary' value='Telefonisch beantwortet'>
						</form>						
					</div>
					<div style='float: left;margin:15px; height: 20px;'>
					<form action='". $_SERVER["PHP_SELF"] ."' method=POST>
						<input type=hidden name=aktion value=8>
						<input type=hidden name=anfrageid value=$anfrageid>
						<input type=submit class='btn btn-primary' value='Löschen'>
						</form>						
					</div>";
					if($beantwortet){ 
						echo "
						<div style='float: left;margin:15px; height: 20px;'>
						<form action='". $_SERVER["PHP_SELF"] ."' method=POST>
							<input type=hidden name=aktion value=11>
							<input type=hidden name=anfrageid value=$anfrageid>
							<input type=submit class='btn btn-primary' value='Antwort einsehen'>
							</form>						
						</div>	
						";
					}

					
					echo"	</td></tr>
					";
					
				}
		
			echo "</tbody></table>";
		
		
		// Benutzer nachtragen	
		}else if (($_POST["aktion"] ?? '') == "2") {

			echo "<form action='". $_SERVER['PHP_SELF'] . "' method=POST>";


			$anfrageid = (int)($_POST["anfrageid"] ?? 0);
			if ($anfrageid <= 0) {
				die("Ungültige Anfrage-ID");
			}

			$sql = "
				SELECT
					a.*,
					p.vorname, p.nachname, p.email, p.tele, p.geburtstag,
					p.ort, p.plz, p.strasse,
					aa.artname
				FROM anfragen a
				INNER JOIN persons p ON a.requester_person_id = p.person_id
				INNER JOIN anfrageart aa ON a.anforderungart = aa.artid
				WHERE a.anfrageid = ?
				LIMIT 1
			";

			$stmt = $pdo->prepare($sql);
			$stmt->execute([$anfrageid]);
			$row = $stmt->fetch(PDO::FETCH_ASSOC);

			if (!$row) {
				echo "Anfrage nicht gefunden.";
				exit;
			}

			// Ticket und Antwort ansehen.
			$abholort = $row["abholort"] ?? null;
			$sicherenachricht = $row["sicherenachricht"] ?? null;

			$anfrageid = $row["anfrageid"];
			$checked   = $row["checked"];
			$workerid  = $row["workerid"];
			$antwortid = $row["antwortid"] ?? null;
			$date_created = $row["create_time"];

			$vorname  = $row["vorname"];
			$nachname = $row["nachname"];
			$mail     = $row["email"];
			$tel      = $row["tele"];

			$geburtstag = $row["geburtstag"];
			$ausgabegeburstag = $geburtstag;

			$ort     = $row["ort"];
			$plz     = $row["plz"];
			$strasse = $row["strasse"];

			$ordnungsid = $row["ordnungsid"];
			$ordnungsstring = GetOrdnungsid($ordnungsid);

			$nachricht = $row["nachricht"];

			$medikamenteins  = $row["medikament1"];
			$medikamentzwei  = $row["medikament2"];
			$medikamentdrei  = $row["medikament3"];
			$medikamentvier  = $row["medikament4"];
			$medikamentfuenf = $row["medikament5"];
			$medikamentsechs = $row["medikament6"];

			$anfrageart = $row["artname"];
			$antworttext = $row["antworttext"] ?? null;

			$WeitereInfos = "";
			if ($medikamenteins)  $WeitereInfos .= "Medikament1: $medikamenteins<br>";
			if ($medikamentzwei)  $WeitereInfos .= "Medikament2: $medikamentzwei<br>";
			if ($medikamentdrei)  $WeitereInfos .= "Medikament3: $medikamentdrei<br>";
			if ($medikamentvier)  $WeitereInfos .= "Medikament4: $medikamentvier<br>";
			if ($medikamentfuenf) $WeitereInfos .= "Medikament5: $medikamentfuenf<br>";
			if ($medikamentsechs) $WeitereInfos .= "Medikament6: $medikamentsechs<br>";
			if ($nachricht)       $WeitereInfos .= "Nachricht: $nachricht";

				
			#$datumausgabe= date("d.m.Y H:i", strtotime($date_created ));
			$currentDate = new DateTime($date_created);
			$datumausgabe = $currentDate->format('d.m.Y H:i');	
			
			$ausgabeworker = GetWorkerName($workerid);
			$farbe = GetStatusFarbe($checked);
			$checkausgabe = GetStatus($checked);
								
			$userausgabe = $vorname . " " . $nachname;
			$adresse =  $plz . " " . $ort . ", " . $strasse ;		
			#$body = iconv('CP1252//IGNORE', 'UTF-8' , $antworttext);
			
			
			echo "<b>Person:</b><br>$userausgabe <br> $mail <br><br><b>Anfrageinformationen:</b><br>$ordnungsstring - $anfrageart <br>$WeitereInfos<br><br>";
			
			
			if($sicherenachricht == 1){
				echo '<div class="alert alert-success" role="alert">Interne Anfrage - Sozialdaten könnten angegeben werden.</div>';
			}else{
				echo '<div class="alert alert-danger" role="alert">Mail Anfrage - Sozialdaten sollten nicht angegeben werden.</div>';
			}
			
			
			if($abholort == "1"){
				$selectid = "20";
			}elseif($abholort == "2"){
				$selectid = "21";
			}
			
			
			
			echo "Wählen Sie die gewünschte Mailvorlage aus:<br><br>";

			$stmt = $pdo->prepare("
				SELECT name, templetid
				FROM mailtemplates
				WHERE mailbearbeitung = 1
				ORDER BY name
			");
			$stmt->execute();
			$templates = $stmt->fetchAll(PDO::FETCH_ASSOC);

			echo "<input name='aktion' type='hidden' value='3'>";
			echo "<select class='form-control' name='templetid' id='templetid' onchange='templateUpdate()'>";
			echo "<option value=''>Bitte auswählen</option>";

			foreach ($templates as $row) {
				$tid = trim((string)$row["templetid"]);
				$nameRaw = (string)$row["name"];
				$nameUtf8 = iconv('CP1252//IGNORE', 'UTF-8', $nameRaw);

				if ($tid === "") continue;

				$selected = (!empty($selectid) && (string)$selectid === $tid) ? " selected" : "";

				echo "<option value='" . htmlspecialchars($tid, ENT_QUOTES | ENT_SUBSTITUTE, 'UTF-8') . "'$selected>" .
					 htmlspecialchars($nameRaw, ENT_QUOTES | ENT_SUBSTITUTE, 'UTF-8') .
					 "</option>";
			}

			echo "</select><br><br>";
		


			// E-Mail Vorlage laden
			
			$templetid = $_POST["templetid"] ?? "";
			$templetid = trim($templetid);

			$body = $betreff = $name = "";

			if ($templetid !== "") {
				$stmt = $pdo->prepare("
					SELECT betreff, body, name
					FROM mailtemplates
					WHERE templetid = ?
					LIMIT 1
				");
				$stmt->execute([$templetid]);
				$rowconfig = $stmt->fetch(PDO::FETCH_ASSOC);

				if ($rowconfig) {
					$body    = $rowconfig["body"] ?? "";
					$betreff = $rowconfig["betreff"] ?? "";
					$name    = $rowconfig["name"] ?? "";

					// Nur wenn du WIRKLICH CP1252 in der DB hast:
					// (bei utf8mb4 brauchst du das NICHT!)
					#$name    = iconv('CP1252//IGNORE', 'UTF-8', $name);
					#$betreff = iconv('CP1252//IGNORE', 'UTF-8', $betreff);
					#$body    = iconv('CP1252//IGNORE', 'UTF-8', $body);
				}
			}

		
			echo "<h1>E-Mail bearbeiten</h1><br>";
			
			echo "<form action='". $_SERVER['PHP_SELF'] . "' method=POST>";
			echo "Betreff:<br>";
			echo "<input class='form-control' name=betreff type=text value='$betreff' id='betreff' onclick='checkTemplate()'><br>";
			echo '<textarea height=400 name="body" id="trumbowyg-demo" ></textarea>';
			echo "<input name=aktion type=hidden value=3>";
			echo "<input name=anfrageid type=hidden value='". $_POST["anfrageid"] ."' id='anfrageid'><br><br>";
			echo "<input type=submit class='btn btn-primary' value='Mail versenden'><br>";
			echo '</form>';
			echo "<br><br>";
			echo "<br><br>";
			ZuruckzumAnfrageOverView();
			
		?>
			  
			  <script type="text/javascript">
			  tinymce.init({
				selector: '#mytextarea',
				height: 800,
				plugins: ' advcode casechange formatpainter linkchecker autolink lists checklist media  pageembed  table advtable ',
				  toolbar: 'checklist code table',
				  toolbar_mode: 'floating',
			  });

			window.addEventListener("load",function(){
				templateUpdate();
			},false);
			  
			  </script>
		<?php
		}else if (($_POST["aktion"] ?? '') == "3") {
			
			$anfrageid = (int)($_POST["anfrageid"] ?? 0);
			$templetid = (int)($_POST["templetid"] ?? 0);

			if ($anfrageid <= 0) {
				die("Ungültige Anfrage-ID");
			}

			// 1) Empfänger + sicherenachricht laden
			$stmt = $pdo->prepare("
				SELECT acc.email, a.sicherenachricht
				FROM anfragen a
				LEFT JOIN persons acc ON acc.person_id = a.requester_person_id
				WHERE a.anfrageid = :anfrageid
				LIMIT 1
			");
			$stmt->execute([':anfrageid' => $anfrageid]);
			$rowuser = $stmt->fetch(PDO::FETCH_ASSOC);
			
			if (!$rowuser) {
				die("Anfrage nicht gefunden.");
			}

			$empfaenger = (string)$rowuser["email"];
			$sicherenachricht = (int)$rowuser["sicherenachricht"];

			// 2) Betreff + Body aus POST
			// Du speicherst in der DB offenbar CP1252 (weil du später iconv auf CP1252 machst)
			$betreff_cp1252 = $_POST["betreff"] ?? "";
			$body_cp1252    = $_POST["body"] ?? "";

			// 3) Anfrage updaten (mit prepared statement!)
			$stmt = $pdo->prepare("
				UPDATE anfragen
				SET
					beantwortet = 1,
					checked = 10,
					workerid = :workerid,
					antwortid = :antwortid,
					antworttext = :antworttext,
					mailtime = :mailtime
				WHERE anfrageid = :anfrageid
			");

			$ok = $stmt->execute([
				':workerid'     => (int)$user["id"],
				':antwortid'    => $templetid,
				':antworttext'  => $body_cp1252,
				':mailtime'     => date("Y-m-d H:i:s"),
				':anfrageid'    => $anfrageid,
			]);

			try {
				// 1) Mail senden
				$mailOk = false;

				if ((int)$sicherenachricht === 1) {
					SendMailMessageVorlage($pdo, "3", $anfrageid, "43"); // muss true/false liefern
					$mailOk = true;
				} else {
					$mailOk = SendMailMessage($pdo, $empfaenger, $_POST["betreff"], $_POST["body"]); // true/false
				}

				if (!$mailOk) {
					throw new RuntimeException("E-Mail konnte nicht versendet werden.");
				}

				// 2) DB erst jetzt updaten
				$stmt = $pdo->prepare("
					UPDATE anfragen
					SET beantwortet = 1,
						checked = 10,
						workerid = :workerid,
						antwortid = :antwortid,
						antworttext = :antworttext,
						mailtime = :mailtime
					WHERE anfrageid = :anfrageid
				");
				$stmt->execute([
					':workerid'     => (int)$user["id"],
					':antwortid'    => (int)$templetid,
					':antworttext'  => $body_cp1252,
					':mailtime'     => date("Y-m-d H:i:s"),
					':anfrageid'    => (int)$anfrageid,
				]);

				echo "<h3>Mail wurde versendet</h3>";

			} catch (Throwable $e) {
				echo "<h3>Fehler</h3>";
				echo "E-Mailversand fehlgeschlagen – es wurde nichts gespeichert.<br>";
			}
			
		}else if (($_POST["aktion"] ?? '') == "4") {
			echo "<h3>Urlaubsplanung</h3>";
			echo "Während des Urlaubs können keine Anfragen an das Praxis Team gestellt werden.<br><br>";
			
			echo '<div class="alert alert-danger" role="alert"><h4>Wichtige Hinweise</h4>
			Nur an Tagen, die hier aufgeführt werden, können keine Anfragen gestellt werden.<br>
			<br>
			<b>Telefonanlage</b><br>
			Die Telefonanlage wird auch über dieses Formular gesteuert.<br><br>
			<b>Überprüfung</b><br>
			Bitte die Setzung für die Telefonanlage hier überprüfen:<br>
			<a href="https://praxis-creutzburg.de/ical/urlaub_generator.php" target="_blank">Terminüberprüfung</a>
			
			</div>';
			
			try {
				$heute = date("Y-m-d");

				$stmt = $pdo->prepare("
					SELECT urlaubid, start, ende, vertretung, vertretertelefon, vertreteradresse, vertreterurl
					FROM urlaub
					WHERE ende >= :heute
					ORDER BY start ASC
				");
				$stmt->execute([':heute' => $heute]);

				$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);

				echo "<h3>Aktuell gibt es folgende Urlaubseinträge</h3>";
				echo "Soll der Urlaub deaktiviert / gelöscht werden, dann das Anfangs- und Enddatum in die Vergangenheit legen und den Eintrag speichern.<br><br>";
				echo "<h4>Eintragungshinweis</h4>";
				echo "Bei der Einrichtung bedenken, dass freie Tage (Wochenende, Feiertage) nicht erkannt werden. <br>
					  So sollten Sie bei Urlaub ab Montag hier den Starttermin auf Freitag oder Samstag stellen. <br>
					  Gleiches gilt für ein Ende an einem Freitag. Tragen Sie dann hier als Ende Sonntag ein.<br><br><br>";

				echo '<form action="' . htmlspecialchars($_SERVER['PHP_SELF'], ENT_QUOTES, 'UTF-8') . '" method="POST">';

				foreach ($rows as $row) {
					$start = (string)$row["start"];
					$ende  = (string)$row["ende"];

					$vertretung        = (string)$row["vertretung"];
					$vertretertelefon  = (string)$row["vertretertelefon"];
					$vertreteradresse  = (string)$row["vertreteradresse"];
					$vertreterurl      = (string)$row["vertreterurl"];
					$urlaubid          = (int)$row["urlaubid"];

					echo "Start: <input class='form-control' name='Starttime[]' type='date' value='" . htmlspecialchars($start, ENT_QUOTES, 'UTF-8') . "'>
						  Ende: <input class='form-control' name='Endetime[]' type='date' value='" . htmlspecialchars($ende, ENT_QUOTES, 'UTF-8') . "'><br>
						  Vertretung: <input class='form-control' name='vertretung[]' type='text' value='" . htmlspecialchars($vertretung, ENT_QUOTES, 'UTF-8') . "'>";

					echo "<br>Vertretung Telefon: <input class='form-control' name='vertretertelefon[]' type='text' value='" . htmlspecialchars($vertretertelefon, ENT_QUOTES, 'UTF-8') . "'>
						  <br>Vertretung Adresse: <input class='form-control' name='vertreteradresse[]' type='text' value='" . htmlspecialchars($vertreteradresse, ENT_QUOTES, 'UTF-8') . "'>";

					echo "<br>Vertretung Webseite: <input class='form-control' name='vertreterurl[]' type='text' value='" . htmlspecialchars($vertreterurl, ENT_QUOTES, 'UTF-8') . "'>";

					echo "<input name='urlaubid[]' type='hidden' value='" . $urlaubid . "'><br>";
				}

				echo '<div id="neuerUrlaub"></div>';
				echo "<br><br>";
				echo "<input name='aktion' type='hidden' value='5'>";

				// Fix: href="javascript:..." war falsch geschrieben (fehlendes =)
				echo '<a class="btn btn-primary" href="javascript:void(0);" onclick="AddneueTermine()">Neuer Zeitslot</a>';

			} catch (PDOException $e) {
				// Kein echo vom SQL direkt ins Frontend in Prod – aber zum Debuggen ok:
				die("Datenbankfehler: " . htmlspecialchars($e->getMessage(), ENT_QUOTES, 'UTF-8'));
			}

			
			 
			echo "<br><br><input type=submit class='btn btn-primary' name=eintragspeichern value='Einträge speichern'></form>";

		
			
		
		}else if (($_POST["aktion"] ?? '') == "5") {
			// Termine in DB speichern.
			$i =0;
			foreach ($_POST['Starttime'] as $Starttime) { 
				//echo $datum . "<br>";	
				if($_POST["Starttime"][$i] != "0000-00-00"){
					//echo $_POST["urlaubid"][$i] . "<br>";
					$stmt = $pdo->prepare("
						INSERT INTO urlaub
						(urlaubid, vertretung, start, ende, vertretertelefon, vertreteradresse, vertreterurl)
						VALUES
						(:urlaubid, :vertretung, :start, :ende, :telefon, :adresse, :url)
						ON DUPLICATE KEY UPDATE
							vertretung = VALUES(vertretung),
							start = VALUES(start),
							ende = VALUES(ende),
							vertretertelefon = VALUES(vertretertelefon),
							vertreteradresse = VALUES(vertreteradresse),
							vertreterurl = VALUES(vertreterurl)
					");

					$ok = $stmt->execute([
						':urlaubid'   => (int)$_POST['urlaubid'][$i],  // 0 = INSERT, >0 = UPDATE
						':vertretung' => $_POST['vertretung'][$i],
						':start'      => $_POST['Starttime'][$i],
						':ende'       => $_POST['Endetime'][$i],
						':telefon'    => $_POST['vertretertelefon'][$i],
						':adresse'    => $_POST['vertreteradresse'][$i],
						':url'        => $_POST['vertreterurl'][$i],
					]);

					if (!$ok) {
						throw new RuntimeException("Fehler beim Eintragen in der Datenbank.");
					}
				}
				$i++;
			}	
			echo "Einträge wurden in der Datenbank gespeichert!<br><br>";

		}else if (($_POST["aktion"] ?? '') == "6") {
			echo "<h3>Notfallsprechstunde</h3>";
			echo "Während der Notfallsprechstunde gibt es einen Hinweisfeld auf der Hauptseite, aber es können noch Anfragen an das Praxis Team gestellt werden.<br>";
			echo "Wird Urlaub aktiviert, dann gibt es keinen Hinweis auf die Notfallsprechstunde<br>";
			// Check connection
			try {
				$heute = date("Y-m-d");

				$stmt = $pdo->prepare("
					SELECT *
					FROM notfallsprechstunde
					WHERE ende >= :heute
					ORDER BY ende ASC
				");
				$stmt->execute([':heute' => $heute]);
				$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);

			} catch (PDOException $e) {
				die("Datenbankfehler: " . $e->getMessage());
			}

			echo "<h3>Aktuell gibt es folgende Einträge für die Notfallsprechstunde</h3>";
			echo "Soll die Notfallsprechstunde deaktiviert / gelöscht werden, dann das Anfangs- und Enddatum in die Vergangenheit legen und den Eintrag speichern.<br><br><br>";

			echo '<form action="' . htmlspecialchars($_SERVER['PHP_SELF'], ENT_QUOTES, 'UTF-8') . '" method="POST">';

			foreach ($rows as $row) {
				$start     = $row["start"];
				$ende      = $row["ende"];
				$hinweis   = $row["hinweis"];
				$notfallid = (int)$row["notfallid"];

				echo "<h3>Termin " . htmlspecialchars($start, ENT_QUOTES, 'UTF-8') . " - " . htmlspecialchars($ende, ENT_QUOTES, 'UTF-8') . "</h3>";

				echo "Start: <input class='form-control' name='Starttime[]' type='date' value='" . htmlspecialchars($start, ENT_QUOTES, 'UTF-8') . "'> ";
				echo "Ende: <input class='form-control' name='Endetime[]' type='date' value='" . htmlspecialchars($ende, ENT_QUOTES, 'UTF-8') . "'><br>";

				echo "<br>Hinweis: (Dieser Hinweis wird eins zu eins auf der Hauptseite angezeigt!):<br>";
				echo "<textarea height='300' name='hinweis[]' id='trumbowyg-demo'>" . htmlspecialchars($hinweis, ENT_QUOTES, 'UTF-8') . "</textarea>";

				echo "<input name='notfallid[]' type='hidden' value='" . $notfallid . "'><br>";
			}

			echo "<div id='neuerUrlaub'></div>";
			echo "<br><br>";
			echo "<input name='aktion' type='hidden' value='7'>";
			echo '<a class="btn btn-primary" href="javascript:void(0);" onclick="AddneueTermineNotfall()">Neuer Zeitslot</a>';

			
			 
			echo "<br><br><input type=submit class='btn btn-primary' name=eintragspeichern value='Einträge speichern'></form>";

		
			
		
		}else if (($_POST["aktion"] ?? '') == "7") {
			// Termine in DB speichern.
			try {
				$pdo->beginTransaction();

				$insertStmt = $pdo->prepare("
					INSERT INTO notfallsprechstunde (start, ende, hinweis)
					VALUES (:start, :ende, :hinweis)
				");

				$updateStmt = $pdo->prepare("
					UPDATE notfallsprechstunde
					SET start = :start,
						ende = :ende,
						hinweis = :hinweis
					WHERE notfallid = :notfallid
				");

				foreach (($_POST['Starttime'] ?? []) as $i => $start) {

					$start = (string)$start;
					$ende  = (string)($_POST['Endetime'][$i] ?? '');
					$hinweis = (string)($_POST['hinweis'][$i] ?? '');
					$notfallid = (int)($_POST['notfallid'][$i] ?? 0);

					// Skip leere / ungültige Datumseinträge
					if ($start === '' || $start === '0000-00-00') {
						continue;
					}

					if ($notfallid === 0) {
						$insertStmt->execute([
							':start'   => $start,
							':ende'    => $ende,
							':hinweis' => $hinweis,
						]);
					} else {
						$updateStmt->execute([
							':start'     => $start,
							':ende'      => $ende,
							':hinweis'   => $hinweis,
							':notfallid' => $notfallid,
						]);
					}
				}

				$pdo->commit();
				echo "Einträge wurden in der Datenbank gespeichert!<br><br>";

			} catch (PDOException $e) {
				if ($pdo->inTransaction()) {
					$pdo->rollBack();
				}
				die("Fehler beim Eintragen in der Datenbank: " . $e->getMessage());
			}
			echo'			<form action="'. $_SERVER["PHP_SELF"] .'" method=POST>
			<input type=hidden name=aktion value=6>
			<input type=submit class="btn btn-primary" value="Zurück">
			</form>';
			
		}
		else if (($_POST["aktion"] ?? '') == "8") {
			
			$anfrageid = (int)($_POST["anfrageid"] ?? 0);

			$stmt = $pdo->prepare("
				SELECT *
				FROM anfragen a
				INNER JOIN persons p ON p.person_id = a.requester_person_id
				WHERE a.anfrageid = :anfrageid
				LIMIT 1
			");

			$stmt->execute([
				':anfrageid' => $anfrageid
			]);

			$rowtime = $stmt->fetch(PDO::FETCH_ASSOC);

			if (!$rowtime) {
				die("Anfrage nicht gefunden");
			}

			$vorname = $rowtime["vorname"];
			$nachname = $rowtime["nachname"];
			$userausgabe = $vorname . " " . $nachname;
		

			echo "Name:<br>$userausgabe<br>Anforderung: $impfstofftext<br>";
			echo "Wollen Sie wirklich diesen Eintrag löschen?<br>Dieses ist nicht rückgängig zu machen!<br>Dann bestätigen Sie die Abmeldung:<br>";
			echo "<form action='". $_SERVER['PHP_SELF'] . "' method=POST>";
			echo '<input type="hidden" name="aktion" id="aktion" value="9" />';
			echo '<input type="hidden" name="anfrageid" id="anfrageid" value="'. $anfrageid .'" /><br>';
			echo '<input type="submit" class="btn btn-primary" id="submitbox" value="Anforderung löschen (mit Mail)" />';
			echo "<br>";
			echo "<form action='". $_SERVER['PHP_SELF'] . "' method=POST>";
			echo '<input type="hidden" name="aktion" id="aktion" value="10" />';
			echo '<input type="hidden" name="anfrageid" id="anfrageid" value="'. $anfrageid .'" /><br>';
			echo '<input type="submit" class="btn btn-primary" id="submitbox" value="Anforderung löschen (ohne Mail)" />';
			echo "</form>";	
			echo "<br><br>";
			echo "<br><br>";
			ZuruckzumAnfrageOverView();
		// Benutzer absagen bestätigen?
		}else if (($_POST["aktion"] ?? '') == "9") {
				
			$anfrageid = (int)($_POST["anfrageid"] ?? 0);
			if ($anfrageid <= 0) {
				die("Ungültige Anfrage-ID");
			}

			try {
				$pdo->beginTransaction();

				// sicherstellen, dass Anfrage existiert
				$stmt = $pdo->prepare("SELECT anfrageid FROM anfragen WHERE anfrageid = :anfrageid LIMIT 1");
				$stmt->execute([':anfrageid' => $anfrageid]);
				if (!$stmt->fetch(PDO::FETCH_ASSOC)) {
					throw new RuntimeException("Anfrage nicht gefunden");
				}

				// Update vorbereiten/ausführen
				$stmt = $pdo->prepare("
					UPDATE anfragen
					SET beantwortet = 1,
						checked     = 30,
						workerid    = :workerid,
						antwortid   = 0
					WHERE anfrageid = :anfrageid
				");
				$stmt->execute([
					':workerid'  => (int)($user["id"] ?? 0),
					':anfrageid' => $anfrageid,
				]);

				// Mail senden (muss true liefern oder Exception werfen)
				$mailOk = SendMailMessageVorlage($pdo, "3", $anfrageid, "5");
				$mailOk = true;
				if ($mailOk !== true) {
					throw new RuntimeException("E-Mailversand fehlgeschlagen");
				}

				$pdo->commit();

				echo "<h4>Die Anfrage wurde erfolgreich gelöscht!</h4><br>";
				echo "Der Kunde erhält gleich eine schriftliche Bestätigung per E-Mail<br>";

			} catch (Throwable $e) {
				if ($pdo->inTransaction()) {
					$pdo->rollBack();
				}
				echo "<h4>Fehler:</h4> " . htmlspecialchars($e->getMessage(), ENT_QUOTES, 'UTF-8');
			}

				echo "<br>";
			echo "<br><br><br>";
			ZuruckzumAnfrageOverView();

		
		
		//Termin für den Benutzerraussuchen
		}else if (($_POST["aktion"] ?? '') == "10") {
			
			$anfrageid = (int)($_POST["anfrageid"] ?? 0);
			if ($anfrageid <= 0) {
				die("Ungültige Anfrage-ID");
			}

			// 1) Anfrage + Person laden (JOIN persons statt user)
			$stmt = $pdo->prepare("
				SELECT
					a.anfrageid,
					a.checked,
					a.timeid,
					a.requester_person_id,

					p.vorname,
					p.nachname,
					p.mail,
					p.tele,
					p.jahrgang
				FROM anfragen a
				INNER JOIN persons p ON p.person_id = a.requester_person_id
				WHERE a.anfrageid = :anfrageid
				LIMIT 1
			");
			$stmt->execute([':anfrageid' => $anfrageid]);
			$row = $stmt->fetch(PDO::FETCH_ASSOC);

			if (!$row) {
				die("Anfrage nicht gefunden");
			}

			$requesterPersonId = (int)$row["requester_person_id"];
			$checked           = (int)$row["checked"];
			$timeid            = $row["timeid"]; // kann NULL sein

			$vorname  = $row["vorname"];
			$nachname = $row["nachname"];
			$mail     = $row["mail"];
			$tel      = $row["tele"];
			$jahrgang = $row["jahrgang"];

			$userausgabe = $vorname . " " . $nachname;

			// Debug wie vorher (falls du es noch brauchst)
			echo htmlspecialchars((string)$timeid, ENT_QUOTES, 'UTF-8');

			// 2) Anfrage “löschen/abschließen” (ohne Mail)
			$stmt = $pdo->prepare("
				UPDATE anfragen
				SET beantwortet = 1,
					checked     = 31,
					workerid    = :workerid,
					antwortid   = 0
				WHERE anfrageid = :anfrageid
			");
			$ok = $stmt->execute([
				':workerid'  => (int)($user["id"] ?? 0),
				':anfrageid' => $anfrageid,
			]);

			if ($ok) {
				echo "<h4>Der Termin wurde erfolgreich gelöscht!</h4><br>";
				echo "Der Kunde erhält keine schriftliche Bestätigung per E-Mail<br><br><br>";
			} else {
				echo "<h4>Fehler beim Update.</h4>";
			}
			
			echo "<br><br><br>";
			ZuruckzumAnfrageOverView();
			
		}else if (($_POST["aktion"] ?? '') == "11") {
			
			$anfrageid_post = (int)($_POST["anfrageid"] ?? 0);
			if ($anfrageid_post <= 0) {
				die("Ungültige Anfrage-ID");
			}

			$stmt = $pdo->prepare("
				SELECT
					a.anfrageid,
					a.checked,
					a.workerid,
					a.antwortid,
					a.antworttext,
					a.create_time,
					a.ordnungsid,
					a.nachricht,
					a.medikament1,
					a.medikament2,
					a.sicherenachricht,
					a.abholort,

					p.person_id,
					p.vorname,
					p.nachname,
					p.email,
					p.tele,
					p.geburtstag,
					p.ort,
					p.plz,
					p.strasse,

					aa.artname AS anfrageart_name
				FROM anfragen a
				INNER JOIN persons p     ON p.person_id = a.requester_person_id
				INNER JOIN anfrageart aa ON a.anforderungart = aa.artid
				WHERE a.anfrageid = :anfrageid
				LIMIT 1
			");
			$stmt->execute([':anfrageid' => $anfrageid_post]);
			$row = $stmt->fetch(PDO::FETCH_ASSOC);

			if (!$row) {
				die("Anfrage nicht gefunden.");
			}

			/* --- Werte aus DB --- */
			$anfrageid   = (int)$row["anfrageid"];
			$checked     = (int)$row["checked"];
			$workerid    = (int)$row["workerid"];
			$antwortid   = (int)($row["antwortid"] ?? 0);
			$dateCreated = $row["create_time"] ?? null;

			$vorname     = $row["vorname"] ?? "";
			$nachname    = $row["nachname"] ?? "";
			$mail        = $row["email"] ?? "";
			$tel         = $row["tele"] ?? "";

			$geburtstag  = $row["geburtstag"] ?? "";
			$ausgabegeburstag = $geburtstag;

			$ort         = $row["ort"] ?? "";
			$plz         = $row["plz"] ?? "";
			$strasse     = $row["strasse"] ?? "";

			$ordnungsid  = $row["ordnungsid"] ?? null;
			$ordnungsstring = GetOrdnungsid($ordnungsid);

			$nachricht   = $row["nachricht"] ?? "";
			$medikamenteins = $row["medikament1"] ?? "";
			$medikamentzwei = $row["medikament2"] ?? "";

			$anfrageart  = $row["anfrageart_name"] ?? "";
			$antworttext = $row["antworttext"] ?? "";

			/* --- Anzeige-Strings --- */
			$WeitereInfos = "";
			if (!empty($medikamenteins)) {
				$WeitereInfos .= "Medikament1: " . htmlspecialchars($medikamenteins, ENT_QUOTES, 'UTF-8') . "<br>";
			}
			if (!empty($medikamentzwei)) {
				$WeitereInfos .= "Medikament2: " . htmlspecialchars($medikamentzwei, ENT_QUOTES, 'UTF-8') . "<br>";
			}
			if (!empty($nachricht)) {
				// Wenn $nachricht HTML enthalten darf: NICHT htmlspecialchars verwenden!
				// Sonst XSS-Risiko. Dann lieber erlaubte Tags mit strip_tags whitelist.
				$WeitereInfos .= "Nachricht: " . nl2br(htmlspecialchars($nachricht, ENT_QUOTES, 'UTF-8'));
			}

			$datumausgabe = "";
			if (!empty($dateCreated)) {
				$currentDate = new DateTime($dateCreated);
				$datumausgabe = $currentDate->format('d.m.Y H:i');
			}

			$ausgabeworker = GetWorkerName($workerid);
			$farbe         = GetStatusFarbe($checked);
			$checkausgabe  = GetStatus($checked);

			$userausgabe = trim($vorname . " " . $nachname);
			$adresse = trim($plz . " " . $ort . ", " . $strasse);

			/* --- Betreff + Body der Antwortvorlage laden (optional) --- */
			$betreff = "";
			$templateBody = "";
			if ($antwortid > 0) {
				$stmtT = $pdo->prepare("
					SELECT betreff, body
					FROM mailtemplates
					WHERE templetid = :tid
					LIMIT 1
				");
				$stmtT->execute([':tid' => $antwortid]);
				$tpl = $stmtT->fetch(PDO::FETCH_ASSOC);

				if ($tpl) {
					// DB ist bei dir oft CP1252 gespeichert:
					$betreff = iconv('CP1252//IGNORE', 'UTF-8', $tpl["betreff"] ?? "");
					$templateBody = iconv('CP1252//IGNORE', 'UTF-8', $tpl["body"] ?? "");
				}
			}

			// Falls du statt Template den gespeicherten Antworttext anzeigen willst:
			$body = iconv('CP1252//IGNORE', 'UTF-8', $antworttext);

			/* --- Output --- */
			echo "<b>Person:</b><br>" .
				 htmlspecialchars($userausgabe, ENT_QUOTES, 'UTF-8') . "<br>" .
				 htmlspecialchars($mail, ENT_QUOTES, 'UTF-8') . "<br>" .
				 htmlspecialchars($tel, ENT_QUOTES, 'UTF-8') . "<br><br>" .

				 "<b>Adresse:</b><br>" .
				 htmlspecialchars($adresse, ENT_QUOTES, 'UTF-8') . "<br><br>" .

				 "<b>Anfrageinformationen:</b><br>" .
				 htmlspecialchars($ordnungsstring, ENT_QUOTES, 'UTF-8') . " - " .
				 htmlspecialchars($anfrageart, ENT_QUOTES, 'UTF-8') . "<br>" .
				 $WeitereInfos . "<br><br>" .

				 "<b>Status der Anfrage:</b><br>" .
				 htmlspecialchars($checkausgabe, ENT_QUOTES, 'UTF-8') . " - " .
				 htmlspecialchars($datumausgabe, ENT_QUOTES, 'UTF-8') . "<br>" .
				 htmlspecialchars($ausgabeworker, ENT_QUOTES, 'UTF-8');

			echo "<br><br>";
			echo "<b>Vorlage der Antwortmail:</b><br>";
			echo "Betreff: " . htmlspecialchars($betreff, ENT_QUOTES, 'UTF-8') . "<br>";
			echo "Inhalt:<br>";
			echo $body . "<br>"; // bewusst NICHT escaped, wenn HTML im Body erlaubt ist
			echo "<br><br>";
					
			ZuruckzumAnfrageOverView();
					
			
			
			
		}else if (($_POST["aktion"] ?? '') == "benutzersuche") { 
		#echo '<pre>';
		#print_r($_POST);
		#echo '</pre>';
			echo "<h3>Anfragenübersicht</h3>";
		
			if(is_null($_POST["userid_input"]) || $_POST["userid_input"] == "" ){
	
				echo "Sie haben keinen Benutzer über die Autovervollständigung ausgewählt.<br>
				Deswegen wählen Sie aus diesem Drop-Down-Menü aus.<br><br>";
	
				$term = trim(strip_tags($_POST["skill_input"]));
				$like = "%" . $term . "%";

				$sql = "
					SELECT person_id, vorname, nachname, geburtstag, email, tele
					FROM persons
					WHERE vorname LIKE :term
					   OR nachname LIKE :term
					   OR email LIKE :term
					   OR tele LIKE :term
					ORDER BY nachname, vorname
				";

				$stmt = $pdo->prepare($sql);
				$stmt->execute([':term' => $like]);
				$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);

				echo "<form action='" . $_SERVER['PHP_SELF'] . "' id='formbenutzersuche' method='POST'>";
				echo '<input type="hidden" name="aktion" value="benutzersuche" />';
				echo '<label>Benutzersuche:</label>';
				echo '<select class="form-control" name="userid_input" required>';

				foreach ($rows as $row) {
					$person_id = $row['person_id'];
					$name = htmlspecialchars($row['nachname'], ENT_QUOTES, 'UTF-8');
					$vorname = htmlspecialchars($row['vorname'], ENT_QUOTES, 'UTF-8');
					$geburtstag = htmlspecialchars($row['geburtstag'], ENT_QUOTES, 'UTF-8');

					echo "<option value='$person_id'>$name, $vorname - $geburtstag</option>";
				}

				echo '</select>';
				echo "<br><br>";
				echo "<input type=submit class='btn btn-primary' value='Benutzer aufrufen'>";
				echo "</form>";	
				
				
				

			}else{
				?>
					
					<p>Hier finden Sie die letzten 20 Anfragen des Benutzers.</p>
					
					

				<?php
				
				$personId = (int)($_POST["userid_input"] ?? 0);
				if ($personId <= 0) {
					die("Ungültige Person-ID");
				}

				$stmtPerson = $pdo->prepare("
					SELECT
						person_id,
						vorname,
						nachname,
						email,
						tele,
						geburtstag
					FROM persons
					WHERE person_id = :pid
					LIMIT 1
				");
				$stmtPerson->execute([':pid' => $personId]);
				$rowperson = $stmtPerson->fetch(PDO::FETCH_ASSOC);

				if (!$rowperson) {
					die("Person nicht gefunden.");
				}

				$vorname    = $rowperson["vorname"] ?? "";
				$nachname   = $rowperson["nachname"] ?? "";
				$mail       = $rowperson["email"] ?? "";
				$tel        = $rowperson["tele"] ?? "";
				$geburtstag = $rowperson["geburtstag"] ?? "";
				

				$ausgabegeburstag = ($geburtstag === "0000-00-00" || $geburtstag === "" || $geburtstag === null)
					? $jahrgang
					: $geburtstag;

				echo "Benutzer " . htmlspecialchars($vorname, ENT_QUOTES, 'UTF-8') . " " . htmlspecialchars($nachname, ENT_QUOTES, 'UTF-8') . "<br><br>";		
				
				$stmt = $pdo->prepare("
					SELECT
						a.anfrageid,
						a.requester_person_id,
						a.checked,
						a.workerid,
						a.create_time,
						a.nachricht,
						a.ordnungsid,
						a.medikament1,
						a.medikament2,
						a.medikament3,
						a.medikament4,
						a.medikament5,
						a.medikament6,

						aa.artname AS anfrageart_name,

						p.vorname,
						p.nachname,
						p.email,
						p.tele,
						p.geburtstag,
						p.ort,
						p.plz,
						p.strasse
					FROM anfragen a
					INNER JOIN persons p     ON p.person_id = a.requester_person_id
					INNER JOIN anfrageart aa ON aa.artid = a.anforderungart
					WHERE a.requester_person_id = :pid
					ORDER BY a.create_time DESC
					LIMIT 20
				");
				$stmt->execute([':pid' => $personId]);

				echo '<table class="table">';
				echo '<thead><tr><th scope="col">Person/Adresse</th><th scope="col">Anfrage/Status</th><th scope="col">Aktion</th></tr></thead>';
				echo "<tbody>";

				while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {

					$anfrageid   = (int)$row["anfrageid"];
					$checked     = (int)$row["checked"];
					$workerid    = (int)$row["workerid"];
					$dateCreated = $row["create_time"] ?? "";

					$vorname     = $row["vorname"] ?? "";
					$nachname    = $row["nachname"] ?? "";
					$mail        = $row["email"] ?? "";
					$tel         = $row["tele"] ?? "";

					$geburtstag  = $row["geburtstag"] ?? "";
					$jahrgang    = $row["jahrgang"] ?? "";
					$ausgabegeburstag = ($geburtstag === "0000-00-00" || $geburtstag === "" || $geburtstag === null)
						? $jahrgang
						: $geburtstag;

					$ort         = $row["ort"] ?? "";
					$plz         = $row["plz"] ?? "";
					$strasse     = $row["strasse"] ?? "";

					$nachricht   = $row["nachricht"] ?? "";
					$med1        = $row["medikament1"] ?? "";
					$med2        = $row["medikament2"] ?? "";
					$med3        = $row["medikament3"] ?? "";
					$med4        = $row["medikament4"] ?? "";
					$med5        = $row["medikament5"] ?? "";
					$med6        = $row["medikament6"] ?? "";

					$anfrageart  = $row["anfrageart_name"] ?? "";

					$ordnungsid  = $row["ordnungsid"] ?? null;
					$ordnungsstring = GetOrdnungsid($ordnungsid);

					$WeitereInfos = "";
					if (!empty($med1)) $WeitereInfos .= "Medikament1: " . htmlspecialchars($med1, ENT_QUOTES, 'UTF-8') . "<br>";
					if (!empty($med2)) $WeitereInfos .= "Medikament2: " . htmlspecialchars($med2, ENT_QUOTES, 'UTF-8') . "<br>";
					if (!empty($med3)) $WeitereInfos .= "Medikament3: " . htmlspecialchars($med3, ENT_QUOTES, 'UTF-8') . "<br>";
					if (!empty($med4)) $WeitereInfos .= "Medikament4: " . htmlspecialchars($med4, ENT_QUOTES, 'UTF-8') . "<br>";
					if (!empty($med5)) $WeitereInfos .= "Medikament5: " . htmlspecialchars($med5, ENT_QUOTES, 'UTF-8') . "<br>";
					if (!empty($med6)) $WeitereInfos .= "Medikament6: " . htmlspecialchars($med6, ENT_QUOTES, 'UTF-8') . "<br>";

					if (!empty($nachricht)) {
						$WeitereInfos .= "Nachricht: " . nl2br(htmlspecialchars($nachricht, ENT_QUOTES, 'UTF-8'));
					}

					$userausgabe = trim($vorname . " " . $nachname) . "<br>" . htmlspecialchars((string)$ausgabegeburstag, ENT_QUOTES, 'UTF-8');
					$adresse = trim($plz . " " . $ort . "<br>" . $strasse);

					$farbe = GetStatusFarbe($checked);
					$checkausgabe = GetStatus($checked);

					echo "<tr>";
					echo "<td>"
						. htmlspecialchars(trim($vorname . " " . $nachname), ENT_QUOTES, 'UTF-8')
						. "<br>" . htmlspecialchars($mail, ENT_QUOTES, 'UTF-8')
						. "<br>Tel: <a href='tel:" . htmlspecialchars($tel, ENT_QUOTES, 'UTF-8') . "'>" . htmlspecialchars($tel, ENT_QUOTES, 'UTF-8') . "</a>"
						. "<br>" . htmlspecialchars($plz . " " . $ort . ", " . $strasse, ENT_QUOTES, 'UTF-8')
						. "</td>";

					echo "<td>"
						. htmlspecialchars($ordnungsstring, ENT_QUOTES, 'UTF-8') . " - " . htmlspecialchars($anfrageart, ENT_QUOTES, 'UTF-8')
						. "<br><br>" . $WeitereInfos
						. "<br><br><span style='background-color:" . htmlspecialchars($farbe, ENT_QUOTES, 'UTF-8') . "; padding:2px 6px;'>"
						. htmlspecialchars($checkausgabe, ENT_QUOTES, 'UTF-8')
						. "</span>"
						. "<br>" . htmlspecialchars($dateCreated, ENT_QUOTES, 'UTF-8')
						. "</td>";

					echo "<td>
							<form action='" . $_SERVER["PHP_SELF"] . "' method='POST'>
								<input type='hidden' name='aktion' value='11'>
								<input type='hidden' name='anfrageid' value='" . (int)$anfrageid . "'>
								<button type='submit' class='btn btn-primary btn-sm'>Antwort einsehen</button>
							</form>
						  </td>";

					echo "</tr>";
				}

				echo "</tbody></table>";
				//echo "</div>";
				echo "<br><br>";
				echo "<h3>Impfübersicht Benutzer</h3>";

				$personId = (int)($_POST["userid_input"] ?? 0);
				if ($personId <= 0) {
					die("Ungültige Person-ID");
				}

				// Person laden (persons statt user)
				$stmtPerson = $pdo->prepare("
					SELECT
						person_id,
						vorname,
						nachname,
						email,
						tele,
						geburtstag
					FROM persons
					WHERE person_id = :pid
					LIMIT 1
				");
				$stmtPerson->execute([':pid' => $personId]);
				$rowperson = $stmtPerson->fetch(PDO::FETCH_ASSOC);

				if (!$rowperson) {
					die("Person nicht gefunden.");
				}

				$vorname    = $rowperson["vorname"] ?? "";
				$nachname   = $rowperson["nachname"] ?? "";
				$mail       = $rowperson["email"] ?? "";
				$tel        = $rowperson["tele"] ?? "";
				$geburtstag = $rowperson["geburtstag"] ?? "";
				

				$ausgabegeburstag = ($geburtstag === "0000-00-00" || $geburtstag === "" || $geburtstag === null)
					? $jahrgang
					: $geburtstag;

				echo "Benutzer " . htmlspecialchars($vorname, ENT_QUOTES, "UTF-8") . " " . htmlspecialchars($nachname, ENT_QUOTES, "UTF-8") . "<br>";

				// Umbuchen-Form (person_id weitergeben)
				echo "
				<form action='" . $_SERVER["PHP_SELF"] . "' method='POST'>
					<input type='hidden' name='aktion' value='umbuchen'>
					<input type='hidden' name='person_id' value='" . (int)$personId . "'>
					<input type='submit' class='btn btn-primary btn-sm' value='Neuer Termin'>
				</form>
				";

				// --- Impftermine zählen (prepared statt query)
				$sqlImpftermine = "
					SELECT
						it.*,
						ts.*
					FROM impftermin it
					INNER JOIN timeslots ts ON it.timeid = ts.timeid
					WHERE it.userid = :pid
					ORDER BY ts.date DESC, ts.start
				";

				$stmt = $pdo->prepare($sqlImpftermine);
				$stmt->execute([':pid' => $personId]);
				$count = $stmt->rowCount();

				echo "<h4>Impftermine</h4>";
				if ($count == 0) {
					echo "Der Benutzer hat keine Impftermine.<br><br>";
				} else {
					// Wenn deine Funktion SQL-String erwartet:
					// Achtung: dann müsste ShowImpfTerminTab intern selbst mit PDO arbeiten
					// Besser: du gibst ihr $personId und lässt sie selber abfragen.
					
					$sqlImpftermine = "
						SELECT
							it.*,
							ts.*
						FROM impftermin it
						INNER JOIN timeslots ts ON it.timeid = ts.timeid
						WHERE it.userid = $personId
						ORDER BY ts.date DESC, ts.start
					";
					
					
					
					ShowImpfTerminTab($sqlImpftermine); // falls du es so erweitern kannst
					// Alternativ (wenn ShowImpfTerminTab nur String kann): du musst die Funktion anpassen.
				}

				echo "<br><br><h4>Warteliste</h4>";

				$sqlWarte = "
					SELECT *
					FROM warteliste
					WHERE userid = :pid
				";
				$stmtW = $pdo->prepare($sqlWarte);
				$stmtW->execute([':pid' => $personId]);
				$countW = $stmtW->rowCount();

				if ($countW == 0) {
					echo "Der Benutzer hat keinen Wartelistenplatz.<br><br>";
				} else {
					ShowWartelisteTab($sqlWarte, [':pid' => $personId]); // falls du es so erweitern kannst
				}

			}
			
			
		}else if (($_POST["aktion"] ?? '') == "12") { 
			// Auswertung von Anfragen
			echo "Hier wird eine Auswertung über alle Tickets angezeigt:<br><br>";
			
			$today = date('Y-m-d');
			#$siebentagezurueck = date('Y-m-d 00:00:00', strtotime($today . ' -7 day'));
			$currentDate = new DateTime();
			//Use the subtract function to subtract a DateInterval
			$yesterdayTime = $currentDate->sub(new DateInterval('P7D'));
			//Get yesterday date
			$siebentagezurueck = $yesterdayTime->format('Y-m-d 00:00:00');
			$currentDate = new DateTime();
			//Use the subtract function to subtract a DateInterval
			$yesterdayTime = $currentDate->sub(new DateInterval('P1Y'));
			//Get yesterday date
			$letzterjahrstring = $yesterdayTime->format('Y-m-d 00:00:00');
			$currentDate = new DateTime();
			//Use the subtract function to subtract a DateInterval
			$yesterdayTime = $currentDate->sub(new DateInterval('P1M'));
			//Get yesterday date
			$letztermonatstring = $yesterdayTime->format('Y-m-d 00:00:00');
			#$letztermonatstring = date('Y-m-01 00:00:00', strtotime($today . ' - 1 month'));
			#$letzterjahrstring = date('Y-01-01 00:00:00', strtotime($today . ' - 1 year'));
			$diesesjahrzurueck = date('Y-01-01 00:00:00');
			$diesesmonatstring = date('Y-m-01 00:00:00');
			
			$sql = "
			SELECT
				u.vorname,
				u.nachname,
				a.workerid,
				COUNT(*) AS alltimenum,

				SUM(CASE WHEN a.create_time >= :diesesjahrzurueck THEN 1 ELSE 0 END) AS allyeartime,
				SUM(CASE WHEN a.create_time >= :diesesmonatstring THEN 1 ELSE 0 END) AS thismonthtime,

				SUM(CASE WHEN a.create_time >= :letzterjahrstring AND a.create_time <= :diesesjahrzurueck THEN 1 ELSE 0 END) AS lastyeartime,
				SUM(CASE WHEN a.create_time >= :letztermonatstring AND a.create_time <= :diesesmonatstring THEN 1 ELSE 0 END) AS lastmonthtime,

				SUM(CASE WHEN a.create_time >= :siebentagezurueck THEN 1 ELSE 0 END) AS lastweektime,

				MIN(a.create_time) AS begintime
			FROM anfragen a
			INNER JOIN users_worker uw ON a.workerid = uw.workerid
			INNER JOIN users u ON uw.userid = u.id
			WHERE a.workerid != 0
			GROUP BY a.workerid
			ORDER BY u.nachname, u.vorname
			";

			$stmt = $pdo->prepare($sql);
			$stmt->execute([
				':diesesjahrzurueck'  => $diesesjahrzurueck,
				':diesesmonatstring'  => $diesesmonatstring,
				':letzterjahrstring'  => $letzterjahrstring,
				':letztermonatstring' => $letztermonatstring,
				':siebentagezurueck'  => $siebentagezurueck,
			]);

			echo "<table width='100%' border='1' class='table table-striped'>";
			echo "<tr>
					<th scope='col'>Person</th>
					<th scope='col'>letzten 7 Tage</th>
					<th scope='col'>Dieses Monat</th>
					<th scope='col'>Letzter Monat</th>
					<th scope='col'>Dieses Jahr</th>
					<th scope='col'>Letztes Jahr</th>
					<th scope='col'>Seit Beginn</th>
				  </tr>";

			$gesamtletztewoche  = 0;
			$gesamtletztenmonat = 0;
			$gesamtdiesenmonat  = 0;
			$gesamtdiesesjahr   = 0;
			$gesamtletztesjahr  = 0;
			$gesamtgesamt       = 0;

			while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {

				$begintime = $row["begintime"] ?? null;
				if ($begintime) {
					$currentDate = new DateTime($begintime);
					$begintime = $currentDate->format('d.m.Y');
				} else {
					$begintime = "-";
				}

				$workerid      = (int)($row["workerid"] ?? 0);
				$alltimenum    = (int)($row["alltimenum"] ?? 0);
				$allyeartime   = (int)($row["allyeartime"] ?? 0);
				$lastweektime  = (int)($row["lastweektime"] ?? 0);
				$thismonthtime = (int)($row["thismonthtime"] ?? 0);
				$lastmonthtime = (int)($row["lastmonthtime"] ?? 0);
				$lastyeartime  = (int)($row["lastyeartime"] ?? 0);

				// Summen
				$gesamtletztewoche  += $lastweektime;
				$gesamtletztenmonat += $lastmonthtime;
				$gesamtdiesenmonat  += $thismonthtime;
				$gesamtdiesesjahr   += $allyeartime;
				$gesamtletztesjahr  += $lastyeartime;
				$gesamtgesamt       += $alltimenum;

				$vorname  = htmlspecialchars($row["vorname"] ?? "", ENT_QUOTES, 'UTF-8');
				$nachname = htmlspecialchars($row["nachname"] ?? "", ENT_QUOTES, 'UTF-8');

				echo "
					<tr>
						<td>$nachname, $vorname</td>
						<td>$lastweektime</td>
						<td>$thismonthtime</td>
						<td>$lastmonthtime</td>
						<td>$allyeartime</td>
						<td>$lastyeartime</td>
						<td>$alltimenum seit $begintime</td>
					</tr>
				";
			}
			echo "
			<tr style='font-weight:bold'>
				<td>Gesamt:</td>
				<td>$gesamtletztewoche</td>
				<td>$gesamtdiesenmonat</td>
				<td>$gesamtletztenmonat</td>
				<td>$gesamtdiesesjahr</td>
				<td>$gesamtletztesjahr</td>
				<td>$gesamtgesamt</td>
			</tr>
			
			";
			echo "</table>";
			
			echo "<h3>Auswertung durchschnittliche Bearbeitungszeit</h3>";

			$sql = "
				SELECT 
					AVG(DATEDIFF(mailtime, create_time)) AS dauer,
					COUNT(*) AS anzahl
				FROM anfragen
				WHERE create_time >= :siebentage
				  AND mailtime IS NOT NULL
			";

			$stmtAvg = $pdo->prepare($sql);
			$stmtAvg->execute([
				':siebentage' => $siebentagezurueck
			]);

			$row = $stmtAvg->fetch(PDO::FETCH_ASSOC);

			$dauer   = (float)($row["dauer"] ?? 0);
			$anzahl  = (int)($row["anzahl"] ?? 0);
			$dauerstunden = ceil($dauer * 24);

			echo "
			Es wurden $anzahl Anfragen in den letzten sieben Tagen bearbeitet.<br>
			Die Bearbeitung erfolgt durchschnittlich nach <b>$dauerstunden Stunden</b>.<br>
			";
			
			
		
		}else if (($_POST["aktion"] ?? '') == "13") { 
			//Infomail über Impfung versenden
			
			$impfstoff = (int)($_POST["impfstoff"] ?? -1);

			// Mapping: welche Kombination aus impfenangebot + impfstoff soll gezogen werden?
			// (entspricht deiner alten Logik, nur korrekt geklammert)
			switch ($impfstoff) {
				case 0:
					$impfenangebot = 1;
					$zielImpfstoff = 1;
					break;
				case 1:
					$impfenangebot = 1;
					$zielImpfstoff = 2;
					break;
				case 2:
					$impfenangebot = 2;
					$zielImpfstoff = 1;
					break;
				case 3:
					$impfenangebot = 2;
					$zielImpfstoff = 2;
					break;
				default:
					die("Ungültiger Impfstoff-Parameter");
			}

			// 1) Warteliste holen (max 30)
			// Wichtig: Klammern, sonst falsche Treffer durch OR/AND
			$sql = "
				SELECT
					w.warteid,
					w.userid AS person_id,
					w.timeid,
					w.hash
				FROM warteliste w
				WHERE w.impfenangebot = :angebot
				  AND (w.impfstoff = 0 OR w.impfstoff = :zielImpfstoff)
				LIMIT 30
			";

			$stmt = $pdo->prepare($sql);
			$stmt->execute([
				':angebot'      => $impfenangebot,
				':zielImpfstoff'=> $zielImpfstoff
			]);

			$wartelisteRows = $stmt->fetchAll(PDO::FETCH_ASSOC);

			foreach ($wartelisteRows as $row) {
				$personId = (int)$row["person_id"];
				$warteid  = (int)$row["warteid"];
				$timeid   = $row["timeid"];   // falls vorhanden
				$hash     = $row["hash"];     // falls vorhanden

				// Wenn du debuggen willst:
				// echo htmlspecialchars((string)$timeid, ENT_QUOTES, 'UTF-8') . "<br>";

				// 2) Person aus persons laden
				$stmtPerson = $pdo->prepare("
					SELECT vorname, nachname, email, tele
					FROM persons
					WHERE person_id = :pid
					LIMIT 1
				");
				$stmtPerson->execute([':pid' => $personId]);
				$person = $stmtPerson->fetch(PDO::FETCH_ASSOC);

				if (!$person) {
					// Wenn es Alt-Daten gibt, die noch keine Person haben:
					// überspringen statt crashen
					continue;
				}

				$vorname   = $person["vorname"] ?? "";
				$nachname  = $person["nachname"] ?? "";
				$mail      = $person["email"] ?? "";
				$tel       = $person["tele"] ?? "";

				$userausgabe = trim($vorname . " " . $nachname);

				// 3) Mail rausschicken (deine Funktion nutzt schon PDO)
				// (Wenn die Vorlage die Persondaten selbst lädt: ok.)
				SendMailMessageVorlage($pdo, "2", $warteid, "7");
			}


		//Bearbeitung der Mailvorlagen ermöglichen
		}else if (($_POST["aktion"] ?? '') == "14") { 
		?>
			  
			  <script type="text/javascript">
			  tinymce.init({
				selector: '#mytextarea',
				height: 800,
				plugins: ' advcode casechange formatpainter linkchecker autolink lists checklist media  pageembed  table advtable ',
				  toolbar: 'checklist code table',
				  toolbar_mode: 'floating',
			  });
			  </script>
		<?php
			// E-Mail Vorlage laden
			
			$templetid = (int)($_POST["templetid"] ?? 0);

			$stmt = $pdo->prepare("
				SELECT betreff, body, name
				FROM mailtemplates
				WHERE templetid = :tid
				LIMIT 1
			");
			$stmt->execute([':tid' => $templetid]);
			$rowconfig = $stmt->fetch(PDO::FETCH_ASSOC);

			if (!$rowconfig) {
				die("Mailtemplate nicht gefunden.");
			}

			$body    = $rowconfig["body"];
			$betreff = $rowconfig["betreff"];
			$name    = $rowconfig["name"];
			$betreff = iconv('CP1252//IGNORE', 'UTF-8' , $betreff);
			//$body = iconv('CP1252//IGNORE', 'UTF-8' , $body);
			$name = iconv('CP1252//IGNORE', 'UTF-8' , $name);
		
			echo "<h1>E-Mailvorlage bearbeiten</h1><br>";
			echo "Vorlage: $name<br>";
			echo "<br>Folgende Variablen können Sie nutzen:";
			echo "<br>%BENUTZERVORNAME% für Vorname des Patienten";
			echo "<br>%BENUTZERNACHNAME% für Nachname des Patienten";
			echo "<br>%BENUTZERGEBURTSTAG% für Geburtstag des Patienten";
			echo "<br>%BENUTZERADRESSE% für Adresse (Ort PLZ, Straße) des Patienten";
			echo "<br>%REZEPTART% für die Art der Anfrage";
			echo "<br>%MEDIKAMENTNUMMEREINS% für Medikament 1";
			echo "<br>%MEDIKAMENTNUMMERZWEI% für Medikament 2";
			echo "<br>%ANFRAGENACHRICHT% für die vom Patienten eingegebene Nachricht (max. 150 Zeichen)";
			echo "<br>%ANFRAGENLOGIN% für den Bestätigungslink/ Überprüfungslink der Anfrage. Achtung: Muss mindestens ein Mal an den Patienten versendet werden.";


			echo "<br><br>";
			
			echo "<form action='". $_SERVER['PHP_SELF'] . "' method=POST>";
			echo "Betreff:<br>";
			echo "<input class='form-control' name=betreff type=text  value='". $betreff . "'> <br>";
			echo '<textarea height=200 name="body" id="mytextarea"> '. $body . '</textarea>';
			echo "<input name=aktion type=hidden value=15>";
			echo "<input name=templetid type=hidden value=$templetid><br><br>";
			echo "<input type=submit class='btn btn-primary' value='Speichern'><br>";
			echo '</form>';

		// Speichern der E-Mail Vorlagen
		} else if (($_POST["aktion"] ?? '') == "15") { 

			$templetid = (int)($_POST["templetid"] ?? 0);

			$betreff = iconv('UTF-8', 'CP1252//IGNORE', $_POST["betreff"] ?? "");
			$body    = iconv('UTF-8', 'CP1252//IGNORE', $_POST["body"] ?? "");

			$stmt = $pdo->prepare("
				UPDATE mailtemplates
				SET betreff = :betreff,
					body = :body
				WHERE templetid = :tid
			");
			$stmt->execute([
				':betreff' => $betreff,
				':body'    => $body,
				':tid'     => $templetid
			]);

			echo "Speicherung der Vorlage erfolgt!<br><br>";
		
		// Auswahl der E-Mail Vorlagen
		} else if (($_POST["aktion"] ?? '') == "16") { 

			echo "<form action='" . $_SERVER['PHP_SELF'] . "' method='POST'>";
			echo "Wählen Sie die zu bearbeitende Mailvorlage aus:<br><br>";

			$stmt = $pdo->prepare("
				SELECT name, templetid
				FROM mailtemplates
				WHERE mailbearbeitung = 1
				ORDER BY name
			");
			$stmt->execute();
			$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);

			echo "<input name='aktion' type='hidden' value='14'>";
			echo "<select class='form-control' name='templetid'>";

			foreach ($rows as $row) {
				$name = iconv('CP1252//IGNORE', 'UTF-8', $row["name"]);
				echo '<option value="' . (int)$row["templetid"] . '">' 
					 . htmlspecialchars($name, ENT_QUOTES, 'UTF-8') 
					 . '</option>';
			}

			echo "</select><br><br>";
			echo "<input type='submit' class='btn btn-primary' value='Bearbeiten'><br><br><br>";


		// Sperrliste E-Mails
		} else if (($_POST["aktion"] ?? '') == "17") { 

			$stmt = $pdo->prepare("SELECT email FROM user_block");
			$stmt->execute();
			$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);

			echo "<h3>Sperrliste</h3>";
			echo "Aktuell sind folgende Benutzer auf der Sperrliste:<br><br>";

			foreach ($rows as $row) {
				echo htmlspecialchars($row["email"], ENT_QUOTES, 'UTF-8') . "<br>";
			}

			echo "<br><br>";
		
		//Bearbeitung der Mailvorlagen ermöglichen
		}else if (($_POST["aktion"] ?? '') == "18") { 
		?>
			  
			  <script type="text/javascript">
			  tinymce.init({
				selector: '#mytextarea',
				height: 800,
				plugins: ' advcode casechange formatpainter linkchecker autolink lists checklist media  pageembed  table advtable ',
				  toolbar: 'checklist code table',
				  toolbar_mode: 'floating',
			  });
			  </script>
		<?php

			echo "<h1>E-Mailvorlage anlegen</h1><br>";
			echo "<br>Folgende Variablen können Sie nutzen:";
			echo "<br>%BENUTZERVORNAME% für Vorname des Patienten";
			echo "<br>%BENUTZERNACHNAME% für Nachname des Patienten";
			echo "<br>%BENUTZERGEBURTSTAG% für Geburtstag des Patienten";
			echo "<br>%BENUTZERADRESSE% für Adresse (Ort PLZ, Straße) des Patienten";
			echo "<br>%REZEPTART% für die Art der Anfrage";
			echo "<br>%MEDIKAMENTNUMMEREINS% für Medikament 1";
			echo "<br>%MEDIKAMENTNUMMERZWEI% für Medikament 2";
			echo "<br>%ANFRAGENACHRICHT% für die vom Patienten eingegebene Nachricht (max. 150 Zeichen)";
			echo "<br>%ANFRAGENLOGIN% für den Bestätigungslink/ Überprüfungslink der Anfrage. ";

			echo "<br><br>";
			
			echo "<form action='". $_SERVER['PHP_SELF'] . "' method=POST>";
			echo "Name der Vorlage:<br>";
			echo "<input class='form-control' name=name type=text value='$name' required><br>";
			echo "Betreff:<br>";
			echo "<input class='form-control' name=betreff type=text value='$betreff' required><br>";
			echo "Inhalt:<br>";
			echo '<textarea height=200 name="body" id="mytextarea" >' . $body .'</textarea>';
			echo "<input name=aktion type=hidden value=19>";
			echo "<br><br>";
			echo "<input type=submit class='btn btn-primary' value='Speichern'><br>";
			echo '</form>';

		// Speichern der E-Mail Vorlagen
		}else if (($_POST["aktion"] ?? '') == "19") { 
			$name    = iconv('UTF-8', 'CP1252//IGNORE', $_POST["name"] ?? "");
			$betreff = iconv('UTF-8', 'CP1252//IGNORE', $_POST["betreff"] ?? "");
			$body    = iconv('UTF-8', 'CP1252//IGNORE', $_POST["body"] ?? "");

			$stmt = $pdo->prepare("
				INSERT INTO mailtemplates (betreff, body, name, mailbearbeitung)
				VALUES (:betreff, :body, :name, 1)
			");

			$stmt->execute([
				':betreff' => $betreff,
				':body'    => $body,
				':name'    => $name
			]);
			echo "Speicherung der Vorlage erfolgt!<br><br>";
				
		}else if (($_POST["aktion"] ?? '') == "20") { 
			
			$anfrageid = (int)($_POST["anfrageid"] ?? 0);
			if ($anfrageid <= 0) {
				die("Ungültige Anfrage-ID");
			}

			// optional: prüfen ob Anfrage existiert (entspricht deinem SELECT)
			$stmtCheck = $pdo->prepare("SELECT anfrageid FROM anfragen WHERE anfrageid = :id LIMIT 1");
			$stmtCheck->execute([':id' => $anfrageid]);
			if (!$stmtCheck->fetch(PDO::FETCH_ASSOC)) {
				die("Anfrage nicht gefunden");
			}

			// Mail verschicken (bei dir schon auf PDO umgestellt)
			SendMailMessageVorlage($pdo, "3", $anfrageid, "42");

			// Anfrage updaten
			$stmt = $pdo->prepare("
				UPDATE anfragen
				SET beantwortet = 1,
					checked     = 29,
					workerid    = :workerid,
					antwortid   = 0
				WHERE anfrageid = :id
			");
			$ok = $stmt->execute([
				':workerid' => (int)$user["id"],
				':id'       => $anfrageid
			]);

			if ($ok && $stmt->rowCount() > 0) {
				echo "<h4>Die Anfrage wurde erfolgreich gelöscht!</h4><br>";
				echo "Der Kunde erhält gleich eine schriftliche Bestätigung per E-Mail<br>";
			} else {
				echo "<h4>Update fehlgeschlagen oder keine Zeile geändert.</h4>";
			}
			echo "<br>";
			echo "<br><br><br>";
			ZuruckzumAnfrageOverView();
			
		}else{
		
			echo '<h3>Welche Aktion möchtest du durchführen?</h3>
			<table width=100%><tr><td width=40%>
			
			<form action="'. $_SERVER["PHP_SELF"] .'" method=POST>
			<input type=hidden name=aktion value=1>
			<input type=submit class="btn btn-primary btn-lg" value="Formular-Anfragen bearbeiten">
			</form>
			</td></tr>
			<tr><td><br><br>
			<form action="'. $_SERVER["PHP_SELF"] .'" method=POST>
			<input type=hidden name=aktion value=18>
			<input type=submit class="btn btn-primary" value="Mailvorlagen anlegen">
			</form>	
			</td></tr>
			<tr><td><br><br>
			<form action="'. $_SERVER["PHP_SELF"] .'" method=POST>
			<input type=hidden name=aktion value=12>
			<input type=submit class="btn btn-primary" value="Formular Auswertung">
			</form>
			</td></tr>
			<tr><td><br><br>
			<form action="'. $_SERVER["PHP_SELF"] .'" method=POST>
			<input type=hidden name=aktion value=16>
			<input type=submit class="btn btn-primary" value="Mailvorlagen anpassen">
			</form>	
			</td></tr><br><br><br><br>
			<tr></tr>
			<tr><td><h3>Urlaub / Hinweis planen</h3></td><td></td></tr>
			<tr><td>
			<form action="'. $_SERVER["PHP_SELF"] .'" method=POST>
			<input type=hidden name=aktion value=4>
			<input type=submit class="btn btn-primary btn-lg" value="Urlaub eintragen">
			</form>	
			</td></tr>
			<tr><td><br><br>
			<form action="'. $_SERVER["PHP_SELF"] .'" method=POST>
			<input type=hidden name=aktion value=6>
			<input type=submit class="btn btn-primary" value="Notfallsprechstunde eintragen">
			</form>	
			</tr>
			</table>
			<br><br>
			';
			
		}

	

	$stmt = $pdo->prepare("
		SELECT impfid, impfname
		FROM impfstoff
		WHERE aktivtermin = 1
	");
	$stmt->execute();

	$javascriptimpfstoff = "";

	while ($rowimpf = $stmt->fetch(PDO::FETCH_ASSOC)) {
		$impfid = (int)$rowimpf["impfid"];
		$impfstofftext = htmlspecialchars($rowimpf["impfname"], ENT_QUOTES, 'UTF-8');

		$javascriptimpfstoff .= "<option value=\"$impfid\">$impfstofftext</option>";
	}
	
}
	?>
							
				<br><br><br><input type="button" class='btn btn-secondary' value="Zum Hauptmenü" onClick="location.href='<?php echo $_SERVER['PHP_SELF'];?>'">

			</section>
		
		 <script>
		   function onSubmit(token) {
			 document.getElementById("submit").submit();
		   }
		 </script>
		
			<script type="text/javascript">
			
		function AddneueTermine(){
			
			var div = document.getElementById('neuerUrlaub');

			div.innerHTML += "Start: <input name=Starttime[] type=date class='form-control' > Ende: <input name=Endetime[] type=date class='form-control' >Vertretung: <input type=text name=vertretung[] weight=100 class='form-control'> Vertretung Telefon: <input type=text name=vertretertelefon[] weight=100 class='form-control'> Vertretung Adresse: <input type=text name=vertreteradresse[] weight=100 class='form-control'> Vertretung Webseite: <input type=text name=vertreterurl[] weight=100 class='form-control'>  <input name=urlaubid[] type=hidden value='0'>  <br>";
			//Public: <select name=aktiv[] id='aktiv' required ><option value='1' >Ja</option>	<option value='0'>Nein</option></select>
			
			//document.getElementById('neueTermine').innerHTML = div;
			
		}
		
		function AddneueTermineNotfall(){
			
			var div = document.getElementById('neuerUrlaub');

			div.innerHTML += "<h3>Neuer Termin</h3>Start: <input name=Starttime[] type=date class='form-control' > Ende: <input name=Endetime[] type=date class='form-control' > <br> Anleitung: Der Hinweistext kann erst angelegt werden, wenn der Termin einmal gespeichert wurde. Speichern Sie den neuen Termin. Klicken Sie dannach auf 'Zurück' und fügen Sie den Hinweistext ein.<br>			<input name=urlaubid[] type=hidden value='0'>  <br>";
			//Public: <select name=aktiv[] id='aktiv' required ><option value='1' >Ja</option>	<option value='0'>Nein</option></select>
			

			
			
		}		
				

		function templateUpdate() {

			var betreff = document.getElementById('betreff');
			var bodytext = document.getElementById('trumbowyg-demo');

			var templetid = document.getElementById('templetid').value;
			var anfrageid = document.getElementById('anfrageid').value;

			$.ajax({
				type: 'POST',
				url: 'mailtemplate.php',
				data: {
					templetid: templetid,
					anfrageid: anfrageid
				},
				dataType: 'json',
				success: function (data) {

					if (data.error) {
						alert("Fehler: " + data.error);
						return;
					}

					betreff.value = data.betreff;
					$('#trumbowyg-demo').trumbowyg('html', data.body);
				}
			});
		}
		function checkTemplate(){
			
			var templetid = document.getElementById('templetid').value;
			if(templetid == ""){
				alert("Macht es dir einfacher!\nNutze eine Vorlage. Du kannst diese jederzeit wechseln. \n\nFür eine allgemeine Vorlage nutze 'Allgemeine Anfrage'.");
			}
			
		}
			
			</script>
			
				<style>
				select {
					width: auto;
					display: inline;
					height: auto;
					

					
				}
				td  {
					padding-top:5px;
					padding-bottom:5px;
					padding-right:5px;		
					vertical-align:top;					
				}
				tr  {
				  padding-top:5px;
				  padding-bottom:5px;
				  padding-right:5px;   
				  vertical-align:top;
				  
				}
				th  {
				  padding-top:5px;
				  padding-bottom:5px;
				  padding-right:5px; 
vertical-align:top;				  
				}
			</style>			
		


</div>

<?php


include("templates/footer.inc.php")
?>
