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
|
<?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;
|
global $wpdb;
|
||||||
$prefix = $wpdb->prefix;
|
$prefix = $wpdb->prefix;
|
||||||
kc_admin_tabs('kc_teilnehmer');
|
|
||||||
// Alle Wahlen + Workshops für Dropdowns und Validierung
|
$all_wahlen = $wpdb->get_results("SELECT id, name FROM {$prefix}kc_wahlen WHERE deleted=0 ORDER BY id DESC");
|
||||||
$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");
|
$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 = [];
|
$wahl_name_map = [];
|
||||||
if (!empty($all_wahlen)) {
|
if (!empty($all_wahlen)) {
|
||||||
foreach ($all_wahlen as $w) {
|
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 = [];
|
$workshops_map = [];
|
||||||
if (!empty($all_workshops)) {
|
if (!empty($all_workshops)) {
|
||||||
foreach ($all_workshops as $ws) {
|
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_wahl_id = isset($_GET['wahl_id']) ? intval($_GET['wahl_id']) : 0;
|
||||||
$export_phase = isset($_GET['phase']) ? intval($_GET['phase']) : 0;
|
$export_phase = isset($_GET['phase']) ? intval($_GET['phase']) : 0;
|
||||||
|
|
||||||
@@ -53,6 +49,7 @@ function kc_teilnehmer_page() {
|
|||||||
} elseif ($export_phase > 0) {
|
} elseif ($export_phase > 0) {
|
||||||
$filename_suffix = '_phase_'.$export_phase;
|
$filename_suffix = '_phase_'.$export_phase;
|
||||||
}
|
}
|
||||||
|
|
||||||
header('Content-Type: text/csv; charset=utf-8');
|
header('Content-Type: text/csv; charset=utf-8');
|
||||||
header('Content-Disposition: attachment; filename="kc_teilnehmer'.$filename_suffix.'.csv"');
|
header('Content-Disposition: attachment; filename="kc_teilnehmer'.$filename_suffix.'.csv"');
|
||||||
echo "\xEF\xBB\xBF";
|
echo "\xEF\xBB\xBF";
|
||||||
@@ -99,6 +96,30 @@ function kc_teilnehmer_page() {
|
|||||||
|
|
||||||
fclose($output);
|
fclose($output);
|
||||||
exit;
|
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)
|
// Build map of wahl -> phases + workshops (for JS)
|
||||||
|
|||||||
Reference in New Issue
Block a user