0) { $auftrag['containers'] = array_fill(0, $_SESSION['gbcount'], [ "type" => "box", "weight" => 400 ]); } if (isset($_SESSION['lieferart']) && $_SESSION['lieferart'] == 'anhaenger') { if (!isset($_SESSION['kennz'])) { $_SESSION['kennz'] = null; } $auftrag['containers'] = [ ["type" => "trailer", "weight" => 0, "label" => $_SESSION['kennz']] ]; } // usedPackages if (isset($_SESSION['kartons'])) { $auftrag['usedPackages'] = (bool) $_SESSION['kartons']; } // plannedPackagings if (isset($_SESSION['neue'])) { if ($_SESSION['neue'] == 'sonstiges') { $auftrag['notes'] = (isset($_SESSION['anmerkungen']) ? $_SESSION['anmerkungen'] . "\n\n" : '') . $_SESSION["sonstiges"]; } else { $plan = []; $ret = api_call('GET', 'packageTypes'); $ret = $ret['data']; foreach ($ret as $pt) { if ($pt['label'] == $_SESSION['neue']) { $plan[] = [ "packageType" => $pt['id'], "rest" => true ]; } if ($pt['label'] == 'frischsaft' && isset($_SESSION['frischsaft']) && $_SESSION['frischsaft'] > 0) { $plan[] = [ "packageType" => $pt['id'], "count" => $_SESSION['frischsaft']]; } } $auftrag['plannedPackagings'] = $plan; } } // notes if (isset($_SESSION['anmerkungen']) && $_SESSION['anmerkungen'] != '') { $auftrag['notes'] = $_SESSION['anmerkungen']; $auftrag['notes'] = $_SESSION['anmerkungen'] . (isset($_SESSION["sonstiges"]) ? "\n\n" . $_SESSION["sonstiges"] : ''); } // Auftrag lokal speichern $filename = "../data/".date('Y').'/'.time().'.json'; if (isset($_SESSION['orderid'])) { $filename = "../data/".date('Y').'/'.$_SESSION['orderid'].'-'.time().'.json'; } @file_put_contents($filename, json_encode($auftrag)); if (isset($_SESSION['orderid']) && $_SESSION['orderid']) { // update $ret = api_call('PUT', 'orders/'.$_SESSION['orderid'], $auftrag); } else { // neu $ret = api_call('POST', 'orders', $auftrag); } if ($ret['status_code'] >= 400) { foreach ($ret['data']['validation_errors'] as $item) { $_SESSION['warnings'][] = $item['key'].': '.$item['message']; } return showError(); } $ret = $ret['data']; $_SESSION['orderid'] = $ret['id']; if (!isset($ret['id'])) { echo "Es gabe einen Fehler beim Abspeichern des Auftrags. Wir bitten dies zu entschuldigen und einen Papierauftrag auszufüllen."; file_put_contents("../error.log", date("Y-m-d H:i:s") . ': '.json_encode($auftrag). print_r($ret, true).'\n', FILE_APPEND | LOCK_EX); die(); } // Auftrag lokal speichern if (isset($_SESSION['orderid'])) { $filename = "../data/".date('Y').'/'.$_SESSION['orderid'].'-'.time().'.json'; } @file_put_contents($filename, json_encode($auftrag)); /* if ($ret['status'] == 'error') { echo 'Es gibt ein Problem beim Speichern des Auftrags. Bitte verwenden Sie diesmal einen Papier-Auftrag.'; die(); } */ } header('Location: '.$redirect);