' . '

Fehler in impfwarteliste.php

' . '

Die Seite ist wegen eines PHP-Fehlers abgebrochen.

' . '

Meldung: ' . htmlspecialchars((string)$error['message'], ENT_QUOTES, 'UTF-8') . '
' . 'Datei: ' . htmlspecialchars((string)$error['file'], ENT_QUOTES, 'UTF-8') . '
' . 'Zeile: ' . (int)$error['line'] . '

' . ''; }); include('header.php'); ?> Praxis Creutzburg - Impfung Warteliste

Impfwarteliste

Die Impfworkflow-Tabellen konnten nicht automatisch geprueft werden:
Bitte fuehren Sie zuerst das Migrationsskript aus.
num_rows == 1){ $rowimpf = $queryimpf->fetch_assoc() ; $userid = $rowimpf["userid"]; $checked = $rowimpf["checked"]; $warteid = $rowimpf["warteid"]; $impfenzeitraum = $rowimpf["impfenzeitraum"]; $zeitraumId = (int)($rowimpf["zeitraum_id"] ?? 0); if ($zeitraumId > 0 && isset($pdo) && $pdo instanceof PDO) { $zeitraumAktuell = impfLoadZeitraumById($pdo, $zeitraumId, true); if ($zeitraumAktuell) { $impfenzeitraum = $zeitraumAktuell['label']; } } $ausgewaehlteZeitraeume = []; if (isset($pdo) && $pdo instanceof PDO) { $ausgewaehlteZeitraeume = impfGetWartelistenZeitraeumeLabels($pdo, (int)$warteid, false); } if (!empty($ausgewaehlteZeitraeume)) { $impfenzeitraum = implode('
', array_map(static function ($label) { return e((string)$label); }, $ausgewaehlteZeitraeume)); } else { $impfenzeitraum = htmlspecialchars((string)$impfenzeitraum, ENT_QUOTES, 'UTF-8'); } //echo $userid; $queryuser = mysqli_query($con, "SELECT * FROM persons WHERE person_id='" . $userid . "'"); $rowuser = $queryuser->fetch_assoc(); $vorname = $rowuser["vorname"]; $nachname = $rowuser["nachname"]; $mail = $rowuser["email"]; //echo $mail; $tel = $rowuser["tele"]; $geburtstag = $rowuser["geburtstag"]; $userausgabe = $vorname . " " . $nachname; // Impfstoff $impfstoff = $rowimpf["impfstoff"]; $sqlimpfstoffstring = "SELECT * FROM impfstoff WHERE impfid ='" . $impfstoff . "'"; $queryimpfstoff = mysqli_query($con,$sqlimpfstoffstring); $rowimpf = mysqli_fetch_assoc($queryimpfstoff); $impfstofftext = $rowimpf["impfname"]; $Patientenart = $rowuser["patientenart"]; if($Patientenart == "1"){ $Patientenart = "Patient"; }else{ $Patientenart = "neuer Patient"; } $Impfaufklaerung = $rowimpf["Impfaufklaerung"]; if($Impfaufklaerung == "1"){ $Impfaufklaerung = "Ja"; }else{ $Impfaufklaerung = "Nein"; } $WeitereFragen = $rowimpf["WeitereFragen"]; if($WeitereFragen == "1"){ $WeitereFragen = "Ja"; }else{ $WeitereFragen = "Nein"; } //$mailbetreff = "Ihre Coronaimpfung bei Praxis Creutzburg"; $Zeitanzeige = $datum . " " . $start . "-" . $ende ; if($checked == 0){ echo "

Sie haben Ihren Wartelisten-Eintrag aktuell noch nicht bestätigt!

Über diese Oberfäche können Sie bei freien Impftermin schneller einen Termin buchen!

"; echo "Sie haben die folgenden Angaben:

"; echo "

Name: $userausgabe

"; echo "

Art: $Patientenart

"; echo "

Telefon: $tel

"; echo "

Impfstoff: $impfstofftext

"; echo "

Zeitraum:
$impfenzeitraum


"; echo "
"; echo ''; echo ''; echo ''; echo "
"; echo "
"; echo ''; echo ''; echo ''; echo "
"; }else if($checked == 1){ echo "

Sie haben Ihren Warteplatz bestätigt!


Vielen Dank!

Sie erhalten von uns automatisch eine Terminanfrage, sobald ein passendes Impfevent geplant wurde.


"; echo "Sie haben die folgenden Angaben:

"; echo "

Name: $userausgabe

"; echo "

Impfstoff: $impfstofftext


"; if (!empty($ausgewaehlteZeitraeume)) { echo "

Ausgewählte Zeitfenster:
" . implode('
', array_map(static function ($label) { return e((string)$label); }, $ausgewaehlteZeitraeume)) . "

"; } else { echo "

Zeitraum: $impfenzeitraum

"; } echo "

Wir informieren Sie, sobald ein konkreter Impftermin für Ihren Impfstoff festgelegt wurde.

"; echo "Die Terminvergabe erfolgt durch das Praxisteam, sobald eine komplette Impfflasche mit passenden Wartelistenplätzen gefüllt ist.

"; echo "Können Sie Ihren Warteplatz nicht wahrnehmen oder benötigen diesen nicht mehr, dann tragen Sie sich bitte aus:
"; echo "
"; echo ''; echo ''; echo ''; echo "
"; }else if($checked == 2){ echo "

Ihr Warteplatz wurde erfolgreich abgesagt!!


Wünschen Sie einen neuen Warteplatz, tragen Sie sich wieder über das Formular ein.
"; }else if($checked == 3){ echo "

Ihr Warteplatz wurde vom Praxisteam storniert!


Wünschen Sie einen neuen Warteplatz, tragen Sie sich wieder über das Formular ein.
"; }else if($checked == 4){ echo "

Ihr Warteplatz wurde vom Praxisteam storniert!


Wünschen Sie einen neuen Warteplatz, tragen Sie sich wieder über das Formular ein.
"; } }else{ echo "

Ihre Warteplatz ist gelöscht.


Eine weitere Bearbeitung ist nicht mehr möglich.

"; } }else if(isset($_POST["submitbox"]) && !isset($_POST["aktion"])){ echo '

Kontrollieren Sie Ihre Angaben!


'; echo '
'; echo ''; // Schleife durch Clemens 15.10.2018 $ignoreKeys = ["impfenangebot", "Patientenart", "Impfaufklaerung", "WeitereFragen", "zusammenmit"]; foreach ($_POST as $key => $value) { if($key === "submitbox"){ continue; } if(in_array($key, $ignoreKeys, true)){ echo "\n"; continue; } if($key === "impfenzeitraeume" && is_array($value)){ $zeitraumIds = impfNormalizeZeitraumIds($value); $zeitraumLabels = []; foreach ($zeitraumIds as $zeitraumId) { $zeitraumRow = null; if (isset($pdo) && $pdo instanceof PDO) { $zeitraumRow = impfLoadZeitraumById($pdo, (int)$zeitraumId, true); } if ($zeitraumRow) { $zeitraumLabels[] = (string)$zeitraumRow['label']; echo '' . "\n"; } } echo "\n"; continue; } if($value !== ""){ if($key == "Impfstoff"){ $sqlimpfstoffstring = "SELECT * FROM impfstoff WHERE impfid ='" . $value . "' order by sortierung"; $queryimpfstoff = mysqli_query($con,$sqlimpfstoffstring); $rowimpf = mysqli_fetch_assoc($queryimpfstoff); $impfstofftext = $rowimpf["impfname"]; echo "\n"; echo"\n"; }else if($key == "impfenzeitraum"){ $zeitraumRow = null; if (isset($pdo) && $pdo instanceof PDO) { $zeitraumRow = impfLoadZeitraumById($pdo, (int)$value, true); } $zeitraumText = $zeitraumRow ? $zeitraumRow['label'] : 'Unbekannter Zeitraum'; echo "\n"; echo"\n"; echo"\n"; }else{ echo "\n"; echo"\n"; } } } echo '
$key:" . implode("
", array_map(static function ($label) { return e((string)$label); }, $zeitraumLabels)) . "
$key:$impfstofftext
$key:$zeitraumText
$key:$value
'; echo ''; echo ''; echo '
'; }else if(isset($_POST["aktion"])){ if($_POST["aktion"] == "1"){ $vorname = mysqli_real_escape_string($con, $_POST["Vorname"] ?? ""); $nachname = mysqli_real_escape_string($con, $_POST["Name"] ?? ""); $geburtstag = mysqli_real_escape_string($con, $_POST["Geburtsjahr"] ?? ""); $Email = mysqli_real_escape_string($con, $_POST["Email"] ?? ""); $tele = mysqli_real_escape_string($con, $_POST["Tel"] ?? ""); $plz = mysqli_real_escape_string($con, $_POST["plz"] ?? ""); $ort = mysqli_real_escape_string($con, $_POST["ort"] ?? ""); $strasse = mysqli_real_escape_string($con, $_POST["strasse"] ?? ""); $impfenangebotstring = $_POST["impfenangebot"] ?? "I"; $impfstoff = (int)($_POST["Impfstoff"] ?? 0); $Patientenartstring = mysqli_real_escape_string($con, $_POST["Patientenart"] ?? "Neupatient"); $Impfaufklaerung = mysqli_real_escape_string($con, $_POST["Impfaufklaerung"] ?? "Nein"); $WeitereFragen = mysqli_real_escape_string($con, $_POST["WeitereFragen"] ?? "Nein"); $impfenmit = mysqli_real_escape_string($con, $_POST["zusammenmit"] ?? ""); $impfenzeitraumIds = impfNormalizeZeitraumIds($_POST["impfenzeitraeume"] ?? ($_POST["impfenzeitraum"] ?? [])); $impfart = (int)($_POST["impfart"] ?? 0); $letzteimpfung = trim($_POST["letzteimpfung"] ?? ""); if ($impfstoff <= 0 || $impfart <= 0 || empty($impfenzeitraumIds)) { echo "

Pflichtfelder fehlen


Bitte wählen Sie Impfstoff, mindestens einen Zeitraum und die Impfungsart aus.

"; goto end_aktion_1; } if ($impfart > 1 && $letzteimpfung === "") { echo "

Letzte Impfung fehlt


Bitte geben Sie das Datum der letzten Impfung an.

"; goto end_aktion_1; } if ($impfart === 1) { $letzteimpfung = ""; } $zeitraumLabels = []; if (isset($pdo) && $pdo instanceof PDO) { foreach ($impfenzeitraumIds as $impfenzeitraumId) { $zeitraumRow = impfLoadZeitraumById($pdo, (int)$impfenzeitraumId, true); if (!$zeitraumRow || !in_array($impfstoff, $zeitraumRow['impfstoff_id_list'] ?? [], true)) { echo "

Ungültiger Zeitraum


Bitte wählen Sie einen gültigen Zeitraum für den ausgewählten Impfstoff aus.

"; goto end_aktion_1; } $zeitraumLabels[] = (string)$zeitraumRow['label']; } } $impfenzeitraum = mysqli_real_escape_string($con, implode(' | ', $zeitraumLabels)); $impfenzeitraumId = (int)($impfenzeitraumIds[0] ?? 0); //echo $impfenmit; if($impfenangebotstring == "S"){ $impfenangebot = 2; }else if($impfenangebotstring == "I"){ $impfenangebot = 1; }else{ $impfenangebot = 1; } // Impfstoff //$impfstoff = $rowtime["impfstoff"]; $sqlimpfstoffstring = "SELECT * FROM impfstoff WHERE impfid ='" . $impfstoff . "'"; $queryimpfstoff = mysqli_query($con,$sqlimpfstoffstring); $rowimpf = mysqli_fetch_assoc($queryimpfstoff); $impfstofftext = $rowimpf["impfname"]; if($Patientenartstring == "Patient"){ $Patientenart = 1; }else{ $Patientenart = 0; } $Impfaufklaerung = mysqli_real_escape_string($con, $Impfaufklaerung); if($Impfaufklaerung == "Ja"){ $Impfaufklaerung = 1; }else{ $Impfaufklaerung = 0; } $WeitereFragen = mysqli_real_escape_string($con, $WeitereFragen); if($WeitereFragen == "Ja"){ $WeitereFragen = 1; }else{ $WeitereFragen = 0; } $sendmail = false; $userid = Userspeichern( $vorname, $nachname, $geburtstag, $Email, $tele, $ort, $plz, $strasse, 0, $Patientenart, 0 ); $hashvorher = $vorname . $nachname . $Email; $hash = md5($hashvorher) . date("Ymd"); $letzteimpfungSql = ($letzteimpfung !== "") ? ("'" . mysqli_real_escape_string($con, $letzteimpfung) . "'") : "NULL"; $query = mysqli_query($con, "SELECT * FROM warteliste WHERE userid='" . (int)$userid . "'"); if($query && $query->num_rows == 0){ $warteid = 0; $saveOk = false; $saveErrorShown = false; try { if (isset($pdo) && $pdo instanceof PDO) { [$ok, $msg, $newWarteid] = impfCreateWaitlistEntryForPerson( $pdo, (int)$userid, $impfstoff, $impfenzeitraumIds, $impfart, ($letzteimpfung !== "") ? $letzteimpfung : null, 0 ); if (!$ok) { throw new RuntimeException($msg); } $warteid = (int)$newWarteid; $pdo->prepare("UPDATE warteliste SET impfenangebot = :impfenangebot, impfenmit = :impfenmit, Impfaufklaerung = :aufklaerung, WeitereFragen = :fragen WHERE warteid = :warteid") ->execute([ 'impfenangebot' => $impfenangebot, 'impfenmit' => $impfenmit, 'aufklaerung' => $Impfaufklaerung, 'fragen' => $WeitereFragen, 'warteid' => $warteid, ]); $saveOk = true; } else { throw new RuntimeException("PDO Verbindungsobjekt fehlt."); } SendMailMessageVorlage($pdo, "2", (int)$warteid, "8" ); echo "

Nachricht abgeschickt!


Sie müssen die Eintragung in der Warteliste noch bestätigen!
Überprüfen Sie auch Ihren Spam-Filter!

"; } catch (Throwable $e) { echo "

Speicherung nicht erfolgreich


" . htmlspecialchars($e->getMessage(), ENT_QUOTES, 'UTF-8') . "

"; $saveErrorShown = true; } if(!$saveOk && !$saveErrorShown){ echo "

Speicherung nicht erfolgreich


Ihre Anfrage konnte nicht gespeichert werden.
Nutzen Sie das Formular erneut

"; } }else{ echo "

Kein Versand!

Dieser Benutzer ist schon in unserer Warteliste eingetragen. Eine Doppelbuchung ist nicht möglich!




"; } end_aktion_1: }else if($_POST["aktion"] == 2){ $querychecked = mysqli_query($con, "SELECT checked FROM warteliste WHERE warteid='" . $_POST["warteid"] . "'"); $rowchecked = $querychecked->fetch_assoc() ; $checked = $rowchecked["checked"]; if($checked >= 1){ echo "

Sie haben Ihren Termin schon bestätigt.

"; }else{ $query = mysqli_query($con, "Update warteliste SET checked='1' WHERE warteid ='".$_POST["warteid"]."'"); if($query){ echo "

Ihr Termin wurde erfolgreich bestätigt!


"; echo "Sie erhalten gleiche eine schriftliche Bestätigung per E-Mail
"; $queryimpf = mysqli_query($con, "SELECT * FROM warteliste WHERE warteid='" . $_POST["warteid"] . "'"); $rowimpf = $queryimpf->fetch_assoc() ; $userid = $rowimpf["userid"]; $checked = $rowimpf["checked"]; $warteid = $rowimpf["warteid"]; $timeid = $rowimpf["timeid"]; //echo $userid; $queryuser = mysqli_query($con, "SELECT * FROM persons WHERE person_id='" . $userid . "'"); $rowuser = $queryuser->fetch_assoc(); $vorname = $rowuser["vorname"]; $nachname = $rowuser["nachname"]; $mail = $rowuser["email"]; //echo $mail; $tel = $rowuser["tele"]; $geburtstag = $rowuser["geburtstag"]; $userausgabe = $vorname . " " . $nachname; SendMailMessageVorlage($pdo, "2", $warteid , "9" ); if (isset($pdo) && $pdo instanceof PDO) { try { impfWorkflowNotificationProcess($pdo); } catch (Throwable $e) { error_log('impfWorkflowNotificationProcess failed in impfwarteliste confirm: ' . $e->getMessage()); } } } } }else if($_POST["aktion"] == 3){ $querychecked = mysqli_query($con, "SELECT checked FROM warteliste WHERE warteid='" . $_POST["warteid"] . "'"); $rowchecked = $querychecked->fetch_assoc() ; $checked = $rowchecked["checked"]; if($checked >= 2){ echo "

Sie haben Ihren Warteplatz schon abgesagt.

"; }else{ $queryimpf = mysqli_query($con, "SELECT * FROM warteliste WHERE warteid='" . $_POST["warteid"] . "'"); $rowimpf = $queryimpf->fetch_assoc() ; SendMailMessageVorlage($pdo, "2", $_POST["warteid"], "10" ); if (isset($pdo) && $pdo instanceof PDO) { $pdo->prepare("DELETE FROM warteliste_zeitraum WHERE warteid = :warteid")->execute([ 'warteid' => (int)$_POST["warteid"], ]); } $query = mysqli_query($con, "DELETE FROM warteliste WHERE warteid ='".$_POST["warteid"]."'"); if($query){ echo "

Ihr Warteplatz wurde erfolgreich gelöscht!


"; echo "Sie erhalten gleiche eine schriftliche Bestätigung per E-Mail
"; if (isset($pdo) && $pdo instanceof PDO) { try { impfWorkflowNotificationProcess($pdo); } catch (Throwable $e) { error_log('impfWorkflowNotificationProcess failed in impfwarteliste delete: ' . $e->getMessage()); } } } } }else if($_POST["aktion"] == 4){ $timeid = mysqli_real_escape_string($con, $_POST["Terminzeitraum"]); //echo $timeid ; //echo "
"; $warteid = mysqli_real_escape_string($con, $_POST["warteid"]); //echo $warteid ; $query = mysqli_query($con, "SELECT impfdosen FROM timeslots WHERE timeid ='". $timeid ."'"); $row = $query->fetch_assoc(); $dosenanzahl = $row["impfdosen"]; if($dosenanzahl >= 1){ $queryuser = mysqli_query($con, "SELECT userid, hash, warteid, impfart FROM warteliste WHERE warteid='" . $warteid . "'"); $row = mysqli_fetch_assoc($queryuser); $userid = $row['userid']; $warteid = $row['warteid']; $hash = $row['hash']; $impfartwarte = (int)($row['impfart'] ?? 1); $datestring = date("Y-m-d"); $query = mysqli_query($con, "SELECT * FROM impftermin INNER JOIN timeslots ON impftermin.timeid = timeslots.timeid WHERE userid='". $userid ."' AND date >= '". $datestring ."' AND checked IN ('0','1')"); if($query->num_rows == 0){ $queryinsert = mysqli_query($con, "INSERT INTO impftermin (userid, timeid, hash, coronafragen, astraok, impfart, checked, behandelt) VALUES ('".$userid."', '".$timeid."', '".$hash."', '0', '1', '".$impfartwarte."', '0', '0')"); if($queryinsert){ //echo "Select terminid FROM impftermin WHERE userid='" . $userid . "' AND timeid='" . $timeid . "'"; $querytermin = mysqli_query($con, "Select terminid FROM impftermin WHERE userid='" . $userid . "' AND timeid='" . $timeid . "'"); $rowtermin = mysqli_fetch_assoc($querytermin); $terminid = $rowtermin["terminid"]; $query = mysqli_query($con, "Select impfdosen FROM timeslots WHERE timeid='".$timeid."'"); $row = mysqli_fetch_assoc($query); $dosen = $row["impfdosen"] - 1; $query = mysqli_query($con, "Update timeslots SET impfdosen='".$dosen ."' WHERE timeid ='".$timeid."'"); if($query){ echo "

Mail wird gleich versendet!

"; echo "
Überprüfen Sie auch Ihren SPAM Ordner!
"; SendMailMessageVorlage($pdo, "1", (int)$terminid, "1" ); if (isset($pdo) && $pdo instanceof PDO) { $pdo->prepare("DELETE FROM warteliste_zeitraum WHERE warteid = :warteid")->execute([ 'warteid' => (int)$warteid, ]); } $query = mysqli_query($con, "DELETE FROM warteliste WHERE warteid ='".$warteid."'"); }else{ echo "

Fehler bei Speichern der Anfragen!

"; echo "
Versuchen Sie es später erneut!
"; } } }else{ echo "

Kein Versand!

Dieser Benutzer hat schon einen Termin eingetragen. Eine Doppelbuchung ist nicht möglich!


Achtung! Sagen Sie Ihren Termin ab können Sie eine Woche keinen neuen Termin erhalten.
Haben Sie Ihren Termin abgesagt, können Sie sieben Tage keinen neuen Termin beantragen!


"; } }else{ echo "

Kein Termin mehr frei!

"; echo "
Aktuell ist zu diesem Zeitabschnitt keine Impfung mehr möglich!
"; } } }else{ ?>

Impfwillig?

Sie wollen sich impfen lassen?
Schnell und unkompliziert?
Melden Sie sich unverbindlich auf unserer Warteliste an. Sollten wir entsprechend wieder Impfstoff vorrätig haben, dann bekommen Sie eine Information per E-Mail.

prepare("SELECT r.impfstoff_id, i.impfname FROM impfstoff_workflow r INNER JOIN impfstoff i ON i.impfid = r.impfstoff_id WHERE (i.aktiv = 1 OR i.aktivwarteliste = 1 OR i.aktivtermin = 1 OR i.aktivgrippe = 1) AND r.dosen_pro_flasche > 0 ORDER BY i.impfname"); $stImpfstoffe->execute(); foreach ($stImpfstoffe->fetchAll(PDO::FETCH_ASSOC) as $impfstoffRow) { $verfuegbareImpfstoffe[(int)$impfstoffRow['impfstoff_id']] = (string)$impfstoffRow['impfname']; } $zeitraeumeByImpfstoff = impfGetZeitraeumeByImpfstoff($pdo, true); foreach ($zeitraeumeByImpfstoff as $iid => $zeitraeume) { foreach ($zeitraeume as $zeitraum) { if (!isset($verfuegbareImpfstoffe[$iid])) { continue; } if (!isset($zeitOptionenByImpfstoff[$iid])) { $zeitOptionenByImpfstoff[$iid] = []; } $zeitOptionenByImpfstoff[$iid][] = [ 'id' => (int)$zeitraum['zeitraum_id'], 'label' => impfZeitraumLabel($zeitraum, false), ]; } } foreach ($verfuegbareImpfstoffe as $iid => $impfname) { if (empty($zeitOptionenByImpfstoff[$iid])) { unset($verfuegbareImpfstoffe[$iid]); } } } $zeitOptionenJson = json_encode($zeitOptionenByImpfstoff, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES); ?>

Anmeldung

Füllen Sie das Formular für jede anzumeldende Person einzeln aus:

';?>





Impfanfragen werden nur online bearbeitet!
Ohne Chipkarte sind seit 1.1.2016 keine Kassendienstleistungen mehr möglich.
Kassenleistungen sind an die gesetzlichen Regelungen gebunden. Fragen Sie Ihre Krankenkasse.
Datenschutz Belehrung: Elektronische Nachrichten können von Dritten gelesen werden.