Änderungsvorschläge abgearbeitet.

This commit is contained in:
Jürgen Meyer
2026-08-30 11:57:17 +02:00
parent 9541bc0652
commit d39dc45cec
2 changed files with 39 additions and 64 deletions
@@ -169,8 +169,10 @@ function exportCSV(array $rows, string $dateiname): void
function exportJSON(array $rows, string $dateiname): void
{
if (empty($rows)) {
// Keine Daten → nichts exportieren
return;
// Keine Daten → Request hier beenden, damit der Aufrufer nicht in
// nachfolgenden Code (z. B. einen CSV-Export mit undefiniertem $rows) durchläuft
http_response_code(204);
exit;
}
// Dateiname absichern
@@ -13168,9 +13170,6 @@ function sportsmanagerExportErgaenzeSpielberichte($db, int $veranstaltungId, arr
foreach ($rows as $value) {
$Bestaetigt = [];
$Bestaetigt = [];
$Moderator = [];
$value->vorgeschlagen_um = "";
$value->vorgeschlagen_von = "";
$value->bestaetigt_um = "";
@@ -13178,67 +13177,42 @@ function sportsmanagerExportErgaenzeSpielberichte($db, int $veranstaltungId, arr
$value->moderator_um = "";
$value->moderator_von = "";
// Endergebnis vorgeschlagen
// Endergebnis vorgeschlagen / bestätigt (Gegner) / bestätigt (Moderator)
$query = "
SELECT t1.eingetragen AS gespeichert_um,
SELECT t1.aktion,
t1.eingetragen AS gespeichert_um,
t2.name AS gespeichert_von_user,
t3.teamname AS gespeichert_von_team
FROM #__sportsmanager_begegnung_historie AS t1
LEFT JOIN #__users AS t2 ON t1.user_id = t2.id
LEFT JOIN #__sportsmanager_team AS t3 ON t1.team_id = t3.team_id
WHERE begegnung_id = " . $value->ID . "
AND aktion IN (6)
ORDER BY eingetragen DESC LIMIT 1;
AND aktion IN (6,7,8)
ORDER BY eingetragen DESC;
";
$Vorgeschlagen = loadObjectList($db, $query);
if (!empty($Vorgeschlagen)) {
$value->vorgeschlagen_um = $Vorgeschlagen[0]->gespeichert_um;
if (!empty($Vorgeschlagen[0]->gespeichert_von_user))
$value->vorgeschlagen_von = $Vorgeschlagen[0]->gespeichert_von_user;
if (!empty($Vorgeschlagen[0]->gespeichert_von_team))
$value->vorgeschlagen_von = $Vorgeschlagen[0]->gespeichert_von_team;
$Historie = loadObjectList($db, $query);
foreach ($Historie as $eintrag) {
if ($eintrag->aktion == 6 && empty($value->vorgeschlagen_um)) {
$value->vorgeschlagen_um = $eintrag->gespeichert_um;
if (!empty($eintrag->gespeichert_von_user))
$value->vorgeschlagen_von = $eintrag->gespeichert_von_user;
if (!empty($eintrag->gespeichert_von_team))
$value->vorgeschlagen_von = $eintrag->gespeichert_von_team;
}
// Endergebnis bestätigen Gegner
$query = "
SELECT t1.eingetragen AS gespeichert_um,
t2.name AS gespeichert_von_user,
t3.teamname AS gespeichert_von_team
FROM #__sportsmanager_begegnung_historie AS t1
LEFT JOIN #__users AS t2 ON t1.user_id = t2.id
LEFT JOIN #__sportsmanager_team AS t3 ON t1.team_id = t3.team_id
WHERE begegnung_id = " . $value->ID . "
AND aktion IN (7)
ORDER BY eingetragen DESC LIMIT 1;
";
$Bestaetigt = loadObjectList($db, $query);
if (!empty($Bestaetigt)) {
$value->bestaetigt_um = $Bestaetigt[0]->gespeichert_um;
if (!empty($Bestaetigt[0]->gespeichert_von_user))
$value->bestaetigt_von = $Bestaetigt[0]->gespeichert_von_user;
if (!empty($Bestaetigt[0]->gespeichert_von_team))
$value->bestaetigt_von = $Bestaetigt[0]->gespeichert_von_team;
if ($eintrag->aktion == 7 && empty($value->bestaetigt_um)) {
$value->bestaetigt_um = $eintrag->gespeichert_um;
if (!empty($eintrag->gespeichert_von_user))
$value->bestaetigt_von = $eintrag->gespeichert_von_user;
if (!empty($eintrag->gespeichert_von_team))
$value->bestaetigt_von = $eintrag->gespeichert_von_team;
}
if ($eintrag->aktion == 8 && empty($value->moderator_um)) {
$value->moderator_um = $eintrag->gespeichert_um;
if (!empty($eintrag->gespeichert_von_user))
$value->moderator_von = $eintrag->gespeichert_von_user;
if (!empty($eintrag->gespeichert_von_team))
$value->moderator_von = $eintrag->gespeichert_von_team;
}
// Endergebnis bestätigen Moderator
$query = "
SELECT t1.eingetragen AS gespeichert_um,
t2.name AS gespeichert_von_user,
t3.teamname AS gespeichert_von_team
FROM #__sportsmanager_begegnung_historie AS t1
LEFT JOIN #__users AS t2 ON t1.user_id = t2.id
LEFT JOIN #__sportsmanager_team AS t3 ON t1.team_id = t3.team_id
WHERE begegnung_id = " . $value->ID . "
AND aktion IN (8)
ORDER BY eingetragen DESC LIMIT 1;
";
$Moderator = loadObjectList($db, $query);
if (!empty($Moderator)) {
$value->moderator_um = $Moderator[0]->gespeichert_um;
if (!empty($Moderator[0]->gespeichert_von_user))
$value->moderator_von = $Moderator[0]->gespeichert_von_user;
if (!empty($Moderator[0]->gespeichert_von_team))
$value->moderator_von = $Moderator[0]->gespeichert_von_team;
}
// Spielbericht
@@ -13289,8 +13263,8 @@ function sportsmanagerExportErgaenzeSpielberichte($db, int $veranstaltungId, arr
$jInput = Factory::getContainer()->get(SiteApplication::class)->input;
$veranstaltungId = $jInput->get('veranstaltungId', 0, 'INT');
$export = $jInput->get('export', '', 'RAW');
$exportformat = $jInput->get('exportformat', 'csvdatei', 'RAW');
$export = $jInput->get('export', '', 'CMD');
$exportformat = $jInput->get('exportformat', 'csvdatei', 'CMD');
if ($veranstaltungId == 0) die("Missing id!");
@@ -13317,7 +13291,7 @@ function sportsmanagerExportErgaenzeSpielberichte($db, int $veranstaltungId, arr
$spielberichte = sportsmanagerExportErgaenzeSpielberichte($db, $veranstaltungId, sportsmanagerExportErmittleSpielplan($db, $veranstaltungId));
if (empty($teams) && empty($spieler) && empty($spielberichte)) {
redirectSportsManagerURL('&task=admin_begegnungen&veranstaltungid=1', "Zu dieser Auswahl sind keine Daten vorhanden!");
redirectSportsManagerURL('&task=admin_begegnungen&veranstaltungid=$veranstaltungId', "Zu dieser Auswahl sind keine Daten vorhanden!");
}
$daten = [
@@ -13333,7 +13307,7 @@ function sportsmanagerExportErgaenzeSpielberichte($db, int $veranstaltungId, arr
if ($export == "spieler") {
$rows = sportsmanagerExportErmittleSpieler($db, $veranstaltungId);
if (!isset($rows) or count($rows) == 0) {
redirectSportsManagerURL('&task=admin_begegnungen&veranstaltungid=1', "Zu dieser Auswahl sind keine Daten vorhanden!");
redirectSportsManagerURL('&task=admin_begegnungen&veranstaltungid=$veranstaltungId', "Zu dieser Auswahl sind keine Daten vorhanden!");
}
$dateiname = "Spieler " . $veranstaltung->bezeichnung;
}
@@ -13343,7 +13317,7 @@ function sportsmanagerExportErgaenzeSpielberichte($db, int $veranstaltungId, arr
$dateiname = "Spielplan " . $veranstaltung->bezeichnung;
if (!isset($rows) or count($rows) == 0) {
redirectSportsManagerURL('&task=admin_begegnungen&veranstaltungid=1', "Zu dieser Auswahl sind keine Daten vorhanden!");
redirectSportsManagerURL('&task=admin_begegnungen&veranstaltungid=$veranstaltungId', "Zu dieser Auswahl sind keine Daten vorhanden!");
}
}
@@ -13355,7 +13329,7 @@ function sportsmanagerExportErgaenzeSpielberichte($db, int $veranstaltungId, arr
if ($export == "teams") {
$rows = sportsmanagerExportErmittleTeams($db, $veranstaltungId);
if (!isset($rows) or count($rows) == 0) {
redirectSportsManagerURL('&task=admin_begegnungen&veranstaltungid=1', "Zu dieser Auswahl sind keine Daten vorhanden!");
redirectSportsManagerURL('&task=admin_begegnungen&veranstaltungid=$veranstaltungId', "Zu dieser Auswahl sind keine Daten vorhanden!");
}
$dateiname = "Teams " . $veranstaltung->bezeichnung;
}
@@ -12847,6 +12847,7 @@ static function adminVerbandsorganMitglieder($rows,$verbandsorgan): void
function anzeige_aktualisieren() {
document.getElementById("export_row").style.display = document.adminForm.exportformat.value !== "jsondatei" ? '' : 'none';
}
window.addEventListener("pageshow", anzeige_aktualisieren);
</script>
<form action="<?php echo SportsManagerURL(); ?>" method="post" name="adminForm" id="adminForm">
<div class="uk-overflow-auto">