Files
Workshop-Wahlen/README.md
Linus Maximilian Nilson 21553050f8
Some checks failed
Deploy Workshop-Wahlen (DEV / PROD) / deploy (push) Failing after 2m30s
Update README.md
2026-02-19 08:43:37 +00:00

51 lines
2.8 KiB
Markdown
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.
# Workshop-Wahlen
## Überblick
Dieses WordPress-Plugin ermöglicht die Verwaltung und Durchführung von Workshop-Wahlen für Konfi-Castle-Events. Es bietet ein vollständiges Backend für Admins (Wahlen, Workshops, Teilnehmer, Teamer, Zuteilungen) und ein Frontend-Formular für Teilnehmer.
## Architektur & Hauptkomponenten
- **Haupt-Plugin-Datei:** `konficastle-workshopwahl.php` Registriert Hooks, lädt Assets, initialisiert Admin-Menüs.
- **Backend-Module (im `includes/`-Verzeichnis):**
- `admin-wahlen.php`, `admin-workshops.php`, `admin-teilnehmer.php`, `admin-teamer.php`, `admin-zuteilungen.php`, `admin-data.php`, `force-zuteilung.php`: Jeweils eigene Admin-Seiten für die Verwaltung der zugehörigen Entitäten.
- `zuteilungslogik.php`: Kernlogik für die automatische Zuteilung von Teilnehmern zu Workshops (inkl. Force-Zuteilungen und Kapazitätsprüfung).
- **Frontend:**
- `frontend-form.php`: Shortcode `[konficastle_workshopwahl wahl=ID]` für das Teilnehmer-Formular.
- `frontend-ergebnis.php`: Shortcode `[konficastle_workshop_ergebnis wahl=ID]` für Ergebnisanzeige.
- **Styles & Assets:**
- `assets/`: Enthält CSS für Admin und Frontend.
## Datenbank & Installation
- Tabellen werden über `install.php` beim Aktivieren angelegt (z.B. `kc_wahlen`, `kc_workshops`, `kc_teilnehmer`, `kc_zuteilung`, ...).
- Tabellenpräfix wird dynamisch über `$wpdb->prefix` verwendet.
## Entwickler-Workflows
- **Testdaten:** Über die Admin-Seite "Datenverwaltung" (`admin-data.php`) können Testdaten generiert werden (nur User ID 1).
- **CSV-Export:** Zuteilungen können über die Admin-Seite exportiert werden (`admin-zuteilungen.php`).
- **Zuteilungslogik:** Anpassungen an der Kernlogik erfolgen in `zuteilungslogik.php`.
- **Shortcodes:**
- `[konficastle_workshopwahl wahl=ID]` Teilnehmer-Frontend
- `[konficastle_workshop_ergebnis wahl=ID]` Ergebnisanzeige
## Besondere Konventionen & Hinweise
- **Namensschema:** Alle Plugin-Funktionen und Tabellen sind mit `kc_` (Konfi-Castle) prefixiert.
- **Admin-Tabs:** Navigation zwischen Admin-Seiten über `kc_admin_tabs()`.
- **Force-Zuteilungen:** Manuelle Zuweisungen haben Vorrang vor automatischer Logik.
- **Teamer-Passwort:** Verwaltung über eigene Admin-Seite, Passwort-Hash in WP-Optionen.
- **Frontend-Validierung:** Erfolgt serverseitig, keine komplexe JS-Logik im Frontend.
## Einstiegspunkte & Beispiele
- **Admin-Menüstruktur:** Siehe `konficastle-workshopwahl.php` und `includes/admin-wahlen.php`.
- **Zuteilungslogik:** Siehe `includes/zuteilungslogik.php` (Funktionen wie `kc_run_zuteilung`).
- **Frontend-Formular:** Siehe `includes/frontend-form.php` (Shortcode-Handler).
---
Für Detailfragen zu Datenbankstruktur, Shortcodes oder Zuteilungslogik siehe die jeweiligen Dateien im `includes/`-Verzeichnis.