0277419db67fa1850d056e5b3f769a7d9621501e
Bernd Wurst Initial commit

Bernd Wurst authored 6 years ago

1) <?php
Bernd Wurst API-Authtoken, Idle-Warnung...

Bernd Wurst authored 4 years ago

2) require_once "lib/api.php";
3) require_once "lib/auftrag.php";
Bernd Wurst Initial commit

Bernd Wurst authored 6 years ago

4) session_start();
5) 
Bernd Wurst API-Authtoken, Idle-Warnung...

Bernd Wurst authored 4 years ago

6) $handle_length = 8;
Bernd Wurst Erste Version, die über die...

Bernd Wurst authored 4 years ago

7) if (! isset($_SESSION['handle']) || !$_SESSION['handle']) {
8)     $random = base64_encode(md5(microtime()));
Bernd Wurst API-Authtoken, Idle-Warnung...

Bernd Wurst authored 4 years ago

9)     $_SESSION['handle'] = substr(str_replace(array('+', '=', '/'), '', $random), 0, $handle_length);
Bernd Wurst Änderungen Stand 2019

Bernd Wurst authored 4 years ago

10)     $_SESSION['date'] = date('Y-m-d H:i:s.v');
Bernd Wurst Initial commit

Bernd Wurst authored 6 years ago

11)     $_SESSION['complete'] = false;
12) }
13) 
Bernd Wurst Änderungen Stand 2019

Bernd Wurst authored 4 years ago

14) 
Bernd Wurst Initial commit

Bernd Wurst authored 6 years ago

15) $redirect = NULL;
16) if (isset($_REQUEST['form'])) {
17)     switch ($_REQUEST['form']) {
Bernd Wurst Spätere Anlieferung eingebaut

Bernd Wurst authored 6 years ago

18)         case 'start':
Bernd Wurst Erste Version, die über die...

Bernd Wurst authored 4 years ago

19)             $number = '';
Bernd Wurst Initial commit

Bernd Wurst authored 6 years ago

20)             if (isset($_REQUEST['phone']) && trim($_REQUEST['phone']) != '') {
Bernd Wurst Ergänze lokale Vorwahl bei...

Bernd Wurst authored 6 years ago

21)                 $number = trim($_REQUEST['phone']);
Bernd Wurst Initial commit

Bernd Wurst authored 6 years ago

22)             }
Bernd Wurst Erste Version, die über die...

Bernd Wurst authored 4 years ago

23)             $name = '';
24)             if (isset($_REQUEST['name']) && trim($_REQUEST['name']) != '') {
25)                 $name = trim($_REQUEST['name']);
26)             }
27) 
28)             if (! $number || !$name) {
29)                 $redirect = 'index.php?error&num='.urlencode($number).'&name='.urlencode($name);
Bernd Wurst Initial commit

Bernd Wurst authored 6 years ago

30)                 break;
31)             }
Bernd Wurst Änderungen Stand 2019

Bernd Wurst authored 4 years ago

32) 
33)             if (substr($number, 0, 1) != 0 && substr($number, 0, 3) != '+49') {
Bernd Wurst Ergänze lokale Vorwahl bei...

Bernd Wurst authored 6 years ago

34)                 $number = '07192'.$number;
35)             }
Bernd Wurst Initial commit

Bernd Wurst authored 6 years ago

36) 
Bernd Wurst API-Authtoken, Idle-Warnung...

Bernd Wurst authored 4 years ago

37)            $number = format_number_national($number);
Bernd Wurst Initial commit

Bernd Wurst authored 6 years ago

38) 
Bernd Wurst bestehende Kunden über die...

Bernd Wurst authored 4 years ago

39)             $_SESSION['name'] = htmlspecialchars($name);
Bernd Wurst anmerkungen ermöglicht

Bernd Wurst authored 6 years ago

40)             $_SESSION['phone'] = htmlspecialchars($number);
Bernd Wurst Erste Version, die über die...

Bernd Wurst authored 4 years ago

