Bernd Wurst commited on 2026-09-13 09:05:00
Zeige 1 geänderte Dateien mit 7 Einfügungen und 23 Löschungen.
| ... | ... |
@@ -105,30 +105,14 @@ if (isset($_REQUEST['form'])) {
|
| 105 | 105 |
break; |
| 106 | 106 |
} |
| 107 | 107 |
|
| 108 |
- // Prüfziffer-Validierung nur für Boxen mit Nummer |
|
| 109 |
- if ($type == 'box' && !empty($label)) {
|
|
| 110 |
- // 1. Grundlegende Prüfung: Wenn numerisch, dann genau 3 Stellen lang |
|
| 111 |
- |
|
| 112 |
- if (is_numeric($label)) {
|
|
| 113 |
- if (strlen($label) !== 3) {
|
|
| 114 |
- $redirect = 'index.php?error=Die Box-Nummer muss genau 3-stellig sein.'; |
|
| 115 |
- break; |
|
| 116 |
- } else {
|
|
| 108 |
+ if ($type == 'box' && !empty($label) && is_numeric($label)) {
|
|
| 109 |
+ $ret = api_call('GET', "anonymous/container_used/$label");
|
|
| 110 |
+ if ($ret['status_code'] == 200) {
|
|
| 111 |
+ if (!$ret['data']['valid_checksum']) {
|
|
| 117 | 112 |
$redirect = 'index.php?error=Die Box-Nummer ist ungültig'; |
| 118 |
- } |
|
| 119 |
- |
|
| 120 |
- |
|
| 121 |
- // 2. Ziffern extrahieren |
|
| 122 |
- $z1 = (int)$label[0]; |
|
| 123 |
- $z2 = (int)$label[1]; |
|
| 124 |
- $z3 = (int)$label[2]; |
|
| 125 |
- |
|
| 126 |
- // 3. Prüfziffer berechnen: (Ziffer1 * 3 + Ziffer2 * 7) mod 10 |
|
| 127 |
- $calculatedCheckDigit = ($z1 * 3 + $z2 * 7) % 10; |
|
| 128 |
- |
|
| 129 |
- // 4. Abgleich |
|
| 130 |
- if ($z3 !== $calculatedCheckDigit) {
|
|
| 131 |
- $redirect = 'index.php?error=Ungültige Box-Nummer (Prüfziffer falsch).'; |
|
| 113 |
+ break; |
|
| 114 |
+ } elseif ($ret['data']['is_used']) {
|
|
| 115 |
+ $redirect = 'index.php?error=Die Box-Nummer ist bereits mit einem anderen Auftrag belegt!'; |
|
| 132 | 116 |
break; |
| 133 | 117 |
} |
| 134 | 118 |
} |
| 135 | 119 |