[auth] $auth_logout_html – přidán odkaz na admin rozhraní pro admina
This commit is contained in:
+18
-4
@@ -14,7 +14,8 @@
|
|||||||
// $auth_uzivatel['email'] ... email přihlášeného uživatele (nebo null)
|
// $auth_uzivatel['email'] ... email přihlášeného uživatele (nebo null)
|
||||||
// $auth_uzivatel['admin'] ... true / false (vždy nastaveno)
|
// $auth_uzivatel['admin'] ... true / false (vždy nastaveno)
|
||||||
//
|
//
|
||||||
// $auth_logout_html ... HTML formulář s tlačítkem "Odhlásit se"
|
// $auth_logout_html ... HTML s tlačítkem "Odhlásit se"
|
||||||
|
// a (pro admina) odkazem na admin rozhraní.
|
||||||
// Neprázdný pouze pokud je uživatel přihlášen.
|
// Neprázdný pouze pokud je uživatel přihlášen.
|
||||||
// Použití: echo $auth_logout_html;
|
// Použití: echo $auth_logout_html;
|
||||||
//
|
//
|
||||||
@@ -271,7 +272,6 @@ if (!$auth_prihlasen && VYZADOVAT_PRIHLASENI) {
|
|||||||
// ------------------------------------------------------------
|
// ------------------------------------------------------------
|
||||||
// CSRF TOKEN – zajistíme, že vždy existuje
|
// CSRF TOKEN – zajistíme, že vždy existuje
|
||||||
// ------------------------------------------------------------
|
// ------------------------------------------------------------
|
||||||
// Je potřebný pro oba HTML formuláře níže.
|
|
||||||
|
|
||||||
if (empty($_SESSION['csrf_token'])) {
|
if (empty($_SESSION['csrf_token'])) {
|
||||||
$_SESSION['csrf_token'] = bin2hex(random_bytes(32));
|
$_SESSION['csrf_token'] = bin2hex(random_bytes(32));
|
||||||
@@ -283,11 +283,25 @@ if (empty($_SESSION['csrf_token'])) {
|
|||||||
|
|
||||||
// -- Odhlašovací formulář ------------------------------------
|
// -- Odhlašovací formulář ------------------------------------
|
||||||
// Neprázdný pouze pokud je uživatel přihlášen.
|
// Neprázdný pouze pokud je uživatel přihlášen.
|
||||||
|
// Pro admina obsahuje navíc odkaz na administrační rozhraní.
|
||||||
// Použití na stránce: echo $auth_logout_html;
|
// Použití na stránce: echo $auth_logout_html;
|
||||||
|
|
||||||
if ($auth_prihlasen) {
|
if ($auth_prihlasen) {
|
||||||
$auth_logout_html =
|
|
||||||
'<form method="POST" action="' . htmlspecialchars(AUTH_LOGOUT_URL) . '">'
|
$auth_logout_html = '';
|
||||||
|
|
||||||
|
// Odkaz na admin rozhraní – pouze pro admina
|
||||||
|
if ($auth_uzivatel['admin']) {
|
||||||
|
$auth_logout_html .=
|
||||||
|
'<a href="' . htmlspecialchars(AUTH_ADMIN_URL) . '">Administrace</a> | ';
|
||||||
|
}
|
||||||
|
|
||||||
|
// Přihlášený uživatel a tlačítko odhlášení
|
||||||
|
$auth_logout_html .=
|
||||||
|
htmlspecialchars($auth_uzivatel['email'])
|
||||||
|
. ' | '
|
||||||
|
. '<form method="POST" action="' . htmlspecialchars(AUTH_LOGOUT_URL) . '"'
|
||||||
|
. ' style="display:inline;">'
|
||||||
. '<input type="hidden" name="csrf_token" value="'
|
. '<input type="hidden" name="csrf_token" value="'
|
||||||
. htmlspecialchars($_SESSION['csrf_token']) . '">'
|
. htmlspecialchars($_SESSION['csrf_token']) . '">'
|
||||||
. '<button type="submit">Odhlásit se</button>'
|
. '<button type="submit">Odhlásit se</button>'
|
||||||
|
|||||||
Reference in New Issue
Block a user