41)             if (isset($_REQUEST['save']) && $_REQUEST['save'] == 'yes' && $_SESSION['mode'] != 'local') {
Bernd Wurst bestehende Kunden über die...

Bernd Wurst authored 4 years ago

42)                 setcookie('NAME', $name, time() + 24*3600*500, "");
Bernd Wurst Cookie löschbar, Datenschut...

Bernd Wurst authored 6 years ago

43)                 setcookie('NUMBER', $number, time() + 24*3600*500, "");
44)             }
Bernd Wurst Initial commit

Bernd Wurst authored 6 years ago

45) 
Bernd Wurst Dateinamen geändert

Bernd Wurst authored 6 years ago

46)             $redirect = 'address.php';
Bernd Wurst Initial commit

Bernd Wurst authored 6 years ago

47)             break;
48) 
Bernd Wurst Spätere Anlieferung eingebaut

Bernd Wurst authored 6 years ago

49)         case 'address':
Bernd Wurst Erste Version, die über die...

Bernd Wurst authored 4 years ago

50)             $fields = array("firma", "fname", "lname", "address", "zip", "city");
Bernd Wurst Initial commit

Bernd Wurst authored 6 years ago

51)             foreach ($fields as $f) {
Bernd Wurst Erste Version, die über die...

Bernd Wurst authored 4 years ago

52)                 if (isset($_REQUEST[$f]) && trim($_REQUEST[$f]) != '') {
Bernd Wurst anmerkungen ermöglicht

Bernd Wurst authored 6 years ago

53)                     $_SESSION[$f] = trim(htmlspecialchars($_REQUEST[$f]));
Bernd Wurst Initial commit

Bernd Wurst authored 6 years ago

54)                 } else {
55)                     if (! isset($_SESSION[$f])) {
56)                         $_SESSION[$f] = '';
57)                     }
58)                 }
59)             }
Bernd Wurst Fehlermeldungen auf BS4 por...

Bernd Wurst authored 6 years ago

60)             if ($_SESSION['lname'] == '') {
61)                 $redirect = 'address.php?error';
62)                 break;
63)             }
Bernd Wurst Neue API 2023

Bernd Wurst authored 1 year ago

64)             if (!isset($_SESSION['kundennr']) || !$_SESSION['kundennr']) {
65)                 $_SESSION['kundennr'] = erstelle_kunde($_SESSION);
66)             }
67) 
Bernd Wurst Erste Version, die über die...

Bernd Wurst authored 4 years ago

68)             if ($_SESSION['mode'] == 'local') {
69)                 $_SESSION['angeliefert'] = true;
70)                 $redirect = 'gitterbox.php';
71)             } elseif (isset($_SESSION['angeliefert'])) {
Bernd Wurst Spätere Anlieferung eingebaut

Bernd Wurst authored 6 years ago

72)                 if ($_SESSION['angeliefert']) {
73)                     $redirect = 'gitterbox.php';
74)                 } else {
75)                     $redirect = 'gitterbox_spaeter.php';
76)                 }
77)             } else {
78)                 $redirect = 'anlieferung.php';
79)             }
Bernd Wurst Initial commit

Bernd Wurst authored 6 years ago

80)             break;
81) 
Bernd Wurst Spätere Anlieferung eingebaut

Bernd Wurst authored 6 years ago

82)         case 'anlieferung':
83)             if (isset($_REQUEST['schonda'])) {
84)                 $_SESSION['angeliefert'] = true;
85)                 $redirect = 'gitterbox.php';
Bernd Wurst Initial commit

Bernd Wurst authored 6 years ago

86)             }
Bernd Wurst Spätere Anlieferung eingebaut

Bernd Wurst authored 6 years ago

87)             if (isset($_REQUEST['kommtnoch'])) {
88)                 $_SESSION['angeliefert'] = false;
89)                 $redirect = 'gitterbox_spaeter.php';
90)             }
91)             break;
92)         case 'gitterbox':
Bernd Wurst Initial commit

