Model
in package
Třída Model zajišťuje veškerou komunikaci s MySQL databází.
Využívá knihovnu PDO pro bezpečnou práci s daty a prevenci SQL Injection.
Table of Contents
Properties
- $db : PDO
Methods
- __construct() : mixed
- Konstruktor modelu.
- addVehlicle() : mixed
- Vloží nové vozidlo do databáze.
- admin_countUsers() : mixed
- Vrátí celkový počet uživatelů v systému.
- admin_deleteUser() : mixed
- Smaže uživatele z tabulky uzivatel (voláno adminem).
- admin_getUserInfo() : mixed
- Načte profil uživatele podle ID (pro administrátora).
- admin_listUsers() : mixed
- Načte seznam uživatelů pro admina s výjimkou konkrétní role a se stránkováním.
- admin_listVehicles() : mixed
- Administrátorský výpis všech vozidel napříč uživateli.
- admin_updateUser() : mixed
- Aktualizuje údaje uživatele (pro administrátora).
- admin_updateVehicle() : mixed
- Administrátorská aktualizace všech polí vozidla.
- countVehicles() : mixed
- Vrátí celkový počet vozidel daného uživatele (potřebné pro stránkování).
- deleteUser() : mixed
- Smaže uživatele a jeho heslo (kaskádové smazání dat).
- deleteVehicle() : mixed
- Odstraní vozidlo podle SPZ.
- emailCheck() : array<string|int, mixed>|false
- Ověří existenci e-mailu v tabulce uživatelů.
- getServiceHistory() : mixed
- Načte historii servisu pro konkrétní vozidlo seřazenou od nejnovější po nejstarší.
- getVehicleInfo() : mixed
- Načte kompletní informace o jednom vozidle podle ID.
- listVehicles() : mixed
- Načte seznam vozidel pro konkrétního uživatele se stránkováním.
- passwCheck() : mixed
- Načte hash hesla a základní údaje uživatele na základě e-mailu.
- spzCheck() : mixed
- Zkontroluje, zda již v databázi neexistuje vozidlo se stejnou SPZ.
- updatePassw() : mixed
- Aktualizuje hash hesla pro daného uživatele.
- updateVehicle() : mixed
- Aktualizuje údaje vozidla (vlastní jméno a fotku) uživatelem.
- userCheck() : mixed
- Alias pro emailCheck, používaný pro ověření uživatele.
- userRegister() : mixed
- Provede registraci nového uživatele.
- whomVehicleBelongs() : mixed
- Ověří, kterému e-mailu patří dané vozidlo.
Properties
$db
private
PDO
$db
Instance objektu pro připojení k databázi
Methods
__construct()
Konstruktor modelu.
public
__construct() : mixed
Vytváří nové připojení k databázi a nastavuje režim vyhazování výjimek při chybách.
addVehlicle()
Vloží nové vozidlo do databáze.
public
addVehlicle(mixed $user_email, mixed $ownName, mixed $vehicleName, mixed $spz, mixed $stk, mixed $vin, mixed $foto) : mixed
Parameters
- $user_email : mixed
- $ownName : mixed
- $vehicleName : mixed
- $spz : mixed
- $stk : mixed
- $vin : mixed
- $foto : mixed
admin_countUsers()
Vrátí celkový počet uživatelů v systému.
public
admin_countUsers() : mixed
admin_deleteUser()
Smaže uživatele z tabulky uzivatel (voláno adminem).
public
admin_deleteUser(mixed $user_id) : mixed
Parameters
- $user_id : mixed
admin_getUserInfo()
Načte profil uživatele podle ID (pro administrátora).
public
admin_getUserInfo(mixed $user_id) : mixed
Parameters
- $user_id : mixed
admin_listUsers()
Načte seznam uživatelů pro admina s výjimkou konkrétní role a se stránkováním.
public
admin_listUsers(mixed $offset, mixed $except) : mixed
Parameters
- $offset : mixed
- $except : mixed
admin_listVehicles()
Administrátorský výpis všech vozidel napříč uživateli.
public
admin_listVehicles(mixed $offset) : mixed
Parameters
- $offset : mixed
admin_updateUser()
Aktualizuje údaje uživatele (pro administrátora).
public
admin_updateUser(mixed $name, mixed $surame, mixed $role, mixed $id) : mixed
Parameters
- $name : mixed
- $surame : mixed
- $role : mixed
- $id : mixed
admin_updateVehicle()
Administrátorská aktualizace všech polí vozidla.
public
admin_updateVehicle(mixed $ownName, mixed $vehicleName, mixed $spz, mixed $stk, mixed $vin, mixed $foto, mixed $id) : mixed
Parameters
- $ownName : mixed
- $vehicleName : mixed
- $spz : mixed
- $stk : mixed
- $vin : mixed
- $foto : mixed
- $id : mixed
countVehicles()
Vrátí celkový počet vozidel daného uživatele (potřebné pro stránkování).
public
countVehicles(mixed $email) : mixed
Parameters
- $email : mixed
deleteUser()
Smaže uživatele a jeho heslo (kaskádové smazání dat).
public
deleteUser(mixed $user_id) : mixed
Parameters
- $user_id : mixed
deleteVehicle()
Odstraní vozidlo podle SPZ.
public
deleteVehicle(mixed $vehicle_spz) : mixed
Parameters
- $vehicle_spz : mixed
emailCheck()
Ověří existenci e-mailu v tabulce uživatelů.
public
emailCheck(string $email) : array<string|int, mixed>|false
Parameters
- $email : string
Return values
array<string|int, mixed>|falsegetServiceHistory()
Načte historii servisu pro konkrétní vozidlo seřazenou od nejnovější po nejstarší.
public
getServiceHistory(mixed $vozidlo_id) : mixed
Parameters
- $vozidlo_id : mixed
getVehicleInfo()
Načte kompletní informace o jednom vozidle podle ID.
public
getVehicleInfo(mixed $vehicle_id) : mixed
Parameters
- $vehicle_id : mixed
listVehicles()
Načte seznam vozidel pro konkrétního uživatele se stránkováním.
public
listVehicles(mixed $user_email, mixed $offset) : mixed
Parameters
- $user_email : mixed
- $offset : mixed
passwCheck()
Načte hash hesla a základní údaje uživatele na základě e-mailu.
public
passwCheck(mixed $email) : mixed
Používá JOIN pro propojení tabulek heslo a uzivatel.
Parameters
- $email : mixed
spzCheck()
Zkontroluje, zda již v databázi neexistuje vozidlo se stejnou SPZ.
public
spzCheck(mixed $spz) : mixed
Parameters
- $spz : mixed
updatePassw()
Aktualizuje hash hesla pro daného uživatele.
public
updatePassw(mixed $new_passw, mixed $user_id) : mixed
Parameters
- $new_passw : mixed
- $user_id : mixed
updateVehicle()
Aktualizuje údaje vozidla (vlastní jméno a fotku) uživatelem.
public
updateVehicle(mixed $ownName, mixed $foto, mixed $spz) : mixed
Parameters
- $ownName : mixed
- $foto : mixed
- $spz : mixed
userCheck()
Alias pro emailCheck, používaný pro ověření uživatele.
public
userCheck(mixed $email) : mixed
Parameters
- $email : mixed
userRegister()
Provede registraci nového uživatele.
public
userRegister(mixed $name, mixed $surname, mixed $email, mixed $heslo, mixed $role) : mixed
Rozděleno do dvou fází: vložení základních údajů a následně hesla do samostatné tabulky.
Parameters
- $name : mixed
- $surname : mixed
- $email : mixed
- $heslo : mixed
- $role : mixed
whomVehicleBelongs()
Ověří, kterému e-mailu patří dané vozidlo.
public
whomVehicleBelongs(mixed $vehicle_id) : mixed
Parameters
- $vehicle_id : mixed