Atlas: Infrastruktur + Team-Konventionen + Sprachregel Lernarbeit

- Design-System (assets/css/design-system.css) mit 21 Komponenten,
  iPad-Responsive-Breakpoints, Touch-Ziele 36px, Music-Player,
  Glossar-Tooltips
- Templates (sims/template.html + student/teacher-Dashboard)
- Docs: module-interface.md (inkl. 4a Sprachregel, 4b Leichte Sprache,
  4c iPad), content-architecture.md, crash-recovery.md, music-registry.md
- Admin-Infrastruktur: admin-modules.html + api/admin-modules.php
  (Titel, Emoji, Bild, Status, Dauer, Alter pro Modul)
- Inbox-System: _inbox/README.md + _status.md fuer Atlas + Briefings
  an Klima, Glossar, Lehrplan, Fluss
- Zentrale SFX-Pipeline (scripts/generate-sounds.py)
- DALL-E-Bilder: 8 Badges + 5 Glossar-Repraesentationsbilder (Querformat)
- Logo + Inter-Font lokal
- PHP-APIs: admin, glossar, levels, licenses, progress, waypoints,
  assignments, profile, tickets
- Spielsprache entfernt (admin-modules, admin-levels, schueler)
- Landing-Page-Bearbeitungen (Boote sichtbarer, Button-Hintergrund)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-19 11:51:14 +02:00
parent 2136bbbe62
commit 9a61f55cb1
134 changed files with 1012826 additions and 690 deletions
+19 -3
View File
@@ -5,9 +5,25 @@
*/
// Umgebungserkennung via Hostname
define('IS_PRODUCTION', isset($_SERVER['HTTP_HOST']) && $_SERVER['HTTP_HOST'] !== 'localhost');
define('BASE_PATH', '/geograsim/App');
define('BASE_URL', (IS_PRODUCTION ? 'https://www.staatsgeheimnis.at' : 'http://localhost') . BASE_PATH);
$host = $_SERVER['HTTP_HOST'] ?? $_SERVER['SERVER_NAME'] ?? 'localhost';
// Docker-Container oder fehlender Host = Production wenn .env.production existiert
$envProdExists = file_exists(dirname(__DIR__, 2) . '/.env.production');
define('IS_PRODUCTION', $host !== 'localhost' || ($envProdExists && !file_exists(dirname(__DIR__, 2) . '/.env.local')));
// BASE_PATH: konfigurierbar per Host
// geograsim.at → /
// staatsgeheimnis.at/geograsim/ → /geograsim
// localhost/geograsim/App/ → /geograsim/App
if (strpos($host, 'geograsim.at') !== false) {
define('BASE_PATH', '');
define('BASE_URL', 'https://geograsim.at');
} elseif (strpos($host, 'staatsgeheimnis.at') !== false) {
define('BASE_PATH', '/geograsim');
define('BASE_URL', 'https://www.staatsgeheimnis.at/geograsim');
} else {
define('BASE_PATH', '/geograsim/App');
define('BASE_URL', 'http://localhost/geograsim/App');
}
define('APP_ROOT', dirname(__DIR__, 2));
// .env laden
+1
View File
@@ -13,6 +13,7 @@ function getDB(): PDO {
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
PDO::ATTR_EMULATE_PREPARES => false,
PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci",
]);
}
return $pdo;