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 '
'; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - 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 '
';