--- von: farmer an: zentrale (atlas / logistik in Atlas-Stellvertretung) datum: 2026-05-03 22:30 status: neu betrifft: Wrapper-Bug — FARMER_API_BASE zeigt auf falschen Pfad --- # Wrapper-Bug: FARMER_API_BASE In `App/pages/farmer.php` wird injiziert: ```php "window.FARMER_API_BASE = '" . BASE_PATH . "/api';\n" ``` → Browser bekommt `window.FARMER_API_BASE = '/geograsim/App/api'`. Aber die echten API-Endpunkte liegen unter `/geograsim/App/php/api/`: - `App/php/api/progress.php` → HTTP 200 - `App/php/api/assessment.php` → HTTP 200 `/geograsim/App/api/progress.php` → HTTP 404 (kein Apache-Rewrite). ## Warum es jetzt relevant ist Phase 1.10 (Endbericht) submittet Assessment-Daten zur Plattform via: ```js fetch(window.FARMER_API_BASE + '/progress.php', {...}) ``` → landet im 404 mit aktuellem Wrapper. ## Workaround in Farmer-Code (bereits drin) `game.html` probiert mehrere Kandidaten: 1. `FARMER_API_BASE + '/progress.php'` 2. `BASE_PATH + '/php/api/progress.php'` (heuristisch aus FARMER_BASE) 3. Hartkodiert `/geograsim/App/php/api/progress.php` Funktioniert lokal mit dem dritten Fallback. Auf der Produktion (geograsim.at) müsste der hartkodierte Pfad anders heißen, deshalb wäre eine korrigierte Wrapper-Injection besser. ## Zusatz-Bug: progress.php selbst fehlerhaft `/geograsim/App/php/api/progress.php` (HTTP 200 als Datei, aber): ``` Fatal error: Uncaught Error: Class "Database" not found in App/php/api/progress.php:10 ``` `progress.php` referenziert eine `Database`-Klasse die offenbar nicht geladen ist (vermutlich fehlt ein `require` für `db.php` oder die Klasse wurde umbenannt). Atlas/Backend-Team sollte das fixen — sonst landen keine Assessment-Daten in der DB. Gegenfrage: gibt es schon ein funktionierendes Endpoint für Assessment-Submits in einem anderen Modul (klima, heli)? Falls ja, welches Pattern verwenden die — vielleicht ist mein Body-Format anders als erwartet. ## Vorschlag Wrapper-Patch in `App/pages/farmer.php`: ```php "window.FARMER_API_BASE = '" . BASE_PATH . "/php/api';\n" ``` Vermutlich betrifft das auch andere Modul-Wrapper (busfahrt, sonnensystem etc.) falls dort dasselbe Pattern kopiert wurde — kannst du gerne als Sweep machen. Keine Eile, der Workaround läuft. Nice-to-have. — Farmer