... | ... |
@@ -172,6 +172,9 @@ foreach ($addrfields as $sesskey => $apikey) { |
172 | 172 |
$auftrag['kundendaten'][$apikey] = $_SESSION[$sesskey]; |
173 | 173 |
} |
174 | 174 |
} |
175 |
+if (isset($_SESSION['name']) && !isset($auftrag['kundendaten']['nachname'])) { |
|
176 |
+ $auftrag['kundendaten']['nachname'] = ucwords($_SESSION['name']); |
|
177 |
+} |
|
175 | 178 |
$auftrag['kundendaten']['telefon'] = format_number($auftrag['kundendaten']['telefon']); |
176 | 179 |
|
177 | 180 |
if (count($auftrag['bestellung']) > 1) { |
... | ... |
@@ -152,15 +152,15 @@ if (isset($_REQUEST['form'])) { |
152 | 152 |
|
153 | 153 |
$data = array("handle" => $_SESSION['handle']); |
154 | 154 |
|
155 |
-$ret = api_call('auftrag/lesen', $data); |
|
155 |
+$ret = api_call('vorgang/lesen', $data); |
|
156 | 156 |
|
157 |
-if (!isset($ret['auftrag'])) { |
|
157 |
+if (!isset($ret['vorgang'])) { |
|
158 | 158 |
echo 'Es gibt ein Problem beim Speichern der Auftragsdaten. Bitte wenden Sie sich persönlich an uns oder verwenden Sie einen Papierauftrag.'; |
159 | 159 |
die(); |
160 | 160 |
} |
161 | 161 |
|
162 | 162 |
|
163 |
-$auftrag = $ret['auftrag']; |
|
163 |
+$auftrag = $ret['vorgang']; |
|
164 | 164 |
|
165 | 165 |
|
166 | 166 |
if (isset($_SESSION['kundennr'])) { |
... | ... |
@@ -227,7 +227,7 @@ if (isset($_SESSION['complete']) && $_SESSION['complete'] == true && !$auftrag[' |
227 | 227 |
$auftrag['status']['bestellt'] = time(); |
228 | 228 |
} |
229 | 229 |
|
230 |
-$ret = api_call('auftrag/anlieferung', $auftrag); |
|
230 |
+$ret = api_call('vorgang/anlieferung', $auftrag); |
|
231 | 231 |
|
232 | 232 |
if ($ret['status'] == 'error') { |
233 | 233 |
echo 'Es gibt ein Problem beim Speichern des Auftrags. Bitte verwenden Sie diesmal einen Papier-Auftrag.'; |
... | ... |
@@ -224,7 +224,7 @@ if (isset($_SESSION['anmerkungen']) && $_SESSION['anmerkungen'] != '') { |
224 | 224 |
} |
225 | 225 |
|
226 | 226 |
if (isset($_SESSION['complete']) && $_SESSION['complete'] == true && !$auftrag['status']['bestellt']) { |
227 |
- $auftrag['status']['bestellt'] = date('Y-m-d'); |
|
227 |
+ $auftrag['status']['bestellt'] = time(); |
|
228 | 228 |
} |
229 | 229 |
|
230 | 230 |
$ret = api_call('auftrag/anlieferung', $auftrag); |
... | ... |
@@ -223,8 +223,8 @@ if (isset($_SESSION['anmerkungen']) && $_SESSION['anmerkungen'] != '') { |
223 | 223 |
$auftrag['bestellung'][0]['anmerkungen'] = $_SESSION['anmerkungen']; |
224 | 224 |
} |
225 | 225 |
|
226 |
-if (isset($_SESSION['complete']) && $_SESSION['complete'] == true) { |
|
227 |
- $auftrag['status'] = 'bestellt'; |
|
226 |
+if (isset($_SESSION['complete']) && $_SESSION['complete'] == true && !$auftrag['status']['bestellt']) { |
|
227 |
+ $auftrag['status']['bestellt'] = date('Y-m-d'); |
|
228 | 228 |
} |
229 | 229 |
|
230 | 230 |
$ret = api_call('auftrag/anlieferung', $auftrag); |
... | ... |
@@ -172,7 +172,7 @@ foreach ($addrfields as $sesskey => $apikey) { |
172 | 172 |
$auftrag['kundendaten'][$apikey] = $_SESSION[$sesskey]; |
173 | 173 |
} |
174 | 174 |
} |
175 |
-$auftrag['kundendate']['telefon'] = format_number($auftrag['kundendate']['telefon']); |
|
175 |
+$auftrag['kundendaten']['telefon'] = format_number($auftrag['kundendaten']['telefon']); |
|
176 | 176 |
|
177 | 177 |
if (count($auftrag['bestellung']) > 1) { |
178 | 178 |
echo 'Diese Bestellung wurde auf anderem Wege an uns übermittelt und kann mit dieser Oberfläche leider nicht verändert werden'; |
... | ... |
@@ -1,9 +1,12 @@ |
1 | 1 |
<?php |
2 |
+require_once "lib/api.php"; |
|
3 |
+require_once "lib/auftrag.php"; |
|
2 | 4 |
session_start(); |
3 | 5 |
|
6 |
+$handle_length = 8; |
|
4 | 7 |
if (! isset($_SESSION['handle']) || !$_SESSION['handle']) { |
5 | 8 |
$random = base64_encode(md5(microtime())); |
6 |
- $_SESSION['handle'] = substr(str_replace(array('+', '=', '/'), '', $random), 0, 5); |
|
9 |
+ $_SESSION['handle'] = substr(str_replace(array('+', '=', '/'), '', $random), 0, $handle_length); |
|
7 | 10 |
$_SESSION['date'] = date('Y-m-d H:i:s.v'); |
8 | 11 |
$_SESSION['complete'] = false; |
9 | 12 |
} |
... | ... |
@@ -31,21 +34,7 @@ if (isset($_REQUEST['form'])) { |
31 | 34 |
$number = '07192'.$number; |
32 | 35 |
} |
33 | 36 |
|
34 |
- require_once('vendor/autoload.php'); |
|
35 |
- |
|
36 |
- function format_number($number) { |
|
37 |
- $phoneNumberUtil = \libphonenumber\PhoneNumberUtil::getInstance(); |
|
38 |
- try { |
|
39 |
- $phoneNumber = $phoneNumberUtil->parse($number, 'DE'); |
|
40 |
- } catch (Exception $e) { |
|
41 |
- return NULL; |
|
42 |
- } |
|
43 |
- if ($phoneNumberUtil->isValidNumber($phoneNumber)) { |
|
44 |
- return $phoneNumberUtil->format($phoneNumber, \libphonenumber\PhoneNumberFormat::NATIONAL); |
|
45 |
- } |
|
46 |
- return NULL; |
|
47 |
- } |
|
48 |
- $number = format_number($number); |
|
37 |
+ $number = format_number_national($number); |
|
49 | 38 |
|
50 | 39 |
$_SESSION['name'] = htmlspecialchars($name); |
51 | 40 |
$_SESSION['phone'] = htmlspecialchars($number); |
... | ... |
@@ -163,24 +152,7 @@ if (isset($_REQUEST['form'])) { |
163 | 152 |
|
164 | 153 |
$data = array("handle" => $_SESSION['handle']); |
165 | 154 |
|
166 |
-$curl = curl_init(); |
|
167 |
- |
|
168 |
-curl_setopt_array($curl, array( |
|
169 |
- CURLOPT_URL => "https://api.mosterei-wurst.de/api/v1/auftrag/lesen", |
|
170 |
- CURLOPT_RETURNTRANSFER => true, |
|
171 |
- CURLOPT_ENCODING => "", |
|
172 |
- CURLOPT_MAXREDIRS => 10, |
|
173 |
- CURLOPT_TIMEOUT => 30, |
|
174 |
- CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, |
|
175 |
- CURLOPT_HTTPHEADER => array("Content-Type: application/json"), |
|
176 |
- CURLOPT_CUSTOMREQUEST => "POST")); |
|
177 |
- |
|
178 |
-curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($data)); |
|
179 |
- |
|
180 |
-$response = curl_exec($curl); |
|
181 |
-$err = curl_error($curl); |
|
182 |
- |
|
183 |
-$ret = @json_decode($response, true); |
|
155 |
+$ret = api_call('auftrag/lesen', $data); |
|
184 | 156 |
|
185 | 157 |
if (!isset($ret['auftrag'])) { |
186 | 158 |
echo 'Es gibt ein Problem beim Speichern der Auftragsdaten. Bitte wenden Sie sich persönlich an uns oder verwenden Sie einen Papierauftrag.'; |
... | ... |
@@ -200,6 +172,7 @@ foreach ($addrfields as $sesskey => $apikey) { |
200 | 172 |
$auftrag['kundendaten'][$apikey] = $_SESSION[$sesskey]; |
201 | 173 |
} |
202 | 174 |
} |
175 |
+$auftrag['kundendate']['telefon'] = format_number($auftrag['kundendate']['telefon']); |
|
203 | 176 |
|
204 | 177 |
if (count($auftrag['bestellung']) > 1) { |
205 | 178 |
echo 'Diese Bestellung wurde auf anderem Wege an uns übermittelt und kann mit dieser Oberfläche leider nicht verändert werden'; |
... | ... |
@@ -254,13 +227,7 @@ if (isset($_SESSION['complete']) && $_SESSION['complete'] == true) { |
254 | 227 |
$auftrag['status'] = 'bestellt'; |
255 | 228 |
} |
256 | 229 |
|
257 |
-curl_setopt($curl, CURLOPT_URL, "https://api.mosterei-wurst.de/api/v1/auftrag/anlieferung"); |
|
258 |
-curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($auftrag)); |
|
259 |
- |
|
260 |
-$response = curl_exec($curl); |
|
261 |
-$err = curl_error($curl); |
|
262 |
- |
|
263 |
-$ret = @json_decode($response, true); |
|
230 |
+$ret = api_call('auftrag/anlieferung', $auftrag); |
|
264 | 231 |
|
265 | 232 |
if ($ret['status'] == 'error') { |
266 | 233 |
echo 'Es gibt ein Problem beim Speichern des Auftrags. Bitte verwenden Sie diesmal einen Papier-Auftrag.'; |
... | ... |
@@ -1,8 +1,9 @@ |
1 | 1 |
<?php |
2 | 2 |
session_start(); |
3 | 3 |
|
4 |
-if (! isset($_SESSION['handle'])) { |
|
5 |
- $_SESSION['handle'] = sprintf('%09s', ( round(microtime(true)*10) % 1000000000)); |
|
4 |
+if (! isset($_SESSION['handle']) || !$_SESSION['handle']) { |
|
5 |
+ $random = base64_encode(md5(microtime())); |
|
6 |
+ $_SESSION['handle'] = substr(str_replace(array('+', '=', '/'), '', $random), 0, 5); |
|
6 | 7 |
$_SESSION['date'] = date('Y-m-d H:i:s.v'); |
7 | 8 |
$_SESSION['complete'] = false; |
8 | 9 |
} |
... | ... |
@@ -12,12 +13,17 @@ $redirect = NULL; |
12 | 13 |
if (isset($_REQUEST['form'])) { |
13 | 14 |
switch ($_REQUEST['form']) { |
14 | 15 |
case 'start': |
15 |
- $number = NULL; |
|
16 |
+ $number = ''; |
|
16 | 17 |
if (isset($_REQUEST['phone']) && trim($_REQUEST['phone']) != '') { |
17 | 18 |
$number = trim($_REQUEST['phone']); |
18 | 19 |
} |
19 |
- if (! $number) { |
|
20 |
- $redirect = 'index.php?error&num='; |
|
20 |
+ $name = ''; |
|
21 |
+ if (isset($_REQUEST['name']) && trim($_REQUEST['name']) != '') { |
|
22 |
+ $name = trim($_REQUEST['name']); |
|
23 |
+ } |
|
24 |
+ |
|
25 |
+ if (! $number || !$name) { |
|
26 |
+ $redirect = 'index.php?error&num='.urlencode($number).'&name='.urlencode($name); |
|
21 | 27 |
break; |
22 | 28 |
} |
23 | 29 |
|
... | ... |
@@ -41,32 +47,20 @@ if (isset($_REQUEST['form'])) { |
41 | 47 |
} |
42 | 48 |
$number = format_number($number); |
43 | 49 |
|
44 |
- $name = trim($_REQUEST['name']); |
|
45 |
- if (! $name) { |
|
46 |
- $redirect = 'index.php?error&name='; |
|
47 |
- break; |
|
48 |
- } |
|
49 |
- |
|
50 | 50 |
$_SESSION['name'] = htmlspecialchars($name); |
51 |
- |
|
52 | 51 |
$_SESSION['phone'] = htmlspecialchars($number); |
53 |
- if (isset($_REQUEST['save']) && $_REQUEST['save'] == 'yes') { |
|
52 |
+ if (isset($_REQUEST['save']) && $_REQUEST['save'] == 'yes' && $_SESSION['mode'] != 'local') { |
|
54 | 53 |
setcookie('NAME', $name, time() + 24*3600*500, ""); |
55 | 54 |
setcookie('NUMBER', $number, time() + 24*3600*500, ""); |
56 | 55 |
} |
57 | 56 |
|
58 |
- if (! $_SESSION['phone']) { |
|
59 |
- $redirect = 'index.php?error&num='.urlencode($_REQUEST['phone']); |
|
60 |
- break; |
|
61 |
- } |
|
62 |
- |
|
63 | 57 |
$redirect = 'address.php'; |
64 | 58 |
break; |
65 | 59 |
|
66 | 60 |
case 'address': |
67 |
- $fields = array("fname", "lname", "address", "zip", "city"); |
|
61 |
+ $fields = array("firma", "fname", "lname", "address", "zip", "city"); |
|
68 | 62 |
foreach ($fields as $f) { |
69 |
- if (isset($_REQUEST[$f])) { |
|
63 |
+ if (isset($_REQUEST[$f]) && trim($_REQUEST[$f]) != '') { |
|
70 | 64 |
$_SESSION[$f] = trim(htmlspecialchars($_REQUEST[$f])); |
71 | 65 |
} else { |
72 | 66 |
if (! isset($_SESSION[$f])) { |
... | ... |
@@ -78,7 +72,10 @@ if (isset($_REQUEST['form'])) { |
78 | 72 |
$redirect = 'address.php?error'; |
79 | 73 |
break; |
80 | 74 |
} |
81 |
- if (isset($_SESSION['angeliefert'])) { |
|
75 |
+ if ($_SESSION['mode'] == 'local') { |
|
76 |
+ $_SESSION['angeliefert'] = true; |
|
77 |
+ $redirect = 'gitterbox.php'; |
|
78 |
+ } elseif (isset($_SESSION['angeliefert'])) { |
|
82 | 79 |
if ($_SESSION['angeliefert']) { |
83 | 80 |
$redirect = 'gitterbox.php'; |
84 | 81 |
} else { |
... | ... |
@@ -156,10 +153,6 @@ if (isset($_REQUEST['form'])) { |
156 | 153 |
if (isset($_REQUEST['anmerkungen'])) { |
157 | 154 |
$_SESSION['anmerkungen'] = htmlspecialchars($_REQUEST['anmerkungen']); |
158 | 155 |
} |
159 |
- if (!isset($_REQUEST['agb'])) { |
|
160 |
- $redirect = 'summary.php?error'; |
|
161 |
- break; |
|
162 |
- } |
|
163 | 156 |
|
164 | 157 |
$_SESSION['complete'] = true; |
165 | 158 |
$redirect = 'finish.php?handle='.$_SESSION['handle']; |
... | ... |
@@ -168,13 +161,112 @@ if (isset($_REQUEST['form'])) { |
168 | 161 |
} |
169 | 162 |
} |
170 | 163 |
|
164 |
+$data = array("handle" => $_SESSION['handle']); |
|
165 |
+ |
|
166 |
+$curl = curl_init(); |
|
167 |
+ |
|
168 |
+curl_setopt_array($curl, array( |
|
169 |
+ CURLOPT_URL => "https://api.mosterei-wurst.de/api/v1/auftrag/lesen", |
|
170 |
+ CURLOPT_RETURNTRANSFER => true, |
|
171 |
+ CURLOPT_ENCODING => "", |
|
172 |
+ CURLOPT_MAXREDIRS => 10, |
|
173 |
+ CURLOPT_TIMEOUT => 30, |
|
174 |
+ CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, |
|
175 |
+ CURLOPT_HTTPHEADER => array("Content-Type: application/json"), |
|
176 |
+ CURLOPT_CUSTOMREQUEST => "POST")); |
|
177 |
+ |
|
178 |
+curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($data)); |
|
179 |
+ |
|
180 |
+$response = curl_exec($curl); |
|
181 |
+$err = curl_error($curl); |
|
182 |
+ |
|
183 |
+$ret = @json_decode($response, true); |
|
184 |
+ |
|
185 |
+if (!isset($ret['auftrag'])) { |
|
186 |
+ echo 'Es gibt ein Problem beim Speichern der Auftragsdaten. Bitte wenden Sie sich persönlich an uns oder verwenden Sie einen Papierauftrag.'; |
|
187 |
+ die(); |
|
188 |
+} |
|
189 |
+ |
|
190 |
+ |
|
191 |
+$auftrag = $ret['auftrag']; |
|
192 |
+ |
|
193 |
+ |
|
194 |
+if (isset($_SESSION['kundennr'])) { |
|
195 |
+ $auftrag['kundennr'] = $_SESSION['kundennr']; |
|
196 |
+} |
|
197 |
+$addrfields = array("kundennr" => "kundennr", "firma" => "firma", "fname" => "vorname", "lname" => "nachname", "address" => "adresse", "zip" => "plz", "city" => "ort", "phone" => "telefon"); |
|
198 |
+foreach ($addrfields as $sesskey => $apikey) { |
|
199 |
+ if (isset($_SESSION[$sesskey]) && $_SESSION[$sesskey] != 'bekannt') { |
|
200 |
+ $auftrag['kundendaten'][$apikey] = $_SESSION[$sesskey]; |
|
201 |
+ } |
|
202 |
+} |
|
203 |
+ |
|
204 |
+if (count($auftrag['bestellung']) > 1) { |
|
205 |
+ echo 'Diese Bestellung wurde auf anderem Wege an uns übermittelt und kann mit dieser Oberfläche leider nicht verändert werden'; |
|
206 |
+ die(); |
|
207 |
+} |
|
171 | 208 |
|
172 |
-$filename = '../data/'.date('Y').'/'.$_SESSION['handle'].'.json'; |
|
173 |
-if (!file_exists(dirname($filename))) { |
|
174 |
- mkdir(dirname($filename), 0700, true); |
|
209 |
+if (isset($_SESSION['lieferart']) && $_SESSION['lieferart'] == 'gitterbox' && isset($_SESSION['gbcount']) && $_SESSION['gbcount'] > 0) { |
|
210 |
+ if ($_SESSION['gbcount'] < count($auftrag['bestellung'][0]["gitterbox"])) { |
|
211 |
+ $auftrag['bestellung'][0]["gitterbox"] = array(); |
|
212 |
+ } |
|
213 |
+ while (count($auftrag['bestellung'][0]["gitterbox"]) < $_SESSION['gbcount']) { |
|
214 |
+ $auftrag['bestellung'][0]["gitterbox"][] = array("id" => null); |
|
215 |
+ } |
|
216 |
+} else { |
|
217 |
+ $auftrag['bestellung'][0]["gitterbox"] = array(); |
|
175 | 218 |
} |
176 | 219 |
|
177 |
-$json = json_encode($_SESSION); |
|
178 |
-file_put_contents($filename, $json); |
|
220 |
+if (isset($_SESSION['lieferart']) && $_SESSION['lieferart'] == 'anhaenger') { |
|
221 |
+ $auftrag['bestellung'][0]['anhaenger'] = array(array("kennz" => null)); |
|
222 |
+ if (isset($_SESSION['kennz']) && $_SESSION['kennz'] != '') { |
|
223 |
+ $auftrag['bestellung'][0]['anhaenger'][0]["kennz"] = $_SESSION['kennz']; |
|
224 |
+ } |
|
225 |
+} |
|
226 |
+ |
|
227 |
+if (isset($_SESSION['kartons']) && $_SESSION['kartons']) { |
|
228 |
+ $auftrag['bestellung'][0]['gebrauchte'] = true; |
|
229 |
+} else { |
|
230 |
+ $auftrag['bestellung'][0]['gebrauchte'] = false; |
|
231 |
+} |
|
232 |
+ |
|
233 |
+$auftrag['bestellung'][0]['neue'] = array(); |
|
234 |
+if (isset($_SESSION['neue']) && $_SESSION['neue'] == 'sonstiges') { |
|
235 |
+ $auftrag['bestellung'][0]['neue']["sonstiges"] = $_SESSION["sonstiges"]; |
|
236 |
+} elseif (isset($_SESSION['neue']) && $_SESSION['neue'] == '10er') { |
|
237 |
+ $auftrag['bestellung'][0]['neue']["10er"] = "100%"; |
|
238 |
+} else { |
|
239 |
+ $auftrag['bestellung'][0]['neue']["5er"] = "100%"; |
|
240 |
+} |
|
241 |
+ |
|
242 |
+if (isset($_SESSION['frischsaft']) && $_SESSION['frischsaft'] > 0) { |
|
243 |
+ $auftrag['bestellung'][0]['frischsaft'] = $_SESSION['frischsaft']; |
|
244 |
+} else { |
|
245 |
+ $auftrag['bestellung'][0]['frischsaft'] = null; |
|
246 |
+} |
|
247 |
+ |
|
248 |
+ |
|
249 |
+if (isset($_SESSION['anmerkungen']) && $_SESSION['anmerkungen'] != '') { |
|
250 |
+ $auftrag['bestellung'][0]['anmerkungen'] = $_SESSION['anmerkungen']; |
|
251 |
+} |
|
252 |
+ |
|
253 |
+if (isset($_SESSION['complete']) && $_SESSION['complete'] == true) { |
|
254 |
+ $auftrag['status'] = 'bestellt'; |
|
255 |
+} |
|
256 |
+ |
|
257 |
+curl_setopt($curl, CURLOPT_URL, "https://api.mosterei-wurst.de/api/v1/auftrag/anlieferung"); |
|
258 |
+curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($auftrag)); |
|
259 |
+ |
|
260 |
+$response = curl_exec($curl); |
|
261 |
+$err = curl_error($curl); |
|
262 |
+ |
|
263 |
+$ret = @json_decode($response, true); |
|
264 |
+ |
|
265 |
+if ($ret['status'] == 'error') { |
|
266 |
+ echo 'Es gibt ein Problem beim Speichern des Auftrags. Bitte verwenden Sie diesmal einen Papier-Auftrag.'; |
|
267 |
+ die(); |
|
268 |
+} |
|
269 |
+ |
|
270 |
+ |
|
179 | 271 |
|
180 | 272 |
header('Location: '.$redirect); |
... | ... |
@@ -41,8 +41,17 @@ if (isset($_REQUEST['form'])) { |
41 | 41 |
} |
42 | 42 |
$number = format_number($number); |
43 | 43 |
|
44 |
+ $name = trim($_REQUEST['name']); |
|
45 |
+ if (! $name) { |
|
46 |
+ $redirect = 'index.php?error&name='; |
|
47 |
+ break; |
|
48 |
+ } |
|
49 |
+ |
|
50 |
+ $_SESSION['name'] = htmlspecialchars($name); |
|
51 |
+ |
|
44 | 52 |
$_SESSION['phone'] = htmlspecialchars($number); |
45 | 53 |
if (isset($_REQUEST['save']) && $_REQUEST['save'] == 'yes') { |
54 |
+ setcookie('NAME', $name, time() + 24*3600*500, ""); |
|
46 | 55 |
setcookie('NUMBER', $number, time() + 24*3600*500, ""); |
47 | 56 |
} |
48 | 57 |
|
... | ... |
@@ -3,10 +3,11 @@ session_start(); |
3 | 3 |
|
4 | 4 |
if (! isset($_SESSION['handle'])) { |
5 | 5 |
$_SESSION['handle'] = sprintf('%09s', ( round(microtime(true)*10) % 1000000000)); |
6 |
- $_SESSION['date'] = date('c'); |
|
6 |
+ $_SESSION['date'] = date('Y-m-d H:i:s.v'); |
|
7 | 7 |
$_SESSION['complete'] = false; |
8 | 8 |
} |
9 | 9 |
|
10 |
+ |
|
10 | 11 |
$redirect = NULL; |
11 | 12 |
if (isset($_REQUEST['form'])) { |
12 | 13 |
switch ($_REQUEST['form']) { |
... | ... |
@@ -19,7 +20,8 @@ if (isset($_REQUEST['form'])) { |
19 | 20 |
$redirect = 'index.php?error&num='; |
20 | 21 |
break; |
21 | 22 |
} |
22 |
- if (substr($number, 0, 1) != 0 && substr($number, 0, 3) != '+49' && substr($number, 0, 4) != '0049') { |
|
23 |
+ |
|
24 |
+ if (substr($number, 0, 1) != 0 && substr($number, 0, 3) != '+49') { |
|
23 | 25 |
$number = '07192'.$number; |
24 | 26 |
} |
25 | 27 |
|
... | ... |
@@ -40,7 +40,9 @@ if (isset($_REQUEST['form'])) { |
40 | 40 |
$number = format_number($number); |
41 | 41 |
|
42 | 42 |
$_SESSION['phone'] = htmlspecialchars($number); |
43 |
- setcookie('NUMBER', $number, time() + 24*3600*500, ""); |
|
43 |
+ if (isset($_REQUEST['save']) && $_REQUEST['save'] == 'yes') { |
|
44 |
+ setcookie('NUMBER', $number, time() + 24*3600*500, ""); |
|
45 |
+ } |
|
44 | 46 |
|
45 | 47 |
if (! $_SESSION['phone']) { |
46 | 48 |
$redirect = 'index.php?error&num='.urlencode($_REQUEST['phone']); |
... | ... |
@@ -13,12 +13,15 @@ if (isset($_REQUEST['form'])) { |
13 | 13 |
case 'start': |
14 | 14 |
$number = NULL; |
15 | 15 |
if (isset($_REQUEST['phone']) && trim($_REQUEST['phone']) != '') { |
16 |
- $number = $_REQUEST['phone']; |
|
16 |
+ $number = trim($_REQUEST['phone']); |
|
17 | 17 |
} |
18 | 18 |
if (! $number) { |
19 | 19 |
$redirect = 'index.php?error&num='; |
20 | 20 |
break; |
21 | 21 |
} |
22 |
+ if (substr($number, 0, 1) != 0 && substr($number, 0, 3) != '+49' && substr($number, 0, 4) != '0049') { |
|
23 |
+ $number = '07192'.$number; |
|
24 |
+ } |
|
22 | 25 |
|
23 | 26 |
require_once('vendor/autoload.php'); |
24 | 27 |
|
... | ... |
@@ -40,7 +43,7 @@ if (isset($_REQUEST['form'])) { |
40 | 43 |
setcookie('NUMBER', $number, time() + 24*3600*500, ""); |
41 | 44 |
|
42 | 45 |
if (! $_SESSION['phone']) { |
43 |
- header('Location: index.php?error&num='.urlencode($_REQUEST['phone'])); |
|
46 |
+ $redirect = 'index.php?error&num='.urlencode($_REQUEST['phone']); |
|
44 | 47 |
break; |
45 | 48 |
} |
46 | 49 |
|
... | ... |
@@ -36,7 +36,7 @@ if (isset($_REQUEST['form'])) { |
36 | 36 |
} |
37 | 37 |
$number = format_number($number); |
38 | 38 |
|
39 |
- $_SESSION['phone'] = $number; |
|
39 |
+ $_SESSION['phone'] = htmlspecialchars($number); |
|
40 | 40 |
setcookie('NUMBER', $number, time() + 24*3600*500, ""); |
41 | 41 |
|
42 | 42 |
if (! $_SESSION['phone']) { |
... | ... |
@@ -51,7 +51,7 @@ if (isset($_REQUEST['form'])) { |
51 | 51 |
$fields = array("fname", "lname", "address", "zip", "city"); |
52 | 52 |
foreach ($fields as $f) { |
53 | 53 |
if (isset($_REQUEST[$f])) { |
54 |
- $_SESSION[$f] = trim($_REQUEST[$f]); |
|
54 |
+ $_SESSION[$f] = trim(htmlspecialchars($_REQUEST[$f])); |
|
55 | 55 |
} else { |
56 | 56 |
if (! isset($_SESSION[$f])) { |
57 | 57 |
$_SESSION[$f] = ''; |
... | ... |
@@ -83,11 +83,11 @@ if (isset($_REQUEST['form'])) { |
83 | 83 |
if (isset($_REQUEST['lieferart'])) { |
84 | 84 |
if ($_REQUEST['lieferart'] == 'gitterbox') { |
85 | 85 |
$_SESSION['lieferart'] = 'gitterbox'; |
86 |
- $_SESSION['gbcount'] = $_REQUEST['gbcount']; |
|
86 |
+ $_SESSION['gbcount'] = htmlspecialchars($_REQUEST['gbcount']); |
|
87 | 87 |
} |
88 | 88 |
if ($_REQUEST['lieferart'] == 'anhaenger') { |
89 | 89 |
$_SESSION['lieferart'] = 'anhaenger'; |
90 |
- $_SESSION['kennz'] = $_REQUEST['kennz']; |
|
90 |
+ $_SESSION['kennz'] = htmlspecialchars($_REQUEST['kennz']); |
|
91 | 91 |
if ($_SESSION['angeliefert'] === false && ! $_SESSION['kennz']) { |
92 | 92 |
$redirect = 'gitterbox_spaeter.php?error'; |
93 | 93 |
break; |
... | ... |
@@ -116,7 +116,7 @@ if (isset($_REQUEST['form'])) { |
116 | 116 |
} |
117 | 117 |
if (isset($_REQUEST['submit']) && isset($_REQUEST['sonstiges']) && $_REQUEST['sonstiges'] != '') { |
118 | 118 |
$_SESSION['neue'] = 'sonstiges'; |
119 |
- $_SESSION['sonstiges'] = $_REQUEST['sonstiges']; |
|
119 |
+ $_SESSION['sonstiges'] = htmlspecialchars($_REQUEST['sonstiges']); |
|
120 | 120 |
} |
121 | 121 |
|
122 | 122 |
|
... | ... |
@@ -127,12 +127,15 @@ if (isset($_REQUEST['form'])) { |
127 | 127 |
if (isset($_REQUEST['frischsaftnein'])) { |
128 | 128 |
$_SESSION['frischsaft'] = 0; |
129 | 129 |
} elseif (isset($_REQUEST['frischsaft'])) { |
130 |
- $_SESSION['frischsaft'] = (int) $_REQUEST['frischsaft']; |
|
130 |
+ $_SESSION['frischsaft'] = htmlspecialchars($_REQUEST['frischsaft']); |
|
131 | 131 |
} |
132 | 132 |
|
133 | 133 |
$redirect = 'summary.php'; |
134 | 134 |
break; |
135 | 135 |
case 'summary': |
136 |
+ if (isset($_REQUEST['anmerkungen'])) { |
|
137 |
+ $_SESSION['anmerkungen'] = htmlspecialchars($_REQUEST['anmerkungen']); |
|
138 |
+ } |
|
136 | 139 |
if (!isset($_REQUEST['agb'])) { |
137 | 140 |
$redirect = 'summary.php?error'; |
138 | 141 |
break; |
... | ... |
@@ -10,7 +10,7 @@ if (! isset($_SESSION['handle'])) { |
10 | 10 |
$redirect = NULL; |
11 | 11 |
if (isset($_REQUEST['form'])) { |
12 | 12 |
switch ($_REQUEST['form']) { |
13 |
- case 'step1': |
|
13 |
+ case 'start': |
|
14 | 14 |
$number = NULL; |
15 | 15 |
if (isset($_REQUEST['phone']) && trim($_REQUEST['phone']) != '') { |
16 | 16 |
$number = $_REQUEST['phone']; |
... | ... |
@@ -47,7 +47,7 @@ if (isset($_REQUEST['form'])) { |
47 | 47 |
$redirect = 'address.php'; |
48 | 48 |
break; |
49 | 49 |
|
50 |
- case 'step2': |
|
50 |
+ case 'address': |
|
51 | 51 |
$fields = array("fname", "lname", "address", "zip", "city"); |
52 | 52 |
foreach ($fields as $f) { |
53 | 53 |
if (isset($_REQUEST[$f])) { |
... | ... |
@@ -58,13 +58,28 @@ if (isset($_REQUEST['form'])) { |
58 | 58 |
} |
59 | 59 |
} |
60 | 60 |
} |
61 |
- $redirect = 'gitterbox.php'; |
|
61 |
+ if (isset($_SESSION['angeliefert'])) { |
|
62 |
+ if ($_SESSION['angeliefert']) { |
|
63 |
+ $redirect = 'gitterbox.php'; |
|
64 |
+ } else { |
|
65 |
+ $redirect = 'gitterbox_spaeter.php'; |
|
66 |
+ } |
|
67 |
+ } else { |
|
68 |
+ $redirect = 'anlieferung.php'; |
|
69 |
+ } |
|
62 | 70 |
break; |
63 | 71 |
|
64 |
- case 'step3': |
|
65 |
- if (isset($_REQUEST['keinobst'])) { |
|
66 |
- $_SESSION['lieferart'] = 'kommtnoch'; |
|
72 |
+ case 'anlieferung': |
|
73 |
+ if (isset($_REQUEST['schonda'])) { |
|
74 |
+ $_SESSION['angeliefert'] = true; |
|
75 |
+ $redirect = 'gitterbox.php'; |
|
67 | 76 |
} |
77 |
+ if (isset($_REQUEST['kommtnoch'])) { |
|
78 |
+ $_SESSION['angeliefert'] = false; |
|
79 |
+ $redirect = 'gitterbox_spaeter.php'; |
|
80 |
+ } |
|
81 |
+ break; |
|
82 |
+ case 'gitterbox': |
|
68 | 83 |
if (isset($_REQUEST['lieferart'])) { |
69 | 84 |
if ($_REQUEST['lieferart'] == 'gitterbox') { |
70 | 85 |
$_SESSION['lieferart'] = 'gitterbox'; |
... | ... |
@@ -73,12 +88,16 @@ if (isset($_REQUEST['form'])) { |
73 | 88 |
if ($_REQUEST['lieferart'] == 'anhaenger') { |
74 | 89 |
$_SESSION['lieferart'] = 'anhaenger'; |
75 | 90 |
$_SESSION['kennz'] = $_REQUEST['kennz']; |
91 |
+ if ($_SESSION['angeliefert'] === false && ! $_SESSION['kennz']) { |
|
92 |
+ $redirect = 'gitterbox_spaeter.php?error'; |
|
93 |
+ break; |
|
94 |
+ } |
|
76 | 95 |
} |
77 | 96 |
} |
78 | 97 |
$redirect = 'gebrauchte.php'; |
79 | 98 |
break; |
80 | 99 |
|
81 |
- case 'step4': |
|
100 |
+ case 'gebrauchte': |
|
82 | 101 |
if (isset($_REQUEST['kartonsja'])) { |
83 | 102 |
$_SESSION['kartons'] = true; |
84 | 103 |
} |
... | ... |
@@ -88,7 +107,7 @@ if (isset($_REQUEST['form'])) { |
88 | 107 |
|
89 | 108 |
$redirect = 'auftrag.php'; |
90 | 109 |
break; |
91 |
- case 'step5': |
|
110 |
+ case 'auftrag': |
|
92 | 111 |
if (isset($_REQUEST['5er'])) { |
93 | 112 |
$_SESSION['neue'] = '5er'; |
94 | 113 |
} |
... | ... |
@@ -104,7 +123,7 @@ if (isset($_REQUEST['form'])) { |
104 | 123 |
$redirect = 'frischsaft.php'; |
105 | 124 |
break; |
106 | 125 |
|
107 |
- case 'step6': |
|
126 |
+ case 'frischsaft': |
|
108 | 127 |
if (isset($_REQUEST['frischsaftnein'])) { |
109 | 128 |
$_SESSION['frischsaft'] = 0; |
110 | 129 |
} elseif (isset($_REQUEST['frischsaft'])) { |
... | ... |
@@ -113,7 +132,7 @@ if (isset($_REQUEST['form'])) { |
113 | 132 |
|
114 | 133 |
$redirect = 'summary.php'; |
115 | 134 |
break; |
116 |
- case 'step7': |
|
135 |
+ case 'summary': |
|
117 | 136 |
if (!isset($_REQUEST['agb'])) { |
118 | 137 |
$redirect = 'summary.php?error'; |
119 | 138 |
break; |
... | ... |
@@ -44,7 +44,7 @@ if (isset($_REQUEST['form'])) { |
44 | 44 |
break; |
45 | 45 |
} |
46 | 46 |
|
47 |
- $redirect = 'step2.php'; |
|
47 |
+ $redirect = 'address.php'; |
|
48 | 48 |
break; |
49 | 49 |
|
50 | 50 |
case 'step2': |
... | ... |
@@ -58,7 +58,7 @@ if (isset($_REQUEST['form'])) { |
58 | 58 |
} |
59 | 59 |
} |
60 | 60 |
} |
61 |
- $redirect = 'step3.php'; |
|
61 |
+ $redirect = 'gitterbox.php'; |
|
62 | 62 |
break; |
63 | 63 |
|
64 | 64 |
case 'step3': |
... | ... |
@@ -75,7 +75,7 @@ if (isset($_REQUEST['form'])) { |
75 | 75 |
$_SESSION['kennz'] = $_REQUEST['kennz']; |
76 | 76 |
} |
77 | 77 |
} |
78 |
- $redirect = 'step4.php'; |
|
78 |
+ $redirect = 'gebrauchte.php'; |
|
79 | 79 |
break; |
80 | 80 |
|
81 | 81 |
case 'step4': |
... | ... |
@@ -86,7 +86,7 @@ if (isset($_REQUEST['form'])) { |
86 | 86 |
$_SESSION['kartons'] = false; |
87 | 87 |
} |
88 | 88 |
|
89 |
- $redirect = 'step5.php'; |
|
89 |
+ $redirect = 'auftrag.php'; |
|
90 | 90 |
break; |
91 | 91 |
case 'step5': |
92 | 92 |
if (isset($_REQUEST['5er'])) { |
... | ... |
@@ -101,7 +101,7 @@ if (isset($_REQUEST['form'])) { |
101 | 101 |
} |
102 | 102 |
|
103 | 103 |
|
104 |
- $redirect = 'step6.php'; |
|
104 |
+ $redirect = 'frischsaft.php'; |
|
105 | 105 |
break; |
106 | 106 |
|
107 | 107 |
case 'step6': |
... | ... |
@@ -111,11 +111,11 @@ if (isset($_REQUEST['form'])) { |
111 | 111 |
$_SESSION['frischsaft'] = (int) $_REQUEST['frischsaft']; |
112 | 112 |
} |
113 | 113 |
|
114 |
- $redirect = 'step7.php'; |
|
114 |
+ $redirect = 'summary.php'; |
|
115 | 115 |
break; |
116 | 116 |
case 'step7': |
117 | 117 |
if (!isset($_REQUEST['agb'])) { |
118 |
- $redirect = 'step7.php?error'; |
|
118 |
+ $redirect = 'summary.php?error'; |
|
119 | 119 |
break; |
120 | 120 |
} |
121 | 121 |
|
1 | 1 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,138 @@ |
1 |
+<?php |
|
2 |
+session_start(); |
|
3 |
+ |
|
4 |
+if (! isset($_SESSION['handle'])) { |
|
5 |
+ $_SESSION['handle'] = sprintf('%09s', ( round(microtime(true)*10) % 1000000000)); |
|
6 |
+ $_SESSION['date'] = date('c'); |
|
7 |
+ $_SESSION['complete'] = false; |
|
8 |
+} |
|
9 |
+ |
|
10 |
+$redirect = NULL; |
|
11 |
+if (isset($_REQUEST['form'])) { |
|
12 |
+ switch ($_REQUEST['form']) { |
|
13 |
+ case 'step1': |
|
14 |
+ $number = NULL; |
|
15 |
+ if (isset($_REQUEST['phone']) && trim($_REQUEST['phone']) != '') { |
|
16 |
+ $number = $_REQUEST['phone']; |
|
17 |
+ } |
|
18 |
+ if (! $number) { |
|
19 |
+ $redirect = 'index.php?error&num='; |
|
20 |
+ break; |
|
21 |
+ } |
|
22 |
+ |
|
23 |
+ require_once('vendor/autoload.php'); |
|
24 |
+ |
|
25 |
+ function format_number($number) { |
|
26 |
+ $phoneNumberUtil = \libphonenumber\PhoneNumberUtil::getInstance(); |
|
27 |
+ try { |
|
28 |
+ $phoneNumber = $phoneNumberUtil->parse($number, 'DE'); |
|
29 |
+ } catch (Exception $e) { |
|
30 |
+ return NULL; |
|
31 |
+ } |
|
32 |
+ if ($phoneNumberUtil->isValidNumber($phoneNumber)) { |
|
33 |
+ return $phoneNumberUtil->format($phoneNumber, \libphonenumber\PhoneNumberFormat::NATIONAL); |
|
34 |
+ } |
|
35 |
+ return NULL; |
|
36 |
+ } |
|
37 |
+ $number = format_number($number); |
|
38 |
+ |
|
39 |
+ $_SESSION['phone'] = $number; |
|
40 |
+ setcookie('NUMBER', $number, time() + 24*3600*500, ""); |
|
41 |
+ |
|
42 |
+ if (! $_SESSION['phone']) { |
|
43 |
+ header('Location: index.php?error&num='.urlencode($_REQUEST['phone'])); |
|
44 |
+ break; |
|
45 |
+ } |
|
46 |
+ |
|
47 |
+ $redirect = 'step2.php'; |
|
48 |
+ break; |
|
49 |
+ |
|
50 |
+ case 'step2': |
|
51 |
+ $fields = array("fname", "lname", "address", "zip", "city"); |
|
52 |
+ foreach ($fields as $f) { |
|
53 |
+ if (isset($_REQUEST[$f])) { |
|
54 |
+ $_SESSION[$f] = trim($_REQUEST[$f]); |
|
55 |
+ } else { |
|
56 |
+ if (! isset($_SESSION[$f])) { |
|
57 |
+ $_SESSION[$f] = ''; |
|
58 |
+ } |
|
59 |
+ } |
|
60 |
+ } |
|
61 |
+ $redirect = 'step3.php'; |
|
62 |
+ break; |
|
63 |
+ |
|
64 |
+ case 'step3': |
|
65 |
+ if (isset($_REQUEST['keinobst'])) { |
|
66 |
+ $_SESSION['lieferart'] = 'kommtnoch'; |
|
67 |
+ } |
|
68 |
+ if (isset($_REQUEST['lieferart'])) { |
|
69 |
+ if ($_REQUEST['lieferart'] == 'gitterbox') { |
|
70 |
+ $_SESSION['lieferart'] = 'gitterbox'; |
|
71 |
+ $_SESSION['gbcount'] = $_REQUEST['gbcount']; |
|
72 |
+ } |
|
73 |
+ if ($_REQUEST['lieferart'] == 'anhaenger') { |
|
74 |
+ $_SESSION['lieferart'] = 'anhaenger'; |
|
75 |
+ $_SESSION['kennz'] = $_REQUEST['kennz']; |
|
76 |
+ } |
|
77 |
+ } |
|
78 |
+ $redirect = 'step4.php'; |
|
79 |
+ break; |
|
80 |
+ |
|
81 |
+ case 'step4': |
|
82 |
+ if (isset($_REQUEST['kartonsja'])) { |
|
83 |
+ $_SESSION['kartons'] = true; |
|
84 |
+ } |
|
85 |
+ if (isset($_REQUEST['kartonsnein'])) { |
|
86 |
+ $_SESSION['kartons'] = false; |
|
87 |
+ } |
|
88 |
+ |
|
89 |
+ $redirect = 'step5.php'; |
|
90 |
+ break; |
|
91 |
+ case 'step5': |
|
92 |
+ if (isset($_REQUEST['5er'])) { |
|
93 |
+ $_SESSION['neue'] = '5er'; |
|
94 |
+ } |
|
95 |
+ if (isset($_REQUEST['10er'])) { |
|
96 |
+ $_SESSION['neue'] = '10er'; |
|
97 |
+ } |
|
98 |
+ if (isset($_REQUEST['submit']) && isset($_REQUEST['sonstiges']) && $_REQUEST['sonstiges'] != '') { |
|
99 |
+ $_SESSION['neue'] = 'sonstiges'; |
|
100 |
+ $_SESSION['sonstiges'] = $_REQUEST['sonstiges']; |
|
101 |
+ } |
|
102 |
+ |
|
103 |
+ |
|
104 |
+ $redirect = 'step6.php'; |
|
105 |
+ break; |
|
106 |
+ |
|
107 |
+ case 'step6': |
|
108 |
+ if (isset($_REQUEST['frischsaftnein'])) { |
|
109 |
+ $_SESSION['frischsaft'] = 0; |
|
110 |
+ } elseif (isset($_REQUEST['frischsaft'])) { |
|
111 |
+ $_SESSION['frischsaft'] = (int) $_REQUEST['frischsaft']; |
|
112 |
+ } |
|
113 |
+ |
|
114 |
+ $redirect = 'step7.php'; |
|
115 |
+ break; |
|
116 |
+ case 'step7': |
|
117 |
+ if (!isset($_REQUEST['agb'])) { |
|
118 |
+ $redirect = 'step7.php?error'; |
|
119 |
+ break; |
|
120 |
+ } |
|
121 |
+ |
|
122 |
+ $_SESSION['complete'] = true; |
|
123 |
+ $redirect = 'finish.php?handle='.$_SESSION['handle']; |
|
124 |
+ break; |
|
125 |
+ |
|
126 |
+ } |
|
127 |
+} |
|
128 |
+ |
|
129 |
+ |
|
130 |
+$filename = '../data/'.date('Y').'/'.$_SESSION['handle'].'.json'; |
|
131 |
+if (!file_exists(dirname($filename))) { |
|
132 |
+ mkdir(dirname($filename), 0700, true); |
|
133 |
+} |
|
134 |
+ |
|
135 |
+$json = json_encode($_SESSION); |
|
136 |
+file_put_contents($filename, $json); |
|
137 |
+ |
|
138 |
+header('Location: '.$redirect); |