git.schokokeks.org
Repositories
Help
Report an Issue
bibweb.git
Code
Commits
Branches
Tags
Suche
Strukturansicht:
0b11928
Branches
Tags
master
bibweb.git
scan_container.php
Box scannen und Kartongrößen genauer abfragen.
Bernd Wurst
commited
0b11928
at 2026-09-02 13:34:15
scan_container.php
Blame
History
Raw
<?php session_start(); require_once "utils.php"; // Falls du Hilfsfunktionen daraus benötigst $headline = 'QR-Code scannen'; // 1. Einbindung der Scanner-Bibliothek (CDN) und Container für das Kamerabild $content = ' <script src="/assets/html5-qrcode.min.js" type="text/javascript"></script> <div class="text-center"> <p class="lead">Bitte halten Sie die Kamera auf den QR-Code an der Box.</p> <!-- Hier erscheint das Kamerabild --> <div id="reader" style="width: 100%; max-width: 500px; margin: 0 auto;" class="border rounded bg-light"></div> <div class="d-grid gap-2 mt-4"> <a href="index.php" class="btn btn-outline-secondary"> <i class="fas fa-times me-2"></i> Abbrechen </a> </div> </div> <script> const html5QrCode = new Html5Qrcode("reader"); const qrCodeSuccessCallback = async (decodedText, decodedResult) => { try { // 1. Kamera stoppen und DOM-Elemente bereinigen await html5QrCode.stop(); html5QrCode.clear(); // 2. Daten verarbeiten let boxNumber = ""; if (decodedText.includes("box=")) { const urlParts = decodedText.split("?"); if (urlParts.length > 1) { const params = new URLSearchParams(urlParts[1]); if (params.has("box")) { boxNumber = params.get("box"); } } } let redirectUrl = "index.php?box=" + encodeURIComponent(boxNumber); if (boxNumber == "") { redirectUrl = "index.php?error=Der QR-Code enthält keine Box-Nummer"; } // 3. Kurze Pause für Android-WebRTC zum Freigeben der Hardware setTimeout(() => { window.location.href = redirectUrl; }, 150); } catch (err) { console.error("Fehler beim Stoppen des Scanners:", err); } }; const config = { fps: 10, qrbox: { width: 250, height: 250 } }; html5QrCode.start({ facingMode: "environment" }, config, qrCodeSuccessCallback) .catch((err) => { console.error("Kamera konnte nicht gestartet werden:", err); document.getElementById("reader").innerHTML = \'<div class="alert alert-danger">Kamera-Zugriff verweigert oder keine Rückkamera gefunden.</div>\'; }); </script> '; include("template.php");