Esempio n. 1
0
 /**
  * Eintritts-Methode.
  */
 public static function main()
 {
     // FestKassa-Konfiguration laden
     $config = Configuration::instance();
     // Presiliste laden
     self::$priceList_ = new PriceList($config->priceList());
     // Wurde auf "Nächste Bestellung" geklickt?
     if (isset($_REQUEST['action']) && $_REQUEST['action'] == 'confirm' && isset($_REQUEST['erg']) && $_REQUEST['erg'] != 0) {
         $order = null;
         // Bestellung aus den Formulardaten generieren
         try {
             $order = self::buildOrderFromFormData_();
         } catch (Exception $e) {
             echo "Fehler beim Auswerten der Eingaben: " . $e->getMessage() . "<br/>\n";
             return;
         }
         if (bccomp('' . $order->sumPrice(), '' . $_REQUEST['erg']) != 0) {
             echo "Preisliste hat sich geändert. Bitte aktualisieren.<br/>\n";
             return;
         }
         try {
             // Abrechnung schreiben
             self::writeAccountingForOrder_($order);
         } catch (IOException $ioe) {
             echo "Fehler beim Schreiben der Abrechnung: " . $ioe->getMessage() . "<br/>\n";
         }
         // Ausdrucken
         try {
             self::printOrder_($order);
         } catch (UnknownPrinterException $ue) {
             echo "Fehler beim Drucken: Unbekannter Drucker: »" . $config->printerDriver() . "«<br/>\n";
         } catch (PrinterException $pe) {
             echo "Fehler beim Drucken: " . $pe->getMessage() . "<br/>\n";
         }
     }
     // FestKassa Web GUI an den Browser senden
     $lastSumPrice = isset($_REQUEST['erg']) ? $_REQUEST['erg'] : 0.0;
     WebInterface::render(self::$priceList_, $lastSumPrice);
 }