diff --git a/admin/anfragen.php b/admin/anfragen.php
index 2bc0b6c..f36d670 100644
--- a/admin/anfragen.php
+++ b/admin/anfragen.php
@@ -252,14 +252,20 @@ if(!check_worker()){
// werden konnte. Frueher fielen diese Zeilen durch den INNER
// JOIN komplett aus der Liste.
$hatPerson = ($row["vorname"] !== null || $row["nachname"] !== null);
+ // Die Anlage haelt die Rufnummer des Anrufers getrennt von den
+ // Stammdaten - sie kann von der hinterlegten abweichen.
+ $anruferzeile = GetAnruferZeile($row["source"] ?? "mail", $row["anrufernummer"] ?? null);
if($hatPerson){
$userausgabe = $vorname . " " . $nachname . "
" . $ausgabegeburstag;
$adresse = $plz . " " . $ort . "
" . $strasse ;
$kontakt = "$mail
Tel:$tel";
+ if($anruferzeile !== ""){
+ $kontakt .= "
" . $anruferzeile;
+ }
}else{
$userausgabe = "Kein Patient zugeordnet";
$adresse = "-";
- $kontakt = "Kontaktdaten siehe Nachricht";
+ $kontakt = ($anruferzeile !== "") ? $anruferzeile : "Kontaktdaten siehe Nachricht";
}
echo "
$userausgabe $kontakt | $adresse | $ordnungsstring - $anfrageart $WeitereInfos | $datumausgabe | $update_time $checkausgabe $ausgabeworker | ";
// "Antworten" verschickt eine Mailvorlage. Ohne zugeordnete Person
@@ -354,6 +360,7 @@ if(!check_worker()){
echo "Bitte telefonisch beantworten und die Anfrage anschliessend ";
echo "ueber Telefonisch beantwortet abschliessen.";
echo "";
+ echo GetAnruferZeile($row["source"] ?? "mail", $row["anrufernummer"] ?? null);
echo GetSprachnachrichtHinweis($row["source"] ?? "mail");
echo "Nachricht: " . nl2br(e((string)$row["nachricht"])) . "
";
ZuruckzumAnfrageOverView();
@@ -402,6 +409,7 @@ if(!check_worker()){
$antworttext = $row["antworttext"] ?? null;
$WeitereInfos = "";
+ $WeitereInfos .= GetAnruferZeile($row["source"] ?? "mail", $row["anrufernummer"] ?? null);
$WeitereInfos .= GetSprachnachrichtHinweis($row["source"] ?? "mail");
if ($medikamenteins) $WeitereInfos .= "Medikament1: $medikamenteins ";
if ($medikamentzwei) $WeitereInfos .= "Medikament2: $medikamentzwei ";
@@ -1085,6 +1093,7 @@ if(!check_worker()){
a.sicherenachricht,
a.abholort,
a.source,
+ a.anrufernummer,
p.person_id,
p.vorname,
@@ -1141,6 +1150,7 @@ if(!check_worker()){
/* --- Anzeige-Strings --- */
$WeitereInfos = "";
+ $WeitereInfos .= GetAnruferZeile($row["source"] ?? "mail", $row["anrufernummer"] ?? null);
$WeitereInfos .= GetSprachnachrichtHinweis($row["source"] ?? "mail");
if (!empty($medikamenteins)) {
$WeitereInfos .= "Medikament1: " . htmlspecialchars($medikamenteins, ENT_QUOTES, 'UTF-8') . " ";
@@ -1333,6 +1343,7 @@ if(!check_worker()){
a.medikament5,
a.medikament6,
a.source,
+ a.anrufernummer,
aa.artname AS anfrageart_name,
@@ -1393,6 +1404,7 @@ if(!check_worker()){
$ordnungsstring = GetOrdnungsid($ordnungsid);
$WeitereInfos = "";
+ $WeitereInfos .= GetAnruferZeile($row["source"] ?? "mail", $row["anrufernummer"] ?? null);
$WeitereInfos .= GetSprachnachrichtHinweis($row["source"] ?? "mail");
if (!empty($med1)) $WeitereInfos .= "Medikament1: " . htmlspecialchars($med1, ENT_QUOTES, 'UTF-8') . " ";
if (!empty($med2)) $WeitereInfos .= "Medikament2: " . htmlspecialchars($med2, ENT_QUOTES, 'UTF-8') . " ";
diff --git a/inc/functions.inc.php b/inc/functions.inc.php
index 98e024c..a0a6269 100644
--- a/inc/functions.inc.php
+++ b/inc/functions.inc.php
@@ -646,10 +646,52 @@ function GetSprachnachrichtHinweis($source){
return "";
}
return "Transkript der Sprachnachricht - Aufnahme anhören: "
- . "ki-praxis.praxis.local"
+ . "ki-praxis.praxis.local/anfragen"
. " (nur im Praxisnetz) ";
}
+/**
+ * Telefonnummer als anklickbaren tel:-Link ausgeben.
+ *
+ * Der Link vertraegt nur Ziffern und ein fuehrendes Plus; Klammern,
+ * Leerzeichen und Bindestriche fliegen fuer das Ziel raus, angezeigt wird
+ * die Nummer unveraendert. Nummern ohne jede Ziffer - etwa "unterdrueckt"
+ * bei unterdrueckter Rufnummer - werden nur als Text ausgegeben.
+ * Erwartet den Rohwert aus der Datenbank und maskiert selbst.
+ */
+function GetTelefonLink($nummer){
+ $nummer = trim((string)$nummer);
+ if($nummer === ""){
+ return "";
+ }
+ $ziel = preg_replace('/[^0-9]/', '', $nummer);
+ if($ziel === ""){
+ return htmlspecialchars($nummer, ENT_QUOTES, 'UTF-8');
+ }
+ if(substr($nummer, 0, 1) === "+"){
+ $ziel = "+" . $ziel;
+ }
+ return ""
+ . htmlspecialchars($nummer, ENT_QUOTES, 'UTF-8') . "";
+}
+
+/**
+ * Rufnummer des Anrufers als beschriftete Zeile.
+ *
+ * anfragen.anrufernummer fuellt die Telefonanlage; steht dort nichts, gibt
+ * es keine Zeile. Fuer alle Herkuenfte ausser "telefon" leer.
+ */
+function GetAnruferZeile($source, $anrufernummer){
+ if($source != "telefon"){
+ return "";
+ }
+ $link = GetTelefonLink($anrufernummer);
+ if($link === ""){
+ return "";
+ }
+ return "Anruf von: " . $link . " ";
+}
+
function GetPatientenartName($Patientenart){
if($Patientenart == "0"){
$impfenangebot = "Neupatient";
|