Bernd Wurst authored 6 years ago

93)             if (isset($_REQUEST['lieferart'])) {
94)                 if ($_REQUEST['lieferart'] == 'gitterbox') {
95)                     $_SESSION['lieferart'] = 'gitterbox';
Bernd Wurst anmerkungen ermöglicht

Bernd Wurst authored 6 years ago

96)                     $_SESSION['gbcount'] = htmlspecialchars($_REQUEST['gbcount']);
Bernd Wurst Initial commit

Bernd Wurst authored 6 years ago

97)                 }
98)                 if ($_REQUEST['lieferart'] == 'anhaenger') {
99)                     $_SESSION['lieferart'] = 'anhaenger';
Bernd Wurst anmerkungen ermöglicht

Bernd Wurst authored 6 years ago

100)                     $_SESSION['kennz'] = htmlspecialchars($_REQUEST['kennz']);
Bernd Wurst Spätere Anlieferung eingebaut

Bernd Wurst authored 6 years ago

101)                     if ($_SESSION['angeliefert'] === false && ! $_SESSION['kennz']) {
102)                         $redirect = 'gitterbox_spaeter.php?error';
103)                         break;
104)                     }
Bernd Wurst Initial commit

Bernd Wurst authored 6 years ago

105)                 }
106)             }
Bernd Wurst Neue API 2023

Bernd Wurst authored 1 year ago

107)             $redirect = 'obstart.php';
Bernd Wurst Initial commit

Bernd Wurst authored 6 years ago

108)             break;
109) 
Bernd Wurst Neue API 2023

Bernd Wurst authored 1 year ago

110)          case 'obstart':
111)             $_SESSION['obstart'] = $_REQUEST['obstart'];
112)             $redirect = 'gebrauchte.php';
113) 
Bernd Wurst Spätere Anlieferung eingebaut

Bernd Wurst authored 6 years ago

114)          case 'gebrauchte':
Bernd Wurst Initial commit

Bernd Wurst authored 6 years ago

115)             if (isset($_REQUEST['kartonsja'])) {
116)                 $_SESSION['kartons'] = true;
117)             } 
118)             if (isset($_REQUEST['kartonsnein'])) {
119)                 $_SESSION['kartons'] = false;
120)             }
121) 
Bernd Wurst Dateinamen geändert

Bernd Wurst authored 6 years ago

122)             $redirect = 'auftrag.php';
Bernd Wurst Initial commit

Bernd Wurst authored 6 years ago

123)             break;
Bernd Wurst Spätere Anlieferung eingebaut

Bernd Wurst authored 6 years ago

124)          case 'auftrag':
Bernd Wurst Neue API 2023

Bernd Wurst authored 1 year ago

125)             if (isset($_REQUEST['3er'])) {
126)                 $_SESSION['neue'] = '3er';
127)             }
Bernd Wurst Initial commit

Bernd Wurst authored 6 years ago

128)             if (isset($_REQUEST['5er'])) {
129)                 $_SESSION['neue'] = '5er';
130)             }
131)             if (isset($_REQUEST['10er'])) {
132)                 $_SESSION['neue'] = '10er';
133)             }
134)             if (isset($_REQUEST['submit']) && isset($_REQUEST['sonstiges']) && $_REQUEST['sonstiges'] != '') {
135)                 $_SESSION['neue'] = 'sonstiges';
Bernd Wurst anmerkungen ermöglicht

Bernd Wurst authored 6 years ago

136)                 $_SESSION['sonstiges'] = htmlspecialchars($_REQUEST['sonstiges']);
Bernd Wurst Initial commit

Bernd Wurst authored 6 years ago

137)             }
138) 
139) 
Bernd Wurst Dateinamen geändert

Bernd Wurst authored 6 years ago

140)             $redirect = 'frischsaft.php';
Bernd Wurst Initial commit

Bernd Wurst authored 6 years ago

141)             break;
142) 
Bernd Wurst Spätere Anlieferung eingebaut

