Documentation

Controller_Garage extends Controller
in package

Kontroler zajišťující správu virtuální garáže uživatele i administrátora.

Obsahuje kompletní logiku pro CRUD operace nad vozidly, správu fotografií a validaci technických parametrů (VIN, SPZ).

Table of Contents

Properties

$model  : Model
$current_page  : int
$error  : string
$pagination  : array<string|int, mixed>
$result  : array<string|int, mixed>
$result_vehicle  : array<string|int, mixed>
$total_pages  : int

Methods

__construct()  : mixed
Konstruktor kontroleru.
addNewVehicle()  : mixed
Zpracovává požadavek na přidání nového vozidla.
buildPagination()  : array<string|int, mixed>
Logika pro výpočet a vygenerování pole stránek pro stránkování (pagination).
manageVehicle()  : mixed
Zajišťuje editaci nebo smazání vozidla.
sessionLoginStart()  : void
Nastaví klíčové údaje o uživateli do globální proměnné $_SESSION po úspěšném přihlášení.
sessionStatus()  : mixed
Zkontroluje a v případě potřeby zahájí PHP session.
showAllVehicles()  : void
Zobrazí seznam všech dostupných vozidel.
showHomePage()  : mixed
Zobrazí úvodní stránku aplikace.
showNewVehliclePage()  : mixed
Zobrazí formulář pro přidání nového vozidla.
showVehicle()  : void
Zobrazí detail konkrétního vozidla na základě jeho ID.
vehiclePhoto()  : string|null
Obsluhuje nahrávání fotografií na server.
preventCache()  : void
Nastaví HTTP hlavičky pro zabránění ukládání obsahu stránky do mezipaměti prohlížeče (cache).
validateVehicleData()  : bool
Pomocná metoda pro serverovou validaci dat vozidla.

Properties

$model

protected Model $model

Instance databázového modelu pro přístup k datům

$current_page

private int $current_page

Proměnné pro řízení stavu a výpočtu stránkování

$pagination

private array<string|int, mixed> $pagination

Pole pro uložení výsledků z DB (seznamy, detail vozidla, metadata stránkování)

$result

private array<string|int, mixed> $result

Pole pro uložení výsledků z DB (seznamy, detail vozidla, metadata stránkování)

$result_vehicle

private array<string|int, mixed> $result_vehicle

Pole pro uložení výsledků z DB (seznamy, detail vozidla, metadata stránkování)

$total_pages

private int $total_pages

Proměnné pro řízení stavu a výpočtu stránkování

Methods

__construct()

Konstruktor kontroleru.

public __construct(mixed $model) : mixed

Inicializuje výchozí strukturu dat a volá konstruktor rodiče pro nastavení modelu.

  • @param Model $model Instance třídy Model
Parameters
$model : mixed

addNewVehicle()

Zpracovává požadavek na přidání nového vozidla.

public addNewVehicle() : mixed

Provádí validaci, kontrolu duplicity SPZ a nahrání fotografie.

  • @return void

buildPagination()

Logika pro výpočet a vygenerování pole stránek pro stránkování (pagination).

public buildPagination(int $current, int $total) : array<string|int, mixed>

Zajišťuje, aby se v navigaci zobrazoval správný rozsah stránek kolem aktuální pozice.

  • @param int $current Aktuální číslo stránky, na které se uživatel nachází
Parameters
$current : int
$total : int

Celkový počet dostupných stránek

Return values
array<string|int, mixed>

Pole obsahující strukturu stránek pro vykreslení ve view

manageVehicle()

Zajišťuje editaci nebo smazání vozidla.

public manageVehicle() : mixed

Spravuje fyzické soubory fotografií při smazání nebo aktualizaci záznamu.

  • @return void

sessionLoginStart()

Nastaví klíčové údaje o uživateli do globální proměnné $_SESSION po úspěšném přihlášení.

public sessionLoginStart(mixed $id, string $email, string $name, string $surname, string $role) : void

Inicializuje také pomocné proměnné pro procesy ověřování a profilu.

  • @param int $id Unikátní ID uživatele z databáze
Parameters
$id : mixed
$email : string

Přihlašovací e-mail

$name : string

Jméno uživatele

$surname : string

Příjmení uživatele

$role : string

Role uživatele (admin / uživatel)

sessionStatus()

Zkontroluje a v případě potřeby zahájí PHP session.

public sessionStatus() : mixed

Brání chybám typu "headers already sent" kontrolou stavu PHP_SESSION_NONE.

  • @return void

showAllVehicles()

Zobrazí seznam všech dostupných vozidel.

public showAllVehicles([mixed $page = 1 ]) : void

U běžného uživatele filtruje pouze jeho auta, admin vidí všechna vozidla v systému.

  • @param int $page Číslo aktuální stránky pro výpočet offsetu
Parameters
$page : mixed = 1

showHomePage()

Zobrazí úvodní stránku aplikace.

public showHomePage() : mixed

Pokud je uživatel již přihlášen, automaticky ho přesměruje na jeho profil. Zároveň čistí dočasné proměnné z procesu resetování hesla.

  • @return void

showNewVehliclePage()

Zobrazí formulář pro přidání nového vozidla.

public showNewVehliclePage() : mixed
  • @return void

showVehicle()

Zobrazí detail konkrétního vozidla na základě jeho ID.

public showVehicle(mixed $vehicle_id) : void

Provádí autorizaci vlastnictví nebo kontrolu admin role.

  • @param int|string $vehicle_id ID vozidla
Parameters
$vehicle_id : mixed

vehiclePhoto()

Obsluhuje nahrávání fotografií na server.

public vehiclePhoto(mixed $oldPhotoPath) : string|null

Kontroluje MIME typy, přípony a ošetřuje název souboru.

  • @param string|null $oldPhotoPath Cesta ke staré fotce pro její odstranění
Parameters
$oldPhotoPath : mixed
Return values
string|null

Relativní cesta k nové fotce nebo null

preventCache()

Nastaví HTTP hlavičky pro zabránění ukládání obsahu stránky do mezipaměti prohlížeče (cache).

protected preventCache() : void

Důležité pro stránky s citlivými údaji po odhlášení.

  • @return void

validateVehicleData()

Pomocná metoda pro serverovou validaci dat vozidla.

private validateVehicleData(string $spz, string $vin) : bool

Kontroluje délku SPZ a parametry VIN (přesně 17 znaků, zákaz I, O, Q).

  • @param string $spz Registrační značka
Parameters
$spz : string
$vin : string

Identifikační číslo vozidla

Return values
bool

True pokud jsou data validní


        
On this page

Search results