diff --git a/includes/admin-teilnehmer.php b/includes/admin-teilnehmer.php
index c049dfa..925fab0 100644
--- a/includes/admin-teilnehmer.php
+++ b/includes/admin-teilnehmer.php
@@ -59,20 +59,34 @@ function kc_teilnehmer_page() {
$output = fopen('php://output', 'w');
$delimiter = ';';
- fputcsv($output, ['Vorname','Nachname','Wahl','Phase'], $delimiter);
+ fputcsv($output, ['Vorname','Nachname','Wahl','Phase','Wunsch 1','Wunsch 2','Wunsch 3'], $delimiter);
foreach ($export_rows as $tn) {
+ $w1_id = intval($tn->wunsch1);
+ $w2_id = intval($tn->wunsch2);
+ $w3_id = intval($tn->wunsch3);
+
+ $w1_disp = $w1_id && isset($workshops_map[$w1_id]) ? $workshops_map[$w1_id] : ($w1_id ? strval($w1_id) : '');
+ $w2_disp = $w2_id && isset($workshops_map[$w2_id]) ? $workshops_map[$w2_id] : ($w2_id ? strval($w2_id) : '');
+ $w3_disp = $w3_id && isset($workshops_map[$w3_id]) ? $workshops_map[$w3_id] : ($w3_id ? strval($w3_id) : '');
+
$wahl_name = isset($wahl_name_map[intval($tn->wahl_id)]) ? $wahl_name_map[intval($tn->wahl_id)] : '';
$vorname = preg_replace('/<[^>]*>/', '', $tn->vorname);
$nachname = preg_replace('/<[^>]*>/', '', $tn->nachname);
$wahl_name_clean = preg_replace('/<[^>]*>/', '', $wahl_name);
+ $w1_clean = preg_replace('/<[^>]*>/', '', $w1_disp);
+ $w2_clean = preg_replace('/<[^>]*>/', '', $w2_disp);
+ $w3_clean = preg_replace('/<[^>]*>/', '', $w3_disp);
fputcsv($output, [
$vorname,
$nachname,
$wahl_name_clean,
- intval($tn->phase)
+ intval($tn->phase),
+ $w1_clean,
+ $w2_clean,
+ $w3_clean
], $delimiter);
}
@@ -288,33 +302,11 @@ function kc_teilnehmer_page() {
// Übersicht
// Map für Wahl-ID => Name ist bereits oben aufgebaut
- $selected_export_wahl = isset($_GET['wahl_id']) ? intval($_GET['wahl_id']) : 0;
- $selected_export_phase = isset($_GET['phase']) ? intval($_GET['phase']) : 0;
-
echo '
';
echo '
Alle Teilnehmer
';
echo '
Teilnehmer-Export (Ansicht)';
echo '
+ Neuer Teilnehmer';
- // Manuelle Export-Auswahl (Wahl + Phase)
- echo '
';
-
// Wahl-Filter-Buttons sortiert nach KC1, KC2, KC3, dann Rest
$kc_buttons = [];
$rest_buttons = [];
@@ -409,41 +401,11 @@ function kc_teilnehmer_page() {
var status = document.getElementById("kc-wahl-filter-count");
var phaseRow = document.getElementById("kc-phase-filter-row");
var exportBtn = document.getElementById("kc-export-current-view");
- var exportWahlSelect = document.getElementById("kc-export-wahl");
- var exportPhaseSelect = document.getElementById("kc-export-phase");
// Wahl-Map für Phasen
var wahlMap = '.json_encode($wahl_map, JSON_HEX_TAG|JSON_HEX_APOS|JSON_HEX_QUOT|JSON_HEX_AMP).';
var currentWahl = "";
var currentPhase = "";
- function renderExportPhaseOptions(wahlId) {
- if (!exportPhaseSelect) return;
- var wanted = exportPhaseSelect.getAttribute("data-current") || exportPhaseSelect.value || "";
- exportPhaseSelect.innerHTML = "";
-
- var allOpt = document.createElement("option");
- allOpt.value = "";
- allOpt.text = "Alle Phasen";
- exportPhaseSelect.appendChild(allOpt);
-
- if (wahlId && wahlMap[wahlId]) {
- var maxPh = wahlMap[wahlId].phases || 1;
- for (var i = 1; i <= maxPh; i++) {
- var o = document.createElement("option");
- o.value = String(i);
- o.text = String(i);
- exportPhaseSelect.appendChild(o);
- }
- }
-
- if (wanted && exportPhaseSelect.querySelector("option[value=\"" + wanted + "\"]")) {
- exportPhaseSelect.value = wanted;
- } else {
- exportPhaseSelect.value = "";
- }
- exportPhaseSelect.setAttribute("data-current", "");
- }
-
function updateExportButton() {
if (!exportBtn) return;
var href = "?page=kc_teilnehmer&export_csv=1";
@@ -529,13 +491,6 @@ function kc_teilnehmer_page() {
renderPhaseButtons("");
applyFilter("", "");
updateExportButton();
-
- if (exportWahlSelect) {
- renderExportPhaseOptions(exportWahlSelect.value);
- exportWahlSelect.addEventListener("change", function() {
- renderExportPhaseOptions(this.value);
- });
- }
})();
';
echo '
';