"; echo file_get_contents($p_file); if ($p_text) echo $p_text; echo ""; } } /** Infopanel mit einer zweispaltigen Tabelle * @param string $title Überschrift des Panels * @param array $data_array Strukturdaten mit Schlüssel und Wert * @return string Die formatierte Zeichenkette. */ function infopanel_table($title, $data_array) { // Ausgabe des Panels mit ZWEI Spalten echo '
'; echo ' '; echo ' '; echo ' '; echo ' '; echo ' '; echo ''; echo ' '; foreach ($data_array as $key => $value) { echo ' '; echo ' '; echo ' '; echo ' '; } echo ' '; echo '
'; echo ' '; echo '
' . $key . '' . nvl($value, '---') . '
'; echo '
'; } /** Markdown-Formatierung für Schnelleingaben * @param string $text Die zu formatierende Zeichenkette. * @return string Die formatierte Zeichenkette. */ function markdownFormat($text) { $text = nl2br(rtrim($text, "\n")); // Umbrüche formatieren (
) $pattern = "/(\::::)( .+)/"; $replacement = "
  • $2
  • "; // :::: {Einrücken 2. Ebene} $text = preg_replace($pattern, $replacement, $text); $pattern = "/(\::)( .+)/"; $replacement = "
  • $2
  • "; // :: {Einrücken 1. Ebene} $text = preg_replace($pattern, $replacement, $text); $pattern = "/(\-\-)( .+)/"; $replacement = "
  • $2
  • "; // -- {Listenelement 2. Ebene} $text = preg_replace($pattern, $replacement, $text); $pattern = "/(\-)( .+)/"; $replacement = "
  • $2
  • "; // - {Listenelement 1. Ebene} $text = preg_replace($pattern, $replacement, $text); $text = preg_replace("/\*\*(.*?)\*\*/s", "$1", $text); // **{Fett}** $text = preg_replace("/\*(.*?)\*/s", "$1", $text); // *{Kursiv}* $text = ""; // Listenumschluss return $text; } ///////////////////////////////////////// // EIGENE PRÜFFUNKTIONEN // ///////////////////////////////////////// /** Checken einer Zeichenkette auf das Vorhandensein. * @param string|null $value Die zu überprüfende Zeichenkette. * @param mixed $default Der Ersatzwert, der zurückgegeben wird, wenn die Zeichenkette leer ist. * @return mixed Der ursprüngliche Wert oder der Ersatzwert. */ function nvl(string $value = null, $default) { return isset($value) && $value !== '' ? $value : $default; } /** Gegenderte Anzeige eines Rollennamens (Datenbankwert → Anzeige). * @param string $role Der Rollenname aus der Datenbank * @return string Der gegenderte Anzeigename */ function genderRole(string $role): string { static $map = [ 'Admin' => 'Admin', 'Technik' => 'Technik', 'Entwickler' => 'Entwickler*in', 'Amtsgeschwister' => 'Amtsgeschwister', 'Diakon' => 'Diakon*in', 'DiakonIn' => 'Diakon*in', 'Priester' => 'Priester*in', 'PriesterIn' => 'Priester*in', 'Brandschutz' => 'Brandschutz', 'Brandschutzbeauftragter' => 'Brandschutz­beauftrage*r', ]; return $map[$role] ?? $role; } ?>