Documentation

Controller_User extends Controller
in package

Kontroler pro správu uživatelských účtů.

Zajišťuje životní cyklus uživatele v aplikaci: od registrace, přes přihlášení, správu profilu až po bezpečné ukončení relace (odhlášení).

Table of Contents

Properties

$model  : Model
$email  : string
$error  : string
$name  : string
$passw  : string
$resetHeslaStage  : int
$surname  : string

Methods

__construct()  : mixed
Konstruktor uživatelského kontroleru.
buildPagination()  : array<string|int, mixed>
Logika pro výpočet a vygenerování pole stránek pro stránkování (pagination).
logOut()  : mixed
Bezpečné odhlášení uživatele.
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.
showHomePage()  : mixed
Zobrazí úvodní stránku aplikace.
showLoginPage()  : mixed
Zobrazí přihlašovací stránku.
showProfilePage()  : mixed
Zobrazí osobní profil přihlášeného uživatele.
showRegistrPage()  : mixed
Zobrazí registrační formulář.
userLogin()  : mixed
Zpracovává pokus o přihlášení.
userRegister()  : mixed
Zpracovává registraci nového uživatele.
preventCache()  : void
Nastaví HTTP hlavičky pro zabránění ukládání obsahu stránky do mezipaměti prohlížeče (cache).

Properties

$model

protected Model $model

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

$email

private string $email

Dočasné úložiště pro údaje z formulářů a chybové stavy

$error

private string $error

Dočasné úložiště pro údaje z formulářů a chybové stavy

$name

private string $name

Dočasné úložiště pro údaje z formulářů a chybové stavy

$passw

private string $passw

Dočasné úložiště pro údaje z formulářů a chybové stavy

$resetHeslaStage

private int $resetHeslaStage

Pomocná proměnná pro řízení stavu zapomenutého hesla

$surname

private string $surname

Dočasné úložiště pro údaje z formulářů a chybové stavy

Methods

__construct()

Konstruktor uživatelského kontroleru.

public __construct(Model $model) : mixed

Inicializuje základní řetězce a nastavuje výchozí fázi resetu.

Parameters
$model : Model

Databázový model aplikace

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

logOut()

Bezpečné odhlášení uživatele.

public logOut() : mixed

Vymaže pole $_SESSION, zneplatní session cookie v prohlížeči, zničí session na straně serveru a odstraní pomocnou cookie s e-mailem.

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

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

showLoginPage()

Zobrazí přihlašovací stránku.

public showLoginPage() : mixed

Zajišťuje resetování stavů pro obnovu hesla a čistí cache prohlížeče.

showProfilePage()

Zobrazí osobní profil přihlášeného uživatele.

public showProfilePage() : mixed

Při každém vstupu resetuje příznak 2FA ověření kódem.

showRegistrPage()

Zobrazí registrační formulář.

public showRegistrPage() : mixed

Pokud je uživatel již přihlášen, automaticky jej přesměruje na profil.

userLogin()

Zpracovává pokus o přihlášení.

public userLogin() : mixed

Po ověření e-mailu a hesla (password_verify) nastartuje session a uloží e-mail do cookie "remember_email" pro pohodlí uživatele.

userRegister()

Zpracovává registraci nového uživatele.

public userRegister() : mixed

Provádí několikastupňovou validaci:

  1. Validita e-mailového formátu.
  2. Síla hesla pomocí regulárního výrazu (Regex).
  3. Shoda hesla s jeho potvrzením.
  4. Unikátnost e-mailu v databázi.

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

        
On this page

Search results