1737192474a:1:{s:25:"officer/check-barcode.htm";a:8:{s:8:"fileName";s:25:"officer/check-barcode.htm";s:7:"content";s:2155:"title = "Check Barcode"
url = "/check-barcode/:bookingid"
layout = "BaliTiket2"

==
<?php
	use Yuren\BaliTiket\Models\Bookings;
    use Yuren\BaliTiket\Models\Guestlist;
    use Flash;

    function onStart()
    {
        date_default_timezone_set('Asia/Singapore');
        $dateNow = date('Y-m-d H:i:s');
        $dateNow2 = date('Y-m-d');

        $bookingid = $this->param('bookingid');
        $barcode = Input::get('barcode');

        // Cari booking berdasarkan no_invoice
        $booking = Bookings::where('no_invoice', $bookingid)->whereRaw('DATE(arrival_date) = ?', [$dateNow2])->first();

        if ($booking) {
            // Cek apakah barcode file ada di folder bali_tiket/barcode
            $barcodePath = base_path("bali_tiket/barcode/{$barcode}.png");
            if (file_exists($barcodePath)) {
                // Hapus file barcode
                unlink($barcodePath);
            } else {
                // Redirect dengan pesan tiket sudah digunakan
                Flash::error('Ticket has already been used.');
                return redirect('/officer/check-in');
            }

            // Hitung jumlah guest dengan no_invoice yang sama
            $guestCount = Guestlist::where('no_invoice', $bookingid)->count();

            if ($guestCount < $booking->person) {
                // Tambahkan guest ke guestlist
                $query = new Guestlist();
                $query->no_invoice = $booking->no_invoice;
                $query->name = $booking->firstname;
                $query->ticket_id = $booking->ticket_id;
                $query->vendor_id = $booking->vendor_id;
                $query->datetime = $dateNow;

                $query->save();

                // Redirect dengan pesan valid ticket
                Flash::success('Valid ticket.');
                return redirect('/officer/check-in');
            }
        }

        // Redirect dengan pesan unvalid ticket jika kondisi tidak terpenuhi
        Flash::error('Invalid ticket.');
        return redirect('/officer/check-in');
    }

?>
==


{% put scripts %}

{% endput %}";s:5:"mtime";i:1735873030;s:6:"markup";s:33:"{% put scripts %}

{% endput %}";s:4:"code";s:2015:"
	use Yuren\BaliTiket\Models\Bookings;
    use Yuren\BaliTiket\Models\Guestlist;
    use Flash;

    function onStart()
    {
        date_default_timezone_set('Asia/Singapore');
        $dateNow = date('Y-m-d H:i:s');
        $dateNow2 = date('Y-m-d');

        $bookingid = $this->param('bookingid');
        $barcode = Input::get('barcode');

        // Cari booking berdasarkan no_invoice
        $booking = Bookings::where('no_invoice', $bookingid)->whereRaw('DATE(arrival_date) = ?', [$dateNow2])->first();

        if ($booking) {
            // Cek apakah barcode file ada di folder bali_tiket/barcode
            $barcodePath = base_path("bali_tiket/barcode/{$barcode}.png");
            if (file_exists($barcodePath)) {
                // Hapus file barcode
                unlink($barcodePath);
            } else {
                // Redirect dengan pesan tiket sudah digunakan
                Flash::error('Ticket has already been used.');
                return redirect('/officer/check-in');
            }

            // Hitung jumlah guest dengan no_invoice yang sama
            $guestCount = Guestlist::where('no_invoice', $bookingid)->count();

            if ($guestCount < $booking->person) {
                // Tambahkan guest ke guestlist
                $query = new Guestlist();
                $query->no_invoice = $booking->no_invoice;
                $query->name = $booking->firstname;
                $query->ticket_id = $booking->ticket_id;
                $query->vendor_id = $booking->vendor_id;
                $query->datetime = $dateNow;

                $query->save();

                // Redirect dengan pesan valid ticket
                Flash::success('Valid ticket.');
                return redirect('/officer/check-in');
            }
        }

        // Redirect dengan pesan unvalid ticket jika kondisi tidak terpenuhi
        Flash::error('Invalid ticket.');
        return redirect('/officer/check-in');
    }

";s:5:"title";s:13:"Check Barcode";s:3:"url";s:25:"/check-barcode/:bookingid";s:6:"layout";s:10:"BaliTiket2";}}