Controller_Admin
extends Controller
in package
Kontroler pro administrátorskou sekci.
Zajišťuje správu uživatelů, jejich prohlížení, editaci a mazání. Všechny metody obsahují kontrolu role, aby k datům měli přístup pouze administrátoři.
Table of Contents
Properties
- $model : Model
- $current_page : int
- $error : string
- $pagination : array<string|int, mixed>
- $result : array<string|int, mixed>
- $result_user : array<string|int, mixed>
- $total_pages : int
Methods
- __construct() : mixed
- Konstruktor administrátorského kontroleru.
- buildPagination() : array<string|int, mixed>
- Logika pro výpočet a vygenerování pole stránek pro stránkování (pagination).
- manageUser() : mixed
- Zpracovává požadavky na úpravu nebo smazání uživatele z formuláře (metoda POST).
- 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.
- showAllUsers() : void
- Zobrazí seznam všech registrovaných uživatelů s podporou stránkování.
- showHomePage() : mixed
- Zobrazí úvodní stránku aplikace.
- showUser() : void
- Zobrazí detail konkrétního uživatele na základě jeho ID.
- 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
$current_page
private
int
$current_page
Proměnné pro řízení stavu stránkování
$error
private
string
$error
Text chybové hlášky pro zobrazení ve view
$pagination
private
array<string|int, mixed>
$pagination
Pole pro ukládání výsledků z DB (seznamy uživatelů, detaily uživatele, stránkování)
$result
private
array<string|int, mixed>
$result
Pole pro ukládání výsledků z DB (seznamy uživatelů, detaily uživatele, stránkování)
$result_user
private
array<string|int, mixed>
$result_user
Pole pro ukládání výsledků z DB (seznamy uživatelů, detaily uživatele, stránkování)
$total_pages
private
int
$total_pages
Proměnné pro řízení stavu stránkování
Methods
__construct()
Konstruktor administrátorského kontroleru.
public
__construct(mixed $model) : mixed
Inicializuje výchozí hodnoty a volá konstruktor rodiče pro nastavení modelu.
- @param Model $model Instance databázového modelu
Parameters
- $model : mixed
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
manageUser()
Zpracovává požadavky na úpravu nebo smazání uživatele z formuláře (metoda POST).
public
manageUser() : mixed
Obsahuje logiku pro ošetření vstupů (trim) a rozlišení akce podle stisknutého tlačítka.
- @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
showAllUsers()
Zobrazí seznam všech registrovaných uživatelů s podporou stránkování.
public
showAllUsers([mixed $page = 1 ]) : void
Provádí validaci přihlášení a kontrolu administrátorské role.
- @param int $page Číslo aktuální stránky (výchozí je 1)
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
showUser()
Zobrazí detail konkrétního uživatele na základě jeho ID.
public
showUser(mixed $user_id) : void
- @param int|string $user_id Unikátní identifikátor uživatele
Parameters
- $user_id : mixed
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