Finalase Export
All checks were successful
Deploy Workshop-Wahlen (DEV / PROD) / deploy (push) Successful in 13s
All checks were successful
Deploy Workshop-Wahlen (DEV / PROD) / deploy (push) Successful in 13s
This commit is contained in:
@@ -1,13 +1,12 @@
|
||||
<?php
|
||||
function kc_teilnehmer_page() {
|
||||
// CSV Export Handler: früh ausführen, damit kein HTML in der CSV landet
|
||||
if (isset($_GET['export_teilnehmer_csv']) && current_user_can('manage_options')) {
|
||||
global $wpdb;
|
||||
$prefix = $wpdb->prefix;
|
||||
kc_admin_tabs('kc_teilnehmer');
|
||||
// Alle Wahlen + Workshops für Dropdowns und Validierung
|
||||
$all_wahlen = $wpdb->get_results("SELECT id, name, anzahl_einheiten FROM {$prefix}kc_wahlen WHERE deleted=0 ORDER BY id DESC");
|
||||
|
||||
$all_wahlen = $wpdb->get_results("SELECT id, name FROM {$prefix}kc_wahlen WHERE deleted=0 ORDER BY id DESC");
|
||||
$all_workshops = $wpdb->get_results("SELECT id, name FROM {$prefix}kc_workshops ORDER BY name");
|
||||
|
||||
// Map of wahl id => name for quick lookup
|
||||
$wahl_name_map = [];
|
||||
if (!empty($all_wahlen)) {
|
||||
foreach ($all_wahlen as $w) {
|
||||
@@ -15,7 +14,6 @@ function kc_teilnehmer_page() {
|
||||
}
|
||||
}
|
||||
|
||||
// Map of workshop id => name for quick lookup in overview
|
||||
$workshops_map = [];
|
||||
if (!empty($all_workshops)) {
|
||||
foreach ($all_workshops as $ws) {
|
||||
@@ -23,8 +21,6 @@ function kc_teilnehmer_page() {
|
||||
}
|
||||
}
|
||||
|
||||
// CSV-Export (alle Teilnehmer oder gefiltert nach Wahl/Phase)
|
||||
if (isset($_GET['export_teilnehmer_csv']) && current_user_can('manage_options')) {
|
||||
$export_wahl_id = isset($_GET['wahl_id']) ? intval($_GET['wahl_id']) : 0;
|
||||
$export_phase = isset($_GET['phase']) ? intval($_GET['phase']) : 0;
|
||||
|
||||
@@ -53,6 +49,7 @@ function kc_teilnehmer_page() {
|
||||
} elseif ($export_phase > 0) {
|
||||
$filename_suffix = '_phase_'.$export_phase;
|
||||
}
|
||||
|
||||
header('Content-Type: text/csv; charset=utf-8');
|
||||
header('Content-Disposition: attachment; filename="kc_teilnehmer'.$filename_suffix.'.csv"');
|
||||
echo "\xEF\xBB\xBF";
|
||||
@@ -99,6 +96,30 @@ function kc_teilnehmer_page() {
|
||||
|
||||
fclose($output);
|
||||
exit;
|
||||
}
|
||||
|
||||
function kc_teilnehmer_page() {
|
||||
global $wpdb;
|
||||
$prefix = $wpdb->prefix;
|
||||
kc_admin_tabs('kc_teilnehmer');
|
||||
// Alle Wahlen + Workshops für Dropdowns und Validierung
|
||||
$all_wahlen = $wpdb->get_results("SELECT id, name, anzahl_einheiten FROM {$prefix}kc_wahlen WHERE deleted=0 ORDER BY id DESC");
|
||||
$all_workshops = $wpdb->get_results("SELECT id, name FROM {$prefix}kc_workshops ORDER BY name");
|
||||
|
||||
// Map of wahl id => name for quick lookup
|
||||
$wahl_name_map = [];
|
||||
if (!empty($all_wahlen)) {
|
||||
foreach ($all_wahlen as $w) {
|
||||
$wahl_name_map[intval($w->id)] = $w->name;
|
||||
}
|
||||
}
|
||||
|
||||
// Map of workshop id => name for quick lookup in overview
|
||||
$workshops_map = [];
|
||||
if (!empty($all_workshops)) {
|
||||
foreach ($all_workshops as $ws) {
|
||||
$workshops_map[intval($ws->id)] = $ws->name;
|
||||
}
|
||||
}
|
||||
|
||||
// Build map of wahl -> phases + workshops (for JS)
|
||||
|
||||
Reference in New Issue
Block a user