.php) * --------------------------------------------------------------- * Verwendung im Kapitel: * define('BUCH_SIM', 'tourismustal'); // Ordner für Foto-Slots * require __DIR__ . '/_partials/buch_helpers.php'; * * Stellt bereit: * $MODE 'schueler' | 'leicht' | 'lehrer' (?leicht=1 / ?lehrer=1) * $LEHRER, $LEICHT Bequemlichkeits-Booleans * buchBild($slug, $vorschlag, $unterschrift, $klein) Foto-Slot * g($slug, $label) Glossar-Tooltip * buchNav($links) Kopfzeile mit Modus-Umschalter * * Fotos: echte Bilder unter assets/img/buch//.jpg ablegen — * Platzhalter tauschen sich automatisch aus. Bild-Exporte immer ohne * EXIF/GPS (magick -strip). */ require_once __DIR__ . '/../../php/lib/Session.php'; Session::start(); $IS_TEACHER = (Session::teacherId() !== null); $IS_STUDENT = (Session::studentId() !== null); // Modus je Rolle. Lehrer-Ansicht nur für Lehrpersonen erreichbar. // Buttons: ?schueler=1 / ?leicht=1 / ?lehrer=1. Ohne Parameter: Default je Rolle // (Lehrperson → Lehreransicht, sonst → Schüler:innen). if (isset($_GET['leicht'])) $MODE = 'leicht'; elseif (isset($_GET['lehrer'])) $MODE = 'lehrer'; elseif (isset($_GET['schueler'])) $MODE = 'schueler'; else $MODE = $IS_TEACHER ? 'lehrer' : 'schueler'; if (!$IS_TEACHER && $MODE === 'lehrer') $MODE = 'schueler'; // Sperre für Nicht-Lehrpersonen $LEHRER = ($MODE === 'lehrer'); $LEICHT = ($MODE === 'leicht'); /** Foto-Slot: echtes Bild, sobald es existiert – sonst Platzhalter mit Vorschlag. */ function buchBild(string $slug, string $vorschlag, string $unterschrift = '', bool $klein = false): string { global $bp; $cls = $klein ? 'b-foto b-klein' : 'b-foto'; foreach (['jpg', 'jpeg', 'webp', 'png'] as $ext) { $rel = 'assets/img/buch/' . BUCH_SIM . "/{$slug}.{$ext}"; if (is_file(__DIR__ . '/../../' . $rel)) { $cap = $unterschrift !== '' ? "
{$unterschrift}
" : ''; return "
\""{$cap}
"; } } return "
📷Foto gesucht" . htmlspecialchars($vorschlag) . "assets/img/buch/" . BUCH_SIM . "/{$slug}.jpg
"; } /** Kapitel-Symbol: generiertes Icon-Bild, solange keins da ist das Emoji. */ function buchKapIcon(string $emoji): string { global $bp; $rel = 'assets/img/buch/icon-' . BUCH_SIM . '.webp'; if (is_file(__DIR__ . '/../../' . $rel)) { return ''; } return $emoji; } /** Glossar-Begriff mit Tooltip */ function g(string $slug, string $label): string { return "{$label}"; } /** * Kopfzeile: einheitliches App-Menü (rollenabhängig) + Modus-Umschalter. * Der $links-Parameter wird nicht mehr verwendet (die alten Kapitel-Links — * Modulseite/Simulation/Glossar/Lehrplan — gehören nicht ins Schulbuch); die * Signatur bleibt, damit die Kapitel unverändert `buchNav([...])` aufrufen können. */ function buchNav(array $links = []): void { global $bp, $MODE, $IS_TEACHER, $IS_STUDENT; echo ''; if ($MODE === 'leicht') { echo '
🌱 Dieses Heft ist in Leichter Sprache. Kurze Sätze. Einfache Wörter. Die Bilder und Zahlen sind die gleichen wie im großen Heft.
'; } }