Files
geograsim/App/pages/_partials/buch_helpers.php
T
Adminator f282c79a25 Schulbuch komplett: 13 Kapitel, je 3 Versionen (Schüler / Leichte Sprache / Lehrperson)
- Gemeinsame Infrastruktur: assets/css/buch.css + pages/_partials/buch_helpers.php
  (Foto-Slots, Glossar-Tooltips, Nav mit 3-Modi-Umschalter ?leicht=1/?lehrer=1)
- Neu: Leichte-Sprache-Version in jedem Kapitel (inklusiver Unterricht):
  kurze Sätze, eine Aussage pro Zeile, Bindestrich-Komposita, einspaltig, größere Schrift
- 12 neue Kapitel: tourismusregion, kofferdetektiv (Themenfeld Reise/Transport/
  Flugverkehr/Nachhaltigkeit), busfahrt, logistik (Alpentransit), weltkueche, farmer,
  klima (2D+3D), fluss (Alpenrhein/Rhesi), energiemanager (Illwerke), heli, sonnensystem,
  eu-werkstatt — alle mit verifizierten Quellen, echten Sim-Mechanik-Kästen,
  D-A-CH-Lehrplan-Chips und 7 Foto-Slots mit konkreten Vorschlägen
- Pilot tourismustal: geschichte-1948 halb so groß (b-klein), Spielsprache-Fixes
- buch.php: 13 Kapitel, Status automatisch aus Dateiexistenz

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-14 17:12:19 +02:00

66 lines
3.2 KiB
PHP
Raw 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
/**
* Schulbuch — gemeinsame Helfer für alle Kapitel (buch-<sim>.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/<BUCH_SIM>/<slug>.jpg ablegen —
* Platzhalter tauschen sich automatisch aus. Bild-Exporte immer ohne
* EXIF/GPS (magick -strip).
*/
$MODE = 'schueler';
if (isset($_GET['lehrer']) && $_GET['lehrer'] === '1') $MODE = 'lehrer';
if (isset($_GET['leicht']) && $_GET['leicht'] === '1') $MODE = 'leicht';
$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 !== '' ? "<figcaption>{$unterschrift}</figcaption>" : '';
return "<figure class=\"{$cls}\"><img src=\"{$bp}/{$rel}\" alt=\"" . htmlspecialchars($unterschrift ?: $slug) . "\" loading=\"lazy\">{$cap}</figure>";
}
}
return "<div class=\"b-foto-platzhalter\"><span>📷</span><b>Foto gesucht</b><small>" . htmlspecialchars($vorschlag) . "</small><code>assets/img/buch/" . BUCH_SIM . "/{$slug}.jpg</code></div>";
}
/** Glossar-Begriff mit Tooltip */
function g(string $slug, string $label): string {
return "<span class=\"ggs-g\" data-glossar=\"{$slug}\">{$label}</span>";
}
/**
* Kopfzeile: Links + Modus-Umschalter.
* $links: Array [Label => href-relativ-zu-BASE_PATH], z. B.
* ['Modulseite' => 'modul-tourismustal', '🎮 Simulation starten' => 'tourismustal', ...]
*/
function buchNav(array $links): void {
global $bp, $MODE;
echo '<nav class="b-nav"><a href="' . $bp . '/buch">📖 Schulbuch</a>';
foreach ($links as $label => $href) {
echo ' · <a href="' . $bp . '/' . $href . '">' . $label . '</a>';
}
echo '<span class="spacer"></span>';
echo '<a class="b-mode ' . ($MODE === 'schueler' ? 'active' : '') . '" href="?">👩‍🎓 Schüler:innen</a>';
echo '<a class="b-mode ' . ($MODE === 'leicht' ? 'active' : '') . '" href="?leicht=1">🌱 Leichte Sprache</a>';
echo '<a class="b-mode ' . ($MODE === 'lehrer' ? 'active' : '') . '" href="?lehrer=1">👩‍🏫 Lehrperson</a>';
echo '</nav>';
if ($MODE === 'leicht') {
echo '<div class="b-leicht-hinweis">🌱 Dieses Heft ist in <b>Leichter Sprache</b>. Kurze Sätze. Einfache Wörter. Die Bilder und Zahlen sind die gleichen wie im großen Heft.</div>';
}
}