Tote Code-Pfade entfernt

Entfernt, weil kein Code mehr darauf verwies:

- smarty3/ (Smarty 3.1.6; alle Aufrufer nutzen smarty/ mit 4.5.6)
- incs/tcpdf_old/
- incs/fpdf.php samt FPDF-Schriftmetriken in incs/font/*.php
  und incs/font/makefont/ (nur von sites/makepdf_OLD.php genutzt,
  parste ab PHP 8.0 ohnehin nicht mehr)
- sites/makepdf_OLD.php
- incs/users_old.php
- oldindex.php (nirgends verlinkter Alt-Einstiegspunkt)

Behalten: incs/PHPMailer_v5.1 (wird von sites/projectadd.php genutzt)
und die TTFs in incs/font (werden von stats.php fuer pChart geladen).

CLAUDE.md entsprechend nachgezogen.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-28 17:02:30 +02:00
co-authored by Claude Opus 5
parent dbbc932115
commit 81d3042216
427 changed files with 6 additions and 132805 deletions
+6 -3
View File
@@ -11,7 +11,7 @@ Es gibt **kein** Composer, npm, Build, Linter oder Testsuite. Abhängigkeiten li
Syntaxprüfung der eigenen Dateien:
```bash
for f in $(git ls-files "*.php" | grep -vE "^(incs/(tcpdf|tcpdf_old|pChart|PHPMailer|WebAuthn|drawer|font)|smarty|smarty3|spellcheck|js)/"); do php -l "$f"; done
for f in $(git ls-files "*.php" | grep -vE "^(incs/(tcpdf|pChart|PHPMailer|WebAuthn|drawer|font)|smarty|spellcheck|js)/"); do php -l "$f"; done
```
Zum Ausführen braucht es einen Webserver mit PHP, eine MariaDB/MySQL-Instanz und die externe Konfigurationsdatei (siehe unten). Ohne die Konfiguration springt `index.php` in den Setup-Modus (`update/firststart.php`).
@@ -87,8 +87,9 @@ SQL wird durchgehend per String-Verkettung gebaut. Escaping ist Handarbeit über
## Fallstricke
- **`smarty/` ist Smarty 4.5.6, `smarty3/` ist Smarty 3.1.6.** Die Namen führen in die Irre. Alle 73 einbindenden Dateien nutzen `smarty/libs/`; `smarty3/` ist tot.
- **`incs/fpdf.php` und `sites/makepdf_OLD.php` sind tot** und parsen ab PHP 8.0 nicht mehr (`$s{$i}`-Syntax). Der lebende PDF-Pfad ist `incs/makepdf.php` `incs/tcpdf`. `incs/tcpdf_old` und `incs/users_old.php` sind ebenfalls Altlasten.
- **`smarty/` enthält Smarty 4.5.6** — der schlichte Verzeichnisname sagt nichts über die Version.
- **PHPMailer liegt in zwei Versionen parallel und beide sind aktiv:** `index.php` lädt `incs/PHPMailer_v6` für den Rechnungsversand, `sites/projectadd.php` dagegen `incs/PHPMailer_v5.1`. Keine der beiden ist entfernbar, ohne den jeweiligen Aufrufer umzustellen.
- **`incs/font/` gehört zu pChart, nicht zu TCPDF.** Die TTFs dort werden von `stats.php` für die Diagramme geladen; TCPDF bringt seine Schriften in `incs/tcpdf/fonts/` selbst mit.
- **`index.php` setzt `error_reporting(E_ERROR | E_PARSE)`.** Warnungen und Notices sind unterdrückt, und der Code verlässt sich darauf — nicht ohne Not hochdrehen, sonst überflutet es die Ausgabe.
- **`templates_c/`, `ajax/templates_c/` und `temp/` müssen für den Webserver schreibbar sein.** Sie sind git-ignoriert und nur über `.gitkeep` im Repo vorhanden.
- **`uploads_*/{notes,signs}` enthalten personenbezogene Kundendaten** (Rechnungen, Scans, Unterschriften) und sind bewusst git-ignoriert. Nie committen.
@@ -100,4 +101,6 @@ Klassischer Login plus WebAuthn/FIDO2. Server-Seite: `authServer.php` mit `incs/
## Historie
Am 2026-08-28 wurden tote Pfade entfernt: `smarty3/` (ungenutztes Smarty 3.1.6), `incs/tcpdf_old/`, `incs/fpdf.php` samt FPDF-Schriftmetriken und `incs/font/makefont/`, `sites/makepdf_OLD.php`, `incs/users_old.php` und `oldindex.php`. Auf keines davon verwies noch Code.
Das Repository wurde am 2026-08-28 neu initialisiert. Die mitgelieferte Historie von 2014 war irreparabel beschädigt und wurde verworfen — der erste Commit ist der Ausgangsstand, nicht der Projektbeginn.