prepare intranet for first Dokploy deployment
This commit is contained in:
@@ -0,0 +1,124 @@
|
||||
<?php /* Name: functions.php
|
||||
Beschreibung: Generelle Funktionen
|
||||
- Verwaltung von Schaltflächen
|
||||
- Info-Panels (Boxen und Tabellen)
|
||||
- Markdown-Formatierung
|
||||
- Eigene Prüffunktionen */
|
||||
|
||||
|
||||
|
||||
|
||||
// Schaltfläche: Ausgabe eines beliebigen Buttons
|
||||
function display_button($p_key,$p_text,$align) {
|
||||
|
||||
global $p_buttons;
|
||||
|
||||
if (array_key_exists($p_key, $p_buttons)) {
|
||||
$p_file = $p_buttons[$p_key];
|
||||
|
||||
echo "<div class='button_picto' style='justify-content:" . $align . ";'>";
|
||||
echo file_get_contents($p_file);
|
||||
if ($p_text) echo $p_text;
|
||||
echo "</div>";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/** 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 '<div class="info_panel_table">';
|
||||
echo ' <table>';
|
||||
echo ' <thead>';
|
||||
echo ' <tr>';
|
||||
echo ' <th colspan="2">';
|
||||
echo ' <label>' . $title . '</label>';
|
||||
echo ' </th>';
|
||||
echo ' </tr>';
|
||||
echo '</thead>';
|
||||
echo ' <tbody id="tableBody">';
|
||||
|
||||
foreach ($data_array as $key => $value) {
|
||||
|
||||
echo ' <tr>';
|
||||
echo ' <td>' . $key . '</td>';
|
||||
echo ' <td>' . nvl($value, '---') . '</td>';
|
||||
echo ' </tr>';
|
||||
}
|
||||
echo ' </tbody>';
|
||||
echo ' </table>';
|
||||
echo '</div>';
|
||||
}
|
||||
|
||||
|
||||
/** 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 (<BR>)
|
||||
|
||||
$pattern = "/(\::::)( .+)/";
|
||||
$replacement = "<li style='margin-left:40px; list-style: none;'>$2</li>"; // :::: {Einrücken 2. Ebene}
|
||||
$text = preg_replace($pattern, $replacement, $text);
|
||||
|
||||
$pattern = "/(\::)( .+)/";
|
||||
$replacement = "<li style='margin-left:20px; list-style: none;'>$2</li>"; // :: {Einrücken 1. Ebene}
|
||||
$text = preg_replace($pattern, $replacement, $text);
|
||||
|
||||
$pattern = "/(\-\-)( .+)/";
|
||||
$replacement = "<li style='margin-left:40px;'>$2</li>"; // -- {Listenelement 2. Ebene}
|
||||
$text = preg_replace($pattern, $replacement, $text);
|
||||
|
||||
$pattern = "/(\-)( .+)/";
|
||||
$replacement = "<li>$2</li>"; // - {Listenelement 1. Ebene}
|
||||
$text = preg_replace($pattern, $replacement, $text);
|
||||
|
||||
$text = preg_replace("/\*\*(.*?)\*\*/s", "<b>$1</b>", $text); // **{Fett}**
|
||||
$text = preg_replace("/\*(.*?)\*/s", "<i>$1</i>", $text); // *{Kursiv}*
|
||||
|
||||
$text = "<ul>" . $text . "</ul>"; // 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' => 'Brandschutzbeauftrage*r',
|
||||
];
|
||||
return $map[$role] ?? $role;
|
||||
}
|
||||
?>
|
||||
Reference in New Issue
Block a user