[ui] Přidána ukázková stránka s veřejným i chráněným obsahem (soubor index.php)

This commit is contained in:
stepan
2026-03-18 16:50:18 +01:00
parent cc4cd26a1e
commit 19c92c552d
+164 -10
View File
@@ -1,21 +1,175 @@
<?php require_once 'auth/auth.php'; ?> <?php
// ============================================================
// UKÁZKOVÁ STRÁNKA S CHRÁNĚNÝM OBSAHEM
// ============================================================
// Demonstruje použití auth systému s VYZADOVAT_PRIHLASENI = false.
// Stránka je dostupná všem, ale zobrazuje různý obsah podle
// toho, zda je uživatel přihlášen nebo ne.
//
// Předpoklad: v auth/config.php je nastaveno:
// define('VYZADOVAT_PRIHLASENI', false);
// ============================================================
require_once 'auth/auth.php';
// $auth_prihlasen, $auth_uzivatel, $auth_logout_html, $auth_login_html
// jsou nyní k dispozici díky auth.php
?>
<!DOCTYPE html> <!DOCTYPE html>
<html lang="cs"> <html lang="cs">
<head><meta charset="UTF-8"><title>Ukázka</title></head> <head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Ukázková stránka <?php echo htmlspecialchars(PROJEKT_NAZEV); ?></title>
<?php if (AUTH_CSS !== ''): ?>
<link rel="stylesheet" href="<?php echo htmlspecialchars(AUTH_CSS); ?>">
<?php endif; ?>
</head>
<body> <body>
<?php if ($auth_prihlasen): ?> <!-- ============================================================
HLAVIČKA zobrazena vždy
============================================================ -->
<header>
<hr>
<h1><?php echo htmlspecialchars(PROJEKT_NAZEV); ?></h1>
<!-- Sem můžeš vložit obrázkové logo, např.: -->
<!-- <img src="/img/logo.png" alt="Logo"> -->
<hr>
</header>
<p>Přihlášen: <strong><?php echo htmlspecialchars($auth_uzivatel['email']); ?></strong></p>
<?php echo $auth_logout_html; ?>
<p>Toto vidí pouze přihlášený uživatel.</p>
<?php else: ?> <!-- ============================================================
PŘIHLAŠOVACÍ BADGE
Nepřihlášeným: formulář (email, heslo, zapamatovat, odeslat)
+ odkaz na registraci (pokud povolena)
+ odkaz na zapomenuté heslo
Přihlášeným: email uživatele + tlačítko odhlášení
+ odkaz na administraci (pouze pro admina)
============================================================ -->
<section>
<h2>Přihlášení</h2>
<p>Pro zobrazení obsahu se přihlas:</p> <?php if ($auth_prihlasen): ?>
<?php echo $auth_login_html; ?>
<?php endif; ?> <?php
// Pro přihlášené zobrazíme $auth_logout_html, který obsahuje:
// - odkaz na administraci (pouze pro adminy)
// - email přihlášeného uživatele
// - tlačítko odhlášení
// Vše je sestaveno v auth.php
echo $auth_logout_html;
?>
<?php else: ?>
<?php
// Pro nepřihlášené zobrazíme $auth_login_html, který obsahuje:
// - pole pro email a heslo
// - checkbox "zapamatovat si mě"
// - tlačítko odeslat
// - skrytý CSRF token a redirect URL
// Formulář odesílá data na login.php, které nás po
// přihlášení přesměruje zpět sem
echo $auth_login_html;
?>
<?php if (REGISTRACE_OTEVRENA): ?>
<p><a href="<?php echo htmlspecialchars(AUTH_REGISTRACE_URL); ?>">Nemáš účet? Zaregistruj se.</a></p>
<?php endif; ?>
<p><a href="<?php echo htmlspecialchars(AUTH_RESET_URL); ?>">Zapomenuté heslo</a></p>
<?php endif; ?>
</section>
<hr>
<!-- ============================================================
NAVIGACE dvě varianty podle stavu přihlášení
============================================================ -->
<nav>
<?php if ($auth_prihlasen): ?>
<p>Navigace pro přihlášené uživatele:</p>
<ul>
<li><a href="#">Můj profil</a></li>
<li><a href="#">Moje nastavení</a></li>
<li><a href="#">Chráněná sekce A</a></li>
<li><a href="#">Chráněná sekce B</a></li>
<?php if ($auth_uzivatel['admin']): ?>
<li><a href="<?php echo htmlspecialchars(AUTH_ADMIN_URL); ?>">Administrace</a></li>
<?php endif; ?>
</ul>
<?php else: ?>
<p>Navigace pro nepřihlášené návštěvníky:</p>
<ul>
<li><a href="#">Úvod</a></li>
<li><a href="#">O projektu</a></li>
<li><a href="#">Veřejná sekce</a></li>
<?php if (REGISTRACE_OTEVRENA): ?>
<li><a href="<?php echo htmlspecialchars(AUTH_REGISTRACE_URL); ?>">Registrace</a></li>
<?php endif; ?>
</ul>
<?php endif; ?>
</nav>
<hr>
<!-- ============================================================
OBSAH STRÁNKY stránka sama rozhoduje co zobrazit
============================================================ -->
<main>
<?php if ($auth_prihlasen): ?>
<!-- Obsah pro přihlášené uživatele -->
<h2>Vítej, <?php echo htmlspecialchars($auth_uzivatel['email']); ?>!</h2>
<p>Toto je chráněný obsah, který vidí pouze přihlášení uživatelé.</p>
<p>Tvoje údaje z auth systému:
<ul>
<li>ID: <?php echo htmlspecialchars($auth_uzivatel['id']); ?></li>
<li>Email: <?php echo htmlspecialchars($auth_uzivatel['email']); ?></li>
<li>Admin: <?php echo $auth_uzivatel['admin'] ? 'ANO' : 'ne'; ?></li>
</ul>
</p>
<?php if ($auth_uzivatel['admin']): ?>
<p>Vidíš toto, protože jsi admin. <a href="<?php echo htmlspecialchars(AUTH_ADMIN_URL); ?>">Přejít do administrace.</a></p>
<?php endif; ?>
<?php else: ?>
<!-- Obsah pro nepřihlášené návštěvníky -->
<h2>Vítej na ukázkové stránce</h2>
<p>Toto je veřejný obsah, který vidí každý návštěvník.</p>
<p>Pro zobrazení chráněného obsahu se přihlas pomocí formuláře výše.</p>
<?php endif; ?>
</main>
<hr>
<!-- ============================================================
PATIČKA zobrazena vždy
============================================================ -->
<footer>
<p><?php echo htmlspecialchars(PROJEKT_NAZEV); ?>
<a href="<?php echo htmlspecialchars(PROJEKT_URL); ?>"><?php echo htmlspecialchars(PROJEKT_URL); ?></a></p>
<hr>
</footer>
</body> </body>
</html> </html>