Bernd Wurst authored 6 years ago

143)          case 'frischsaft':
Bernd Wurst Initial commit

Bernd Wurst authored 6 years ago

144)             if (isset($_REQUEST['frischsaftnein'])) {
145)                 $_SESSION['frischsaft'] = 0;
146)             } elseif (isset($_REQUEST['frischsaft'])) {
Bernd Wurst anmerkungen ermöglicht

Bernd Wurst authored 6 years ago

147)                 $_SESSION['frischsaft'] = htmlspecialchars($_REQUEST['frischsaft']);
Bernd Wurst Initial commit

Bernd Wurst authored 6 years ago

148)             }
149) 
Bernd Wurst Dateinamen geändert

Bernd Wurst authored 6 years ago

150)             $redirect = 'summary.php';
Bernd Wurst Initial commit

Bernd Wurst authored 6 years ago

151)             break;
Bernd Wurst Spätere Anlieferung eingebaut

Bernd Wurst authored 6 years ago

152)         case 'summary':
Bernd Wurst anmerkungen ermöglicht

Bernd Wurst authored 6 years ago

153)             if (isset($_REQUEST['anmerkungen'])) {
154)                 $_SESSION['anmerkungen'] = htmlspecialchars($_REQUEST['anmerkungen']);
155)             }
Bernd Wurst Initial commit

Bernd Wurst authored 6 years ago

156) 
157)             $_SESSION['complete'] = true;
Bernd Wurst Neue API 2023

Bernd Wurst authored 1 year ago

158)             $redirect = 'finish.php';
Bernd Wurst Initial commit

Bernd Wurst authored 6 years ago

159)             break;
160) 
161)     }
162) }
163) 
Bernd Wurst Neue API 2023

Bernd Wurst authored 1 year ago

164) /*
165)  * Um das Speichern in der API kümmern wir uns, wenn Kundendaten, Obstart und grundsätzliche Auftragsdaten feststehen
166)  */
167) if (isset($_SESSION['neue'])) {
168)     // Bevor dieses Datenfeld vorhanden ist, macht Speichern keinen Sinn
169)     $auftrag = [];
170)     /* Herunterladen bringt nichts, da wir einfach immer unsere bekannten Daten rein schieben. Parallelität ist nicht gewünscht
171)      * if (isset($auftrag['id'])) {
172)         // Auftrag ist schon in der API, aktuellen Stand herunter laden
173)         $auftrag = api_call('GET', 'orders/'.$auftrag['id']);
174)     }*/
175) 
176)     // customer
177)     if (isset($_SESSION['kundennr'])) {
178)         $auftrag['customer'] = $_SESSION['kundennr'];
179)         $auftrag['notification_name'] = $_SESSION['name'];
Bernd Wurst Erste Version, die über die...

Bernd Wurst authored 4 years ago

180)     }
Bernd Wurst Neue API 2023

Bernd Wurst authored 1 year ago

181)     // fruitType
182)     $ret = api_call('GET', 'fruitTypes');
183)     foreach ($ret as $fruit) {
184)         if ($_SESSION['obstart'] == $fruit['label']) {
185)             $auftrag['fruitType'] = $fruit['id'];
186)         }
Bernd Wurst Erste Version, die über die...

Bernd Wurst authored 4 years ago

187)     }
Bernd Wurst Neue API 2023

Bernd Wurst authored 1 year ago

188)     // containers
189)     if (isset($_SESSION['lieferart']) && $_SESSION['lieferart'] == 'gitterbox' && isset($_SESSION['gbcount']) && $_SESSION['gbcount'] > 0) {
190)         $auftrag['containers'] = array_fill(0, $_SESSION['gbcount'], [ "type" => "box", "weight" => 400 ]);
Bernd Wurst Erste Version, die über die...

Bernd Wurst authored 4 years ago

191)     }
Bernd Wurst Neue API 2023

Bernd Wurst authored 1 year ago

192)     if (isset($_SESSION['lieferart']) && $_SESSION['lieferart'] == 'anhaenger') {
193)         if (!isset($_SESSION['kennz'])) {
194)             $_SESSION['kennz'] = null;
195)         }
196)         $auftrag['containers'] = [
197)             ["type" => "trailer",
198)             "weight" => 0,
199)             "label" => $_SESSION['kennz']]
200)         ];
201)     }
202)     // usedPackages
203)     if (isset($_SESSION['kartons'])) {
204)         $auftrag['usedPackages'] = (bool) $_SESSION['kartons'];
Bernd Wurst Erste Version, die über die...

Bernd Wurst authored 4 years ago

205)     }
206) 
Bernd Wurst Neue API 2023

Bernd Wurst authored 1 year ago

207)     // plannedPackagings
208)     if (isset($_SESSION['neue'])) {
209)         if ($_SESSION['neue'] == 'sonstiges') {
210)             $auftrag['notes'] = (isset($_SESSION['anmerkungen']) ? $_SESSION['anmerkungen'] . "\n\n" : '') . $_SESSION["sonstiges"];
211)         } else {
212)             $plan = [];
213)             $ret = api_call('GET', 'packageTypes');
214)             foreach ($ret as $pt) {
215)                 if ($pt['label'] == $_SESSION['neue']) {
216)                     $plan[] = [ "packageType" => $pt['id'],
217)                                 "rest" => true ];
218)                 }
219)                 if ($pt['label'] == 'frischsaft' && isset($_SESSION['frischsaft']) && $_SESSION['frischsaft'] > 0) {
220)                     $plan[] = [ "packageType" => $pt['id'],
221)                                 "count" => $_SESSION['frischsaft']];
222)                 }
223)             }
224)             $auftrag['plannedPackagings'] = $plan;
225)         }
226)     }
Bernd Wurst Erste Version, die über die...

Bernd Wurst authored 4 years ago

227) 
228) 
Bernd Wurst Neue API 2023

Bernd Wurst authored 1 year ago

229)     // notes
230)     if (isset($_SESSION['anmerkungen']) && $_SESSION['anmerkungen'] != '') {
231)         $auftrag['notes'] = $_SESSION['anmerkungen'];
232)         $auftrag['notes'] = $_SESSION['anmerkungen'] . (isset($_SESSION["sonstiges"]) ? "\n\n" . $_SESSION["sonstiges"] : '');
233)     }
Bernd Wurst Erste Version, die über die...

Bernd Wurst authored 4 years ago

234) 
Bernd Wurst Neue API 2023

Bernd Wurst authored 1 year ago

235)     if (isset($_SESSION['orderid']) && $_SESSION['orderid']) {
236)         // update
237)         $ret = api_call('PUT', 'orders/'.$_SESSION['orderid'], $auftrag);
238)     } else {
239)         // neu
240)         $ret = api_call('POST', 'orders', $auftrag);
241)         if (!isset($ret['id'])) {
242)             echo "Es gabe einen Fehler beim Abspeichern des Auftrags. Wir bitten dies zu entschuldigen und einen Papierauftrag auszufüllen.";
243)             file_put_contents("../error.log", 
244)                 date("Y-m-d H:i:s") . ': '.json_encode($auftrag).
245)                 print_r($ret, true).'\n', FILE_APPEND | LOCK_EX);
246)             die();
247)         }
248)         $_SESSION['orderid'] = $ret['id'];
249)     }
Bernd Wurst Erste Version, die über die...

Bernd Wurst authored 4 years ago

250) 
Bernd Wurst Neue API 2023

Bernd Wurst authored 1 year ago

251)     /*
252)     if ($ret['status'] == 'error') {
253)         echo 'Es gibt ein Problem beim Speichern des Auftrags. Bitte verwenden Sie diesmal einen Papier-Auftrag.';
254)         die();
255)     }
256)     */
Bernd Wurst Erste Version, die über die...

Bernd Wurst authored 4 years ago

257) }
258)