Prüfung auf schon benutzte Box
Bernd Wurst

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