Files

175 lines
5.8 KiB
PHP
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?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>
<html lang="cs">
<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>
<!-- ============================================================
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Ř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>
<?php if ($auth_prihlasen): ?>
<?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>
</html>