generated importent files

This commit is contained in:
ProgrammGamer
2026-01-30 16:33:09 +01:00
parent 80cf6539ed
commit 5942fe7e18
2 changed files with 86 additions and 1 deletions

37
.github/copilot-instructions.md vendored Normal file
View File

@@ -0,0 +1,37 @@
# Copilot Instructions for Workshop-Wahlen
## Projektüberblick
Dieses WordPress-Plugin verwaltet Workshop-Wahlen für Konfi-Castle-Events. Es bietet ein Admin-Backend (Wahlen, Workshops, Teilnehmer, Teamer, Zuteilungen) und ein Teilnehmer-Frontend.
## Architektur & Komponenten
- **Hauptdatei:** `konficastle-workshopwahl.php` Initialisiert Hooks, lädt Assets, Admin-Menüs.
- **Backend:**
- `includes/` mit Modulen für Wahlen, Workshops, Teilnehmer, Teamer, Zuteilungen, Datenverwaltung, Force-Zuteilung
- Zentrale Zuteilungslogik: `includes/zuteilungslogik.php`
- **Frontend:**
- Shortcodes: `[konficastle_workshopwahl wahl=ID]`, `[konficastle_workshop_ergebnis wahl=ID]`
- **Datenbank:** Tabellen werden über `install.php` angelegt, Präfix: `kc_`
## Wichtige Patterns & Workflows
- **Admin-Tabs:** Navigation über `kc_admin_tabs()`
- **Namensschema:** Funktionen und Tabellen mit `kc_`-Präfix
- **Force-Zuteilungen:** Manuelle Zuweisungen haben Vorrang
- **Testdaten:** Nur User ID 1 kann über Admin Daten generieren (`admin-data.php`)
- **CSV-Export:** Über Admin-Zuteilungen möglich
- **Teamer-Passwort:** Verwaltung über Admin, Hash in WP-Optionen
## Beispiele & Einstiegspunkte
- **Admin-Menü:** `konficastle-workshopwahl.php`, `includes/admin-wahlen.php`
- **Zuteilungslogik:** `includes/zuteilungslogik.php`
- **Frontend-Formular:** `includes/frontend-form.php`
## Hinweise für AI Agents
- Immer `$wpdb->prefix` für DB-Tabellen verwenden
- Backend-Logik ist modular, jede Entität hat eigene Datei
- Keine komplexe JS-Logik im Frontend, Validierung serverseitig
- Bei Änderungen an der Zuteilungslogik: Testszenarien über Testdaten-Adminseite nutzen
---
Siehe auch README.md für weitere Details.

View File

@@ -1,2 +1,50 @@
# Workshop-Wahlen # Workshop-Wahlen Entwickler-Übersicht
## Ü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.