Aus /dolibarr audit Report:
- en_US: 5 fehlende Tab-/Placeholder-Keys ergänzt (Parity 100%)
- LIKE-Wildcard-Escape: %, _ und \\ im User-Input werden maskiert bevor
in LIKE '%..%'-Pattern eingebaut (sonst matched "100%" zu viel)
Betrifft auftraege_listen (Z.75-77) und kunden_suchen (Z.124)
- Rate-Limit: File-basiert nach KB #354 — max. 10 fehlgeschlagene Token-
Checks pro IP in 15 Minuten, dann 429. Bei Erfolg wird Zähler resettet.
Zähler liegen unter DOL_DATA_ROOT/eplan/loginattempts/<sha1(ip)>.json
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
DOL_MAIN_URL_ROOT ist in Docker-Setups oft die interne Container-URL
(z.B. 192.168.155.1:8090), die externe Clients nicht erreichen. Stattdessen
Scheme + Host aus dem aktuellen Request verwenden — genau die URL die der
User gerade im Browser hat, die garantiert auch von außen erreichbar ist.
Zusätzlich Hinweistext unter dem Endpoint wie die URL in der PWA einzutragen
ist (ohne den /custom/…-Suffix).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Das ElektroPlan-Backend spricht nicht mehr die Dolibarr-REST-API an
(API-Key-Flow kaputt, REST-Modul nicht zuverlässig), sondern einen
eigenen NOLOGIN-Endpoint im Eplan-Modul.
- ajax/pwa_api.php: NOLOGIN-Endpoint, Auth via X-Eplan-Token-Header
gegen EPLAN_PWA_SECRET (hash_equals, timing-safe)
Actions: ping, auftraege_listen, auftrag_details, kunden_suchen,
dokument_upload (multipart POST)
- lib/eplan_token.lib.php: Lazy-init Token, Rotation, Verifikation
- admin/setup.php: Token-Feld (readonly, anklickbar zum Markieren),
Endpoint-URL zum Kopieren, Button "Neuen Token erzeugen"
- de/en-Sprachdateien: EplanApiToken* Keys
Muster aus KB #354 (Bericht/Baustelle-PWA).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Module500037Desc/DescLong aus eplan.lang statt hardcodierter deutscher
Strings im Modul-Descriptor
- Rechte-Labels via EplanRightRead/Write/Admin übersetzbar
- QR-Code-Block auf Auftragstab (aus vorheriger Sitzung)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Tab "Aufmaß" auf Auftragskarte: PWA-Link mit Auftrags-Kontext,
Grundriss-Liste (Platzhalter für Backend-Anbindung)
- Tab "Aufmaß" auf Kundenkarte: Aufträge des Kunden mit Aufmaß-Button
- Neue Rechte: read, write, admin
- Konstanten: EPLAN_TAB_ON_ORDER, EPLAN_TAB_ON_THIRDPARTY
- Standard Dolibarr Include-Pattern für Container-Kompatibilität
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>