git.schokokeks.org
Repositories
Help
Report an Issue
bibweb.git
Code
Commits
Branches
Tags
Suche
Strukturansicht:
40358c7
Branches
Tags
master
bibweb.git
containers.php
WIP: Zuerst Container scannen/eingeben, danach den Namen
Bernd Wurst
commited
40358c7
at 2026-08-10 13:55:50
containers.php
Blame
History
Raw
<?php require_once "utils.php"; session_start(); if ((isset($_REQUEST['mode']) && $_REQUEST['mode'] == 'local') || (isset($_COOKIE['MODE']) && $_COOKIE['MODE'] == 'local')) { $_SESSION['mode'] = 'local'; setcookie('MODE', 'local', time() + 24*3600*500, ""); } if (!isset($_SESSION['mode'])) { $_SESSION['mode'] = 'remote'; } if (isset($_REQUEST['mode']) && $_REQUEST['mode'] == 'remote') { $_SESSION['mode'] = 'remote'; setcookie('MODE', 'remote', 0, ""); } if (isset($_REQUEST['type'])) { if ($_REQUEST['type'] == 'upcoming') { $_SESSION['angeliefert'] = false; } elseif ($_REQUEST['type'] == 'local') { $_SESSION['angeliefert'] = true; } } // hardcoded, voranmeldung ist im Moment nicht unterstützt $_SESSION['angeliefert'] = true; $content = ''; // Unterscheidung, ob wir den Kunde begrüßen müssen oder ob er nachträglich die Boxen verwaltet if (isset($_SESSION['containers_done'])) { $headline = 'Container verwalten'; $content .= '<p>Ihr Obst wurde wie folgt angeliefert:</p>'; } else { $headline = 'Auftrag starten'; $content .= '<p>Sie haben Obst angeliefert und möchten daraus Ihren Saft erhalten?</p>'; } $content .= '<div class="mt-4">'; $content .= '<h3>Erfasste Boxen / Behälter</h3>'; if (empty($_SESSION['scanned_boxes'])) { $content .= '<p class="text-muted">Noch keine Boxen erfasst.</p>'; } else { $content .= '<ul class="list-group mb-3">'; foreach ($_SESSION['scanned_boxes'] as $index => $box) { $content .= '<li class="list-group-item d-flex justify-content-between align-items-center">'; // Anzeige des Typs (Box mit Nummer, ohne Nummer oder Anhänger) $label = ($box['type'] == 'trailer') ? 'Anhänger ' . $box['label'] : 'Box ' . $box['label']; if ($box['type'] == 'box' && $box['label'] == '') { $label = 'Box ohne Nummer'; } $content .= '<span><i class="fas fa-box me-2"></i>' . htmlspecialchars($label) . '</span>'; // Lösch-Link, der an die save.php leitet $content .= '<a href="save.php?form=remove_box&index=' . $index . '" class="btn btn-outline-danger btn-sm">'; $content .= '<i class="fas fa-trash"></i> Löschen</a>'; $content .= '</li>'; } $content .= '</ul>'; } $content .= '</div>'; $content .= '<div class="card bg-light mt-3">'; $content .= '<div class="card-body">'; $content .= '<h5 class="card-title">Weiteres hinzufügen</h5>'; $content .= '<div class="d-grid gap-2">'; // Bootstrap Stack für vertikale Buttons // 1. QR-Code scannen (Leitet auf eine Seite mit Kamera-Logik) $content .= '<a href="scan.php" class="btn btn-primary btn-lg">'; $content .= '<i class="fas fa-qrcode me-2"></i> Weiteren QR-Code scannen</a>'; // 2. Nummer manuell eingeben (Leitet auf ein einfaches Formular) $content .= '<a href="manual_entry.php" class="btn btn-secondary">'; $content .= '<i class="fas fa-keyboard me-2"></i> Nummer manuell eingeben</a>'; // 3. Box ohne Nummer (Direkt-Aktion in save.php) $content .= '<a href="save.php?form=add_box&type=no_num" class="btn btn-outline-secondary">'; $content .= '<i class="fas fa-plus me-2"></i> Box ohne Nummer hinzufügen</a>'; // 4. Anhänger (Baut auf deiner bestehenden Logik für 'anhaenger' auf [3]) $content .= '<a href="trailer_entry.php" class="btn btn-outline-secondary">'; $content .= '<i class="fas fa-truck me-2"></i> Anhänger erfassen</a>'; $content .= '</div>'; // Ende d-grid $content .= '</div>'; // Ende card-body $content .= '</div>'; // Ende card /* * Bei jedem neuen Behälter: * - Scannen / Eingeben * - Abfrage (nach Prüfziffer) "ist das die richtige Nummer?" * - Dann einfügen * * Bei Übergabe durch QR-Code: * - Separate Begrüßungsseite * * * Bei Lokalem Tablet: Nur Nummerneingabe oder "ohne Nummer" oder Anhänger wählbar * Beim Handy zusätzlich "Box scannen" * * */ $content .= ' <p>Bitte bestätigen Sie, dass Sie teilen Sie uns Ihren <strong>Namen</strong> und Ihre <strong>Telefonnummer</strong> mit, damit wir prüfen können, ob wir Sie schon kennen.</p> <form class="form row g-3 d-flex" action="save.php" method="post"> <input type="hidden" name="form" value="start"> <div class="col-md-9"> <div class="row form-group form-group-lg g-2 mb-2"> <div class="col-md-6"> <div class="form-floating"> <input class="form-control form-control-lg" id="lname" name="lname" type="text" placeholder="Nachname" autocomplete="family-name" value="'.$lname.'"> <label for="lname">Nachname</label> </div> </div> <div class="col-md-6"> <div class="form-floating"> <input class="form-control form-control-lg" id="fname" name="fname" type="text" placeholder="Vorname" autocomplete="given-name" value="'.$fname.'"> <label for="fname">Vorname</label> </div> </div> </div> <div class="form-group form-group-lg mb-2"> <div class="input-group"> <span class="input-group-text"><span class="fas fa-mobile-alt" aria-hidden="true"></span></span> <div class="form-floating"> <input class="form-control form-control-lg" id="phone" name="phone" type="tel" placeholder="Telefonnummer" autocomplete="mobile tel" value="'.$number.'"> <label for="phone">Telefonnummer</label> </div> <small class="form-text text-muted">Tipp: Wenn Sie hier eine Mobiltelefonnummer eingeben, werden Sie bequem per Whatsapp oder SMS benachrichtigt.</small> </div> </div>'; if (!isset($_SESSION['mode']) || ($_SESSION['mode'] != 'local')) { $content .= '<div class="d-flex justify-content-center mb-3"> <div class="form-check"><input class="form-check-input" type="checkbox" name="save" id="check-save" value="yes" '.$checked.'><label for="check-save" class="form-check-label"> Daten in diesem Browser merken.</label></div> </div>'; } $content .= '</div> <div class="col-md-3"> <div class="form-group form-group-lg h-100"> <input class="btn btn-primary btn-lg h-100" type="submit" value="Weiter >"> </div> </div> </form> <div class="card mb-3" id="disclaimer"> <div class="card-header">Rechtliches</div> <div class="card-body"><p class="card-text">Dies ist ein Angebot der Mosterei Wurst, Murrhardt-Köchersberg.</p> <a href="#" data-bs-toggle="modal" data-bs-target="#datenschutz">Datenschutzhinweise lesen</a> </div> </div> <div class="modal fade" id="datenschutz"> <div class="modal-dialog"> <div class="modal-content"> <!-- Modal Header --> <div class="modal-header"> <h5 class="modal-title">Datenschutzhinweise</h5> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> </div> <!-- Modal body --> <div class="modal-body"> <p>Wir speichern die eingegebenen Daten zum Zwecke der Erbringung unserer Dienstleistung. Eine Weitergabe der Daten erfolgt nicht. Sie haben einen Anspruch auf Löschung der personenbezogenen Daten, sofern keine laufende oder beauftragte Dienstleistung dem entgegen steht. Kontaktieren Sie uns dazu bitte auf beliebigem Weg'.($_SESSION['mode'] != 'local' ? ', wie im <a target="_blank" href="https://mosterei-wurst.de/impressum/">Impressum</a> angegeben' : '').'.</p> <p>Dieses Angebot verwendet Cookies zur Ablaufsteuerung. Einer auftragsbezogenen Kontaktaufnahme stimmen Sie durch Nutzung des Angebots explizit zu.</p> '.($_SESSION['mode'] != 'local' ? '<p>Der Name und die verwendete Telefonnummer wird (sofern Sie dies nicht abwählen) zusätzlich langfristig in Ihrem Browser gespeichert um Ihnen beim nächsten Besuch einen erhöhten Komfort zu bieten. Diese gespeicherte Nummer können Sie <a href="clear.php?number">sofort aus Ihrem Browser löschen</a>.</p>' : '').' </div> <!-- Modal footer --> <div class="modal-footer"> <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Verstanden</button> </div> </div> </div> </div> '; include("template.php");