Files
Workshop-Wahlen/.github/copilot-instructions.production.md
ProgrammGamer 00fd8dc1cf update README
2026-01-30 16:36:41 +01:00

37 lines
1.6 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.
# Copilot Instructions for Workshop-Wahlen (Production)
## Project Overview
This WordPress plugin manages workshop elections for Konfi-Castle events. It provides an admin backend (elections, workshops, participants, teamers, assignments) and a participant frontend.
## Architecture & Components
- **Main file:** `konficastle-workshopwahl.php` Initializes hooks, loads assets, admin menus.
- **Backend:**
- `includes/` with modules for elections, workshops, participants, teamers, assignments, data management, force assignment
- Core assignment logic: `includes/zuteilungslogik.php`
- **Frontend:**
- Shortcodes: `[konficastle_workshopwahl wahl=ID]`, `[konficastle_workshop_ergebnis wahl=ID]`
- **Database:** Tables are created via `install.php`, prefix: `kc_`
## Key Patterns & Workflows
- **Admin tabs:** Navigation via `kc_admin_tabs()`
- **Naming:** Functions and tables use `kc_` prefix
- **Force assignments:** Manual assignments take precedence
- **Test data:** Only user ID 1 can generate via admin (`admin-data.php`)
- **CSV export:** Possible via admin assignments
- **Teamer password:** Managed via admin, hash in WP options
## Examples & Entry Points
- **Admin menu:** `konficastle-workshopwahl.php`, `includes/admin-wahlen.php`
- **Assignment logic:** `includes/zuteilungslogik.php`
- **Frontend form:** `includes/frontend-form.php`
## Notes for AI Agents
- Always use `$wpdb->prefix` for DB tables
- Backend logic is modular, each entity has its own file
- No complex JS logic in frontend, validation is server-side
- For changes to assignment logic: use test scenarios via test data admin page
---
See README.md for further details.