Bernd Wurst commited on 2025-10-03 12:16:25
Zeige 4 geänderte Dateien mit 54 Einfügungen und 4 Löschungen.
| ... | ... |
@@ -12,7 +12,6 @@ if (!isset($_SESSION['phone']) || !isset($_SESSION['firma']) && !isset($_SESSION |
| 12 | 12 |
|
| 13 | 13 |
$content = ''; |
| 14 | 14 |
$kunde = []; |
| 15 |
-$_SESSION['lname'] = ucwords($_SESSION['lname']); |
|
| 16 | 15 |
if (isset($_SESSION['lname']) && !isset($_SESSION['kundennr'])) {
|
| 17 | 16 |
$kunde = suche_kunde($_SESSION['lname'], $_SESSION['phone']); |
| 18 | 17 |
if ($kunde) {
|
| ... | ... |
@@ -0,0 +1,50 @@ |
| 1 |
+<?php |
|
| 2 |
+ |
|
| 3 |
+function namen_korrigieren($name) {
|
|
| 4 |
+ $name = trim($name); |
|
| 5 |
+ if (empty($name)) {
|
|
| 6 |
+ return ''; |
|
| 7 |
+ } |
|
| 8 |
+ |
|
| 9 |
+ // Wenn CAPS-Lock an war, korrigieren wir das |
|
| 10 |
+ // Wir entfernen nicht-alphab. Zeichen, um nur die Buchstaben zu prüfen. |
|
| 11 |
+ // Wir verwenden mb_strtoupper() und mb_strtolower() für Multibyte-Sicherheit. |
|
| 12 |
+ $nur_buchstaben = preg_replace('/[^a-zA-ZäöüÄÖÜß]/', '', $name);
|
|
| 13 |
+ |
|
| 14 |
+ if (!empty($nur_buchstaben) && $nur_buchstaben === mb_strtoupper($nur_buchstaben, 'UTF-8')) {
|
|
| 15 |
+ // Wenn alle Buchstaben Großbuchstaben sind (Caps-Lock aktiv), |
|
| 16 |
+ // wandeln wir den gesamten Namen in Kleinbuchstaben um, um ihn zu "resetten". |
|
| 17 |
+ $name = mb_strtolower($name, 'UTF-8'); |
|
| 18 |
+ } |
|
| 19 |
+ |
|
| 20 |
+ // Ersten Buchstaben jedes "Wortes" groß schreiben, den Rest belassen |
|
| 21 |
+ $name = preg_replace_callback( |
|
| 22 |
+ '/([\s\'\-]|^)([a-zA-ZäöüÄÖÜß])/', |
|
| 23 |
+ function ($matches) {
|
|
| 24 |
+ // Schreibe den Buchstaben im zweiten Match-Teil groß (Multibyte-sicher) |
|
| 25 |
+ return $matches[1] . mb_strtoupper($matches[2], 'UTF-8'); |
|
| 26 |
+ }, |
|
| 27 |
+ $name |
|
| 28 |
+ ); |
|
| 29 |
+ |
|
| 30 |
+ // Spezielle Präfixe (Artikel) in Kleinbuchstaben umwandeln |
|
| 31 |
+ $praefixe = array( |
|
| 32 |
+ 'An', 'Am', 'Von', 'Van', 'De', 'Da', 'Ten', 'Zu', 'Vom', 'Zum', 'Zur', 'Der', 'Die', 'Das' |
|
| 33 |
+ ); |
|
| 34 |
+ |
|
| 35 |
+ foreach ($praefixe as $prefix) {
|
|
| 36 |
+ // Suchmuster: Wortgrenze, Präfix, Leerzeichen |
|
| 37 |
+ $pattern = '/\b(' . preg_quote($prefix, '/') . ')\s/i';
|
|
| 38 |
+ |
|
| 39 |
+ $name = preg_replace_callback( |
|
| 40 |
+ $pattern, |
|
| 41 |
+ function ($m) {
|
|
| 42 |
+ // Präfix in Kleinbuchstaben umwandeln und Leerzeichen beibehalten |
|
| 43 |
+ return mb_strtolower($m[1], 'UTF-8') . ' '; |
|
| 44 |
+ }, |
|
| 45 |
+ $name |
|
| 46 |
+ ); |
|
| 47 |
+ } |
|
| 48 |
+ |
|
| 49 |
+ return $name; |
|
| 50 |
+} |
| ... | ... |
@@ -1,6 +1,7 @@ |
| 1 | 1 |
<?php |
| 2 | 2 |
require_once "lib/api.php"; |
| 3 | 3 |
require_once "lib/auftrag.php"; |
| 4 |
+require_once "lib/helper.php"; |
|
| 4 | 5 |
if (!file_exists("../data/".date("Y"))) {
|
| 5 | 6 |
mkdir("../data/".date("Y"));
|
| 6 | 7 |
} |
| ... | ... |
@@ -78,11 +79,11 @@ if (isset($_REQUEST['form'])) {
|
| 78 | 79 |
case 'start': |
| 79 | 80 |
$lname = ''; |
| 80 | 81 |
if (isset($_REQUEST['lname']) && trim($_REQUEST['lname']) != '') {
|
| 81 |
- $lname = trim($_REQUEST['lname']); |
|
| 82 |
+ $lname = namen_korrigieren($_REQUEST['lname']); |
|
| 82 | 83 |
} |
| 83 | 84 |
$fname = ''; |
| 84 | 85 |
if (isset($_REQUEST['fname']) && trim($_REQUEST['fname']) != '') {
|
| 85 |
- $fname = trim($_REQUEST['fname']); |
|
| 86 |
+ $fname = namen_korrigieren($_REQUEST['fname']); |
|
| 86 | 87 |
} |
| 87 | 88 |
|
| 88 | 89 |
$number = ''; |
| ... | ... |
@@ -82,7 +82,7 @@ if ($_SESSION['neue'] == '3er') {
|
| 82 | 82 |
$abfuellung = 'Sie haben uns folgende Nachricht hinterlassen:<br><blockquote>'.$_SESSION['sonstiges'].'</blockquote>'; |
| 83 | 83 |
} |
| 84 | 84 |
|
| 85 |
-$adresse = $_SESSION['fname'].' '.$_SESSION['lname']; |
|
| 85 |
+$adresse = $_SESSION['lname'].', '.$_SESSION['fname']; |
|
| 86 | 86 |
if ($_SESSION['fname'] == 'bekannt') {
|
| 87 | 87 |
$adresse = $_SESSION['lname']; |
| 88 | 88 |
} |
| 89 | 89 |