Änderungen 2024 und Cookie für local-Mode
Bernd Wurst

Bernd Wurst commited on 2025-09-08 07:04:48
Zeige 8 geänderte Dateien mit 73 Einfügungen und 35 Löschungen.

... ...
@@ -12,7 +12,12 @@ if (!isset($_SESSION['phone']) || (!isset($_SESSION['name']) && !isset($_SESSION
12 12
 $content = '';
13 13
 $_SESSION['lname'] = ucwords($_SESSION['name']);
14 14
 $_SESSION['fname'] = '';
15
-if (strpos($_SESSION['name'], ' ') !== false) {
15
+if (strpos($_SESSION['name'], ', ') !== false) {
16
+    $parts = explode(", ", ucwords($_SESSION['name']));
17
+    $_SESSION['lname'] = array_shift($parts);
18
+    $_SESSION['fname'] = implode(" ", $parts);
19
+}
20
+elseif (strpos($_SESSION['name'], ' ') !== false) {
16 21
     $parts = explode(" ", ucwords($_SESSION['name']));
17 22
     $_SESSION['lname'] = array_pop($parts);
18 23
     $_SESSION['fname'] = implode(" ", $parts);
... ...
@@ -21,6 +26,10 @@ if (isset($_SESSION['name']) && !isset($_SESSION['kundennr'])) {
21 26
     $kunde = suche_kunde($_SESSION['name'], $_SESSION['phone']);
22 27
     if ($kunde) {
23 28
         $_SESSION['kundennr'] = $kunde['id'];
29
+        // Vorname in den Auftragsdaten
30
+        if (isset($kunde['firstname']) && $kunde['firstname']) {
31
+            $_SESSION['name'] = $kunde['lastname'].', '.$kunde['firstname'];
32
+        }
24 33
     }
25 34
 }
26 35
 
... ...
@@ -1,12 +1,22 @@
1 1
 function email_click( event ) {
2
-        $('#notification').val('email');
2
+        email = $('#btn-email').text().split(' an ').pop()
3
+        $('#notification').val('email:'+email);
4
+         $('form').submit();
5
+         event.preventDefault();
6
+}
7
+
8
+
9
+function whatsapp_click( event ) {
10
+        number = $('#btn-whatsapp').text().split(' an ').pop()
11
+        $('#notification').val('whatsapp:'+number);
3 12
          $('form').submit();
4 13
          event.preventDefault();
5 14
 }
6 15
 
7 16
 
8 17
 function sms_click( event ) {
9
-        $('#notification').val('sms');
18
+        number = $('#btn-sms').text().split(' an ').pop()
19
+        $('#notification').val('sms:'+number);
10 20
          $('form').submit();
11 21
          event.preventDefault();
12 22
 }
... ...
@@ -16,6 +26,7 @@ $(function () {
16 26
     
17 27
    $('#btn-email').click(email_click);
18 28
     $('#btn-sms').click(sms_click);
29
+    $('#btn-whatsapp').click(whatsapp_click);
19 30
 
20 31
 });
21 32
 
... ...
@@ -113,6 +113,14 @@ input[type=submit] {
113 113
     background-position: center 10px;
114 114
 }
115 115
 
116
+#btn-whatsapp {
117
+    min-width: 280px; 
118
+    padding-top: 170px;
119
+    background-image: url("images/whatsapp.png");
120
+    background-repeat: no-repeat;
121
+    background-position: center 10px;
122
+}
123
+
116 124
 #btn-email {
117 125
     min-width: 280px; 
118 126
     padding-top: 170px;
... ...
@@ -171,7 +179,7 @@ input[type=submit] {
171 179
 }
172 180
 
173 181
 .container {
174
-    max-width: 800px;
182
+    max-width: 900px;
175 183
 }
176 184
 
177 185
 #disclaimer {
... ...
@@ -26,7 +26,7 @@ $number = format_number($_SESSION['phone']);
26 26
 $headline = 'Vielen Dank für Ihren Auftrag!';
27 27
 if (isset($_SESSION['orderid']) && $_SESSION['orderid'] > 0) {
28 28
     $content = '<p>Ihr Auftrag ist vollständig bei uns eingegangen.</p>';
29
-    $content .= '<p>Die Auftragsnummer lautet: '.$_SESSION['orderid'].'</p>';
29
+    //$content .= '<p>Die Auftragsnummer lautet: '.$_SESSION['orderid'].'</p>';
30 30
 }
31 31
 
32 32
 
... ...
@@ -1,7 +1,9 @@
1 1
 <?php
2 2
 session_start();
3
-if (isset($_REQUEST['mode']) && $_REQUEST['mode'] == 'local') {
3
+if ((isset($_REQUEST['mode']) && $_REQUEST['mode'] == 'local') || 
4
+    (isset($_COOKIE['MODE']) && $_COOKIE['MODE'] == 'local')) {
4 5
     $_SESSION['mode'] = 'local';
6
+    setcookie('MODE', 'local', time() + 24*3600*500, "");
5 7
 }
6 8
 if (!isset($_SESSION['mode'])) {
7 9
     $_SESSION['mode'] = 'remote';
... ...
@@ -19,35 +19,39 @@ $content = '<p>Wie möchten Sie bevorzugt kontaktiert werden, wenn Ihr Auftrag e
19 19
 $num = 0;
20 20
 $kontakte = kunde_erste_kontakte($_SESSION['kundennr']);
21 21
 
22
+if (isset($kontakte['mobil'])) {
23
+    $num+=2;
24
+}
22 25
 if (isset($kontakte['email'])) {
23 26
     $num++;
24
-    $email = $kontakte['email'];
25
-    if ($_SESSION['email'] != $kontakte['email']) {
26
-        // Adresse wurde nicht grade eingegeben, verschleiere Adresse
27
-        list($local, $domain) = explode('@', $kontakte['email']);
28
-        $local = substr_replace($local, '...', 2);
29
-        $email = $local . '@' . $domain;
30 27
 }
31
-    $content .= '
32
-        <div class="col-sm-6"><a href="#" class="btn btn-block btn-lg btn-light" id="btn-email">E-Mail<br>an '.$email.'</a></div>';
28
+
29
+if ($num < 2) {
30
+    // Nichts zum aussuchen!
31
+    header('Location: gitterbox.php');
33 32
 }
33
+
34 34
 if (isset($kontakte['mobil'])) {
35
-    $num++;
36 35
     $phone = format_number_national($_SESSION['phone']);
37 36
     if (!str_starts_with($phone, '01')) {
38
-        $phone = substr_replace(format_number_national($kontakte['mobil']), ' ...', 4, 5);
37
+        $phone = format_number_national($kontakte['mobil']);
38
+    }
39
+    $content .= '
40
+        <div class="col-sm-6"><a href="#" class="btn btn-block btn-lg btn-light" id="btn-whatsapp">Whatsapp an<br> '.$phone.'</a></div>';
41
+    $content .= '
42
+        <div class="col-sm-6"><a href="#" class="btn btn-block btn-lg btn-light" id="btn-sms">SMS an<br> '.$phone.'</a></div>';
43
+}
44
+if (isset($kontakte['email'])) {
45
+    $email = $kontakte['email'];
46
+    if ($_SESSION['email'] != $kontakte['email']) {
47
+        $email = $kontakte['email'];
39 48
     }
40 49
     $content .= '
41
-        <div class="col-sm-6"><a href="#" class="btn btn-block btn-lg btn-light" id="btn-sms">SMS<br>an '.$phone.'</a></div>';
50
+        <div class="col-sm-12"><a href="#" class="btn btn-block btn-lg btn-light" id="btn-email">E-Mail an<br> '.$email.'</a></div>';
42 51
 }
43 52
 $content .= '<input type="hidden" name="notification" id="notification" value="">
44 53
     </div>';
45 54
  
46
-if ($num < 2) {
47
-    // Nichts zum aussuchen!
48
-    header('Location: gitterbox.php');
49
-}
50
-
51 55
 
52 56
 $content .= '</form>';
53 57
 
... ...
@@ -6,6 +6,9 @@ if (!file_exists("../data/".date("Y"))) {
6 6
 }
7 7
 
8 8
 session_start();
9
+if (isset($_COOKIE['MODE']) && $_COOKIE['MODE'] == 'local') {
10
+    $_SESSION['mode'] = 'local';
11
+}
9 12
 if (isset($_SESSION['last_activity']) && $_SESSION['last_activity'] < time()-(20*60)) {
10 13
     // Session seit 20 Minuten nicht benutzt
11 14
     if (isset($_SESSION['kundennr']) || isset($_SESSION['orderid'])) {
... ...
@@ -73,15 +76,15 @@ $redirect = NULL;
73 76
 if (isset($_REQUEST['form'])) {
74 77
     switch ($_REQUEST['form']) {
75 78
         case 'start':
76
-            $number = '';
77
-            if (isset($_REQUEST['phone']) && trim($_REQUEST['phone']) != '') {
78
-                $number = trim($_REQUEST['phone']);
79
-            }
80 79
             $name = '';
81 80
             if (isset($_REQUEST['name']) && trim($_REQUEST['name']) != '') {
82 81
                 $name = trim($_REQUEST['name']);
83 82
             }
84 83
 
84
+            $number = '';
85
+            if (isset($_REQUEST['phone']) && trim($_REQUEST['phone']) != '') {
86
+                $number = trim($_REQUEST['phone']);
87
+            }
85 88
             if (substr($number, 0, 1) != 0 && substr($number, 0, 3) != '+49') {
86 89
                 $number = '07192'.$number;
87 90
             }
... ...
@@ -118,6 +121,9 @@ if (isset($_REQUEST['form'])) {
118 121
                 $redirect = 'address.php?error';
119 122
                 break;
120 123
             }
124
+            if ($_SESSION['fname'] != '') {
125
+                $_SESSION['name'] = $_SESSION['lname'].', '.$_SESSION['fname'];
126
+            }
121 127
             if (!isset($_SESSION['kundennr']) || !$_SESSION['kundennr']) {
122 128
                 $_SESSION['kundennr'] = erstelle_kunde($_SESSION);
123 129
                 if (!$_SESSION['kundennr']) {
... ...
@@ -134,15 +140,11 @@ if (isset($_REQUEST['form'])) {
134 140
 
135 141
         case 'notification':
136 142
             if (isset($_REQUEST['notification'])) {
137
-                if ($_REQUEST['notification'] == 'sms') {
138
-                    $_SESSION['notificationPreference'] = 'sms';
139
-                } elseif ($_REQUEST['notification'] == 'whatsapp') {
140
-                    $_SESSION['notificationPreference'] = 'whatsapp';
141
-                } elseif ($_REQUEST['notification'] == 'email') {
142
-                    $_SESSION['notificationPreference'] = 'email';
143
-                } else {
144
-                    $_SESSION['notificationPreference'] = '';
143
+                list($schema, $content) = explode(':', $_REQUEST['notification']);
144
+                if ($schema == 'sms' or $schema == 'whatsapp') {
145
+                    $content = format_number_api($content);
145 146
                 }
147
+                $_SESSION['notificationPreference'] = $schema.':'.$content;
146 148
             }
147 149
             if ($_SESSION['mode'] == 'local') {
148 150
                 $_SESSION['angeliefert'] = true;
... ...
@@ -318,7 +320,9 @@ if (isset($_SESSION['neue'])) {
318 320
     if (isset($_SESSION['anmerkungen']) && $_SESSION['anmerkungen'] != '') {
319 321
         $auftrag['notes'] = $_SESSION['anmerkungen'] . (isset($_SESSION["sonstiges"]) ? "\n\n" . $_SESSION["sonstiges"] : '');
320 322
     }
321
-    $auftrag['notes'] .= "\nAuftrag wurde " . ($_SESSION['mode'] == 'local' ? 'am Terminal' : 'mit einem eigenen Gerät') . ' erstellt.';
323
+    if ($_SESSION['mode'] != 'local') {
324
+        $auftrag['notes'] .= "\nAuftrag wurde mit einem eigenen Gerät erstellt.";
325
+    }
322 326
     if (!isset($_SESSION['complete']) || $_SESSION['complete'] == false) {
323 327
         $auftrag['notes'] .= "\nAuftrag unvollständig erfasst.";
324 328
     }
325 329