QRCodeController
extends Controller
in package
Client QR code management controller.
Allows clients to view, download, and print QR codes for their store menu and individual tables.
Tags
Table of Contents
Properties
- $layout : string
- $qrService : QRCodeService
- $tableModel : RestaurantTable
Methods
- __construct() : mixed
- downloadMenu() : void
- Download a menu QR code as PNG.
- downloadStore() : void
- Download a store home QR code as PNG.
- downloadTable() : void
- Download a table QR code as PNG.
- index() : void
- Display the QR code management page.
- printAllTables() : void
- Render a printable page with all table QR codes.
- baseUrl() : string
- Get the base URL for the application.
- buildPagination() : array<string|int, mixed>
- Build pagination metadata for views.
- clearOldInput() : void
- Clear stored old input data.
- flash() : void
- Set a flash message in the session.
- flashOldInput() : void
- Store current POST data as old input for form repopulation.
- getPage() : int
- Get the current page number from the query string.
- json() : void
- Send a JSON response.
- old() : mixed
- Get previous form input after validation failure.
- redirect() : void
- Send an HTTP redirect.
- requirePermission() : void
- Require that the authenticated client user has a specific permission.
- url() : string
- Generate a full URL for a given path.
- view() : void
- Render a view template wrapped in a layout.
- sendPng() : void
- Send a PNG image as a download.
Properties
$layout
protected
string
$layout
= 'client'
Layout for client pages
$qrService
private
QRCodeService
$qrService
$tableModel
private
RestaurantTable
$tableModel
Methods
__construct()
public
__construct() : mixed
downloadMenu()
Download a menu QR code as PNG.
public
downloadMenu() : void
downloadStore()
Download a store home QR code as PNG.
public
downloadStore() : void
downloadTable()
Download a table QR code as PNG.
public
downloadTable(string $id) : void
Parameters
- $id : string
-
Table ID
index()
Display the QR code management page.
public
index() : void
Shows store menu QR and per-table QR codes.
printAllTables()
Render a printable page with all table QR codes.
public
printAllTables() : void
baseUrl()
Get the base URL for the application.
protected
baseUrl() : string
Return values
stringbuildPagination()
Build pagination metadata for views.
protected
buildPagination(int $total, int $page, int $perPage, string $baseUrl) : array<string|int, mixed>
Parameters
- $total : int
-
Total record count
- $page : int
-
Current page number
- $perPage : int
-
Records per page
- $baseUrl : string
-
Base URL path (e.g., "client/orders")
Return values
array<string|int, mixed> —Pagination metadata
clearOldInput()
Clear stored old input data.
protected
clearOldInput() : void
flash()
Set a flash message in the session.
protected
flash(string $key, string $message) : void
Parameters
- $key : string
-
Flash message key (e.g., "success", "error")
- $message : string
-
The message text
flashOldInput()
Store current POST data as old input for form repopulation.
protected
flashOldInput() : void
getPage()
Get the current page number from the query string.
protected
getPage() : int
Return values
int —Page number (minimum 1)
json()
Send a JSON response.
protected
json(mixed $data[, int $status = 200 ]) : void
Parameters
- $data : mixed
-
Data to encode as JSON
- $status : int = 200
-
HTTP status code
old()
Get previous form input after validation failure.
protected
old(string $field[, mixed $default = '' ]) : mixed
Parameters
- $field : string
-
The form field name
- $default : mixed = ''
-
Default value if not found
redirect()
Send an HTTP redirect.
protected
redirect(string $url) : void
Parameters
- $url : string
-
The URL to redirect to
requirePermission()
Require that the authenticated client user has a specific permission.
protected
requirePermission(string $permission) : void
Redirects to the client dashboard with an error flash if denied.
Parameters
- $permission : string
-
Permission key (e.g., 'menu_manage')
url()
Generate a full URL for a given path.
protected
url([string $path = '' ]) : string
Parameters
- $path : string = ''
-
The path to append to the base URL
Return values
stringview()
Render a view template wrapped in a layout.
protected
view(string $template[, array<string|int, mixed> $data = [] ]) : void
Parameters
- $template : string
-
Path to view relative to app/Views/ (e.g., "admin/dashboard")
- $data : array<string|int, mixed> = []
-
Variables to extract into the view scope
sendPng()
Send a PNG image as a download.
private
sendPng(string $data, string $filename) : void
Parameters
- $data : string
-
PNG binary data
- $filename : string
-
Download filename