mirror of
https://github.com/Deutscher-Tischfussballbund/com_sportsmanager.git
synced 2026-09-11 18:41:50 +00:00
Export von kompletten Ligen im json-Format
This commit is contained in:
@@ -166,6 +166,32 @@ function exportCSV(array $rows, string $dateiname): void
|
||||
exit;
|
||||
}
|
||||
|
||||
function exportJSON(array $rows, string $dateiname): void
|
||||
{
|
||||
if (empty($rows)) {
|
||||
// Keine Daten → nichts exportieren
|
||||
return;
|
||||
}
|
||||
|
||||
// Dateiname absichern
|
||||
$dateiname = bereinigterDateiname($dateiname);
|
||||
|
||||
// Output Buffer nur beenden, wenn aktiv
|
||||
if (ob_get_level() > 0) {
|
||||
ob_end_clean();
|
||||
}
|
||||
|
||||
// JSON-Header für Browser
|
||||
header('Content-Type: application/json; charset=UTF-8');
|
||||
header('Content-Disposition: attachment; filename="' . $dateiname . '"; filename*=UTF-8\'\'' . rawurlencode($dateiname));
|
||||
header('Cache-Control: no-store, no-cache, must-revalidate');
|
||||
header('Pragma: no-cache');
|
||||
header('Expires: 0');
|
||||
|
||||
echo json_encode($rows, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);
|
||||
exit;
|
||||
}
|
||||
|
||||
function adminUebersicht(): void
|
||||
{
|
||||
$db = getDatabase();
|
||||
@@ -12969,6 +12995,294 @@ function adminBegegnungenExportForm(): void
|
||||
HTML_sportsmanager_admin::adminBegegnungenExport($veranstaltung,$saison);
|
||||
}
|
||||
|
||||
function sportsmanagerExportErmittleTeams($db, int $veranstaltungId): array
|
||||
{
|
||||
$query = "SELECT t2.verein_id, t2.vereinsname AS Verein, t2.vereinssitz AS Vereinssitz,"
|
||||
. "\n t2.vereinssitz_ortsteil AS Vereinssitz_Ortsteil, t2.url AS Vereinswebseite,"
|
||||
. "\n t1.team_id, t1.teamname AS Team, t3.bezeichnung AS Liga, t1.tischtyp AS Tisch,"
|
||||
. "\n t4.name AS Spielort, t4.strasse AS Spielort_Strasse, t4.plz AS Spielort_PLZ,"
|
||||
. "\n t4.ortsname AS Spielort_Ort, t4.ortsteil AS Spielort_Ortsteil, t4.telefon AS Spielort_Telefon,"
|
||||
. "\n t4.url AS Spielort_Url, t1.trainingstage AS Trainingstage, t4.ruhetage AS Spielort_Ruhetage"
|
||||
. "\n FROM #__sportsmanager_team AS t1"
|
||||
. "\n LEFT JOIN #__sportsmanager_verein AS t2 ON t1.verein_id = t2.verein_id"
|
||||
. "\n LEFT JOIN #__sportsmanager_veranstaltung AS t3 ON t1.veranstaltung_id = t3.veranstaltung_id"
|
||||
. "\n LEFT JOIN #__sportsmanager_spielort AS t4 ON t1.heimspielort_id = t4.spielort_id"
|
||||
. "\n WHERE t1.veranstaltung_id = " . $veranstaltungId . ";";
|
||||
|
||||
$rows = loadObjectList($db, $query);
|
||||
|
||||
foreach ($rows AS $value)
|
||||
{
|
||||
$query = "SELECT * FROM #__sportsmanager_vereinsansprechpartner"
|
||||
. "\n WHERE verein_id = ".$value->verein_id." ORDER BY vereinsansprechpartner_id;";
|
||||
$ansprechpartner = loadObjectList($db, $query);
|
||||
for ($i = 0; $i <= 2; $i++){
|
||||
$index = $i + 1;
|
||||
if (isset($ansprechpartner[$i])){
|
||||
$property = "VAP{$index}_Nachname";
|
||||
$value->$property = $ansprechpartner[$i]->nachname;
|
||||
$property = "VAP{$index}_Vorname";
|
||||
$value->$property = $ansprechpartner[$i]->vorname;
|
||||
$property = "VAP{$index}_Telefon";
|
||||
$value->$property = $ansprechpartner[$i]->telefon;
|
||||
$property = "VAP{$index}_Mobil";
|
||||
$value->$property = $ansprechpartner[$i]->mobil;
|
||||
$property = "VAP{$index}_EMail";
|
||||
$value->$property = $ansprechpartner[$i]->email;
|
||||
} else {
|
||||
$property = "VAP{$index}_Nachname";
|
||||
$value->$property = "";
|
||||
$property = "VAP{$index}_Vorname";
|
||||
$value->$property = "";
|
||||
$property = "VAP{$index}_Telefon";
|
||||
$value->$property = "";
|
||||
$property = "VAP{$index}_Mobil";
|
||||
$value->$property = "";
|
||||
$property = "VAP{$index}_EMail";
|
||||
$value->$property = "";
|
||||
}
|
||||
}
|
||||
|
||||
$query = "SELECT * FROM #__sportsmanager_teamansprechpartner"
|
||||
. "\n WHERE team_id = ".$value->team_id." ORDER BY kontaktperson_id;";
|
||||
$ansprechpartner = loadObjectList($db, $query);
|
||||
for ($i = 0; $i <= 1; $i++){
|
||||
$index = $i + 1;
|
||||
if (isset($ansprechpartner[$i])){
|
||||
$property = "TAP{$index}_Nachname";
|
||||
$value->$property = $ansprechpartner[$i]->nachname;
|
||||
$property = "TAP{$index}_Vorname";
|
||||
$value->$property = $ansprechpartner[$i]->vorname;
|
||||
$property = "TAP{$index}_Telefon";
|
||||
$value->$property = $ansprechpartner[$i]->telefon;
|
||||
$property = "TAP{$index}_Mobil";
|
||||
$value->$property = $ansprechpartner[$i]->mobil;
|
||||
$property = "TAP{$index}_EMail";
|
||||
$value->$property = $ansprechpartner[$i]->email;
|
||||
} else {
|
||||
$property = "TAP{$index}_Nachname";
|
||||
$value->$property = "";
|
||||
$property = "TAP{$index}_Vorname";
|
||||
$value->$property = "";
|
||||
$property = "TAP{$index}_Telefon";
|
||||
$value->$property = "";
|
||||
$property = "TAP{$index}_Mobil";
|
||||
$value->$property = "";
|
||||
$property = "TAP{$index}_EMail";
|
||||
$value->$property = "";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $rows;
|
||||
}
|
||||
|
||||
function sportsmanagerExportErmittleSpieler($db, int $veranstaltungId): array
|
||||
{
|
||||
$query = "
|
||||
SELECT t5.bezeichnung AS Veranstaltung, t2.vereinsname AS Verein, t1.teamname AS Team, t4.spielernr AS Passnummer,
|
||||
t4.nachname AS Nachname, t4.vorname AS Vorname, t4.geburtsjahr AS Geburtsjahr, LOWER(LEFT(geschlecht, 1)) AS Geschlecht,
|
||||
t6.saisonbezeichnung AS Saison, t3.erster_spieltag AS Spielberechtigt_von, t3.letzter_spieltag AS Spielberechtigt_bis
|
||||
FROM #__sportsmanager_team AS t1
|
||||
LEFT JOIN #__sportsmanager_veranstaltung AS t5 ON t1.veranstaltung_id = t5.veranstaltung_id
|
||||
LEFT JOIN #__sportsmanager_verein AS t2 ON t1.verein_id = t2.verein_id
|
||||
LEFT JOIN #__sportsmanager_mitglied_von_team AS t3 ON t1.team_id = t3.team_id
|
||||
LEFT JOIN #__sportsmanager_spieler AS t4 ON t3.spieler_id = t4.spieler_id
|
||||
LEFT JOIN #__sportsmanager_saison AS t6 ON t5.saison_id = t6.saison_id
|
||||
WHERE t1.veranstaltung_id = " . $veranstaltungId . ";
|
||||
";
|
||||
|
||||
return loadObjectList($db, $query);
|
||||
}
|
||||
|
||||
function sportsmanagerExportErmittleSpielplan($db, int $veranstaltungId): array
|
||||
{
|
||||
$query = "
|
||||
SELECT t1.begegnung_id AS ID, ";
|
||||
if (einstellungswert("verbands_kuerzel") == "STFV"){
|
||||
$query .= "
|
||||
CONCAT(t5.saisonbezeichnung,LPAD(t4.kategorie,2,'0'),LPAD(t1.spieltag,2,'0'),LPAD(IFNULL(t1.spiel_nr, '0'),2,'0')) AS stfv_id, ";
|
||||
}
|
||||
$query .= "
|
||||
t5.saisonbezeichnung AS Saison,
|
||||
t4.bezeichnung AS Liga, t1.spieltag AS Spieltag_Nr, t1.spiel_nr AS Spiel_Nr,
|
||||
t1.zeitpunkt AS Spielstart, '' AS verlegt_auf, t2.teamname AS Heim, t3.teamname AS Gast,
|
||||
t1.heim_punkte AS Heim_Tore, t1.gast_punkte AS Gast_Tore,
|
||||
t1.heim_spielpunkte AS Heim_Satzpunkte, t1.gast_spielpunkte AS Gast_Satzpunkte
|
||||
FROM #__sportsmanager_begegnung AS t1
|
||||
LEFT JOIN #__sportsmanager_team AS t2 ON t1.heim_team_id = t2.team_id
|
||||
LEFT JOIN #__sportsmanager_team AS t3 ON t1.gast_team_id = t3.team_id
|
||||
LEFT JOIN #__sportsmanager_veranstaltung AS t4 ON t2.veranstaltung_id = t4.veranstaltung_id
|
||||
LEFT JOIN #__sportsmanager_saison AS t5 ON t4.saison_id = t5.saison_id
|
||||
WHERE t4.veranstaltung_id = " . $veranstaltungId . "
|
||||
ORDER BY t4.veranstaltung_id, t1.spieltag, t1.spiel_nr, t1.zeitpunkt;
|
||||
";
|
||||
$rows = loadObjectList($db, $query);
|
||||
|
||||
// Spielverlegungen
|
||||
foreach ($rows as $value) {
|
||||
|
||||
$beantragt = [];
|
||||
$genehmigt = [];
|
||||
|
||||
// Spielverlegung vorgeschlagen
|
||||
$query = "
|
||||
SELECT t1.zeitpunkt AS Termin_alt
|
||||
FROM #__sportsmanager_begegnung_historie AS t1
|
||||
WHERE begegnung_id = " . $value->ID . "
|
||||
AND aktion IN (2)
|
||||
ORDER BY eingetragen ASC LIMIT 1;
|
||||
";
|
||||
$beantragt = loadObjectList($db, $query);
|
||||
if (!empty($beantragt))
|
||||
$value->Spielstart = $beantragt[0]->Termin_alt;
|
||||
|
||||
// Spielverlegung vorgeschlagen
|
||||
$query = "
|
||||
SELECT t1.zeitpunkt AS Termin_neu
|
||||
FROM #__sportsmanager_begegnung_historie AS t1
|
||||
WHERE begegnung_id = " . $value->ID . "
|
||||
AND aktion IN (1)
|
||||
ORDER BY eingetragen DESC LIMIT 1;
|
||||
";
|
||||
$genehmigt = loadObjectList($db, $query);
|
||||
if (!empty($genehmigt))
|
||||
$value->verlegt_auf = $genehmigt[0]->Termin_neu;
|
||||
}
|
||||
|
||||
return $rows;
|
||||
}
|
||||
|
||||
function sportsmanagerExportErgaenzeSpielberichte($db, int $veranstaltungId, array $rows): array
|
||||
{
|
||||
// Modus ermitteln
|
||||
$query = "
|
||||
SELECT t2.* FROM #__sportsmanager_veranstaltung AS t1
|
||||
LEFT JOIN #__sportsmanager_teamspiel_modus AS t2 ON t1.modus_id = t2.teamspiel_modus_id
|
||||
WHERE t1.veranstaltung_id = " . $veranstaltungId . "
|
||||
";
|
||||
|
||||
$spielmodus = loadObjectList($db, $query);
|
||||
$Anzahl_Saetze = count(explode(",", $spielmodus[0]->modus));
|
||||
|
||||
|
||||
foreach ($rows as $value) {
|
||||
|
||||
$Bestaetigt = [];
|
||||
$Bestaetigt = [];
|
||||
$Moderator = [];
|
||||
$value->vorgeschlagen_um = "";
|
||||
$value->vorgeschlagen_von = "";
|
||||
$value->bestaetigt_um = "";
|
||||
$value->bestaetigt_von = "";
|
||||
$value->moderator_um = "";
|
||||
$value->moderator_von = "";
|
||||
|
||||
// Endergebnis vorgeschlagen
|
||||
$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 (6)
|
||||
ORDER BY eingetragen DESC LIMIT 1;
|
||||
";
|
||||
$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;
|
||||
}
|
||||
|
||||
// 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;
|
||||
}
|
||||
|
||||
// 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
|
||||
$query = "
|
||||
SELECT
|
||||
t1.teamspiel_nummer AS Satz_Nr,
|
||||
t3.spielernr AS Pass_Heim1, t4.spielernr AS Pass_Heim2,
|
||||
t5.spielernr AS Pass_Gast1, t6.spielernr AS Pass_Gast2,
|
||||
t1.teamspiel_heim_punkte AS Heim_Tore, t1.teamspiel_gast_punkte AS Gast_Tore,
|
||||
t1.teamspiel_heim_spielpunkte AS Heim_Punkte, t1.teamspiel_gast_spielpunkte AS Gast_Punkte
|
||||
FROM #__sportsmanager_teamspiel AS t1
|
||||
LEFT JOIN #__sportsmanager_begegnung AS t2 ON t1.begegnung_id = t2.begegnung_id
|
||||
LEFT JOIN #__sportsmanager_spieler AS t3 ON t1.heim_spieler_1_id = t3.spieler_id
|
||||
LEFT JOIN #__sportsmanager_spieler AS t4 ON t1.heim_spieler_2_id = t4.spieler_id
|
||||
LEFT JOIN #__sportsmanager_spieler AS t5 ON t1.gast_spieler_1_id = t5.spieler_id
|
||||
LEFT JOIN #__sportsmanager_spieler AS t6 ON t1.gast_spieler_2_id = t6.spieler_id
|
||||
WHERE t1.begegnung_id = " . $value->ID . "
|
||||
ORDER BY t1.teamspiel_nummer;
|
||||
";
|
||||
|
||||
$spielbericht = loadObjectList($db, $query);
|
||||
for ($i = 1; $i <= $Anzahl_Saetze; $i++) {
|
||||
$variable = "S" . $i . "_Pass_Heim1";
|
||||
$value->$variable = $spielbericht[$i - 1]->Pass_Heim1;
|
||||
$variable = "S" . $i . "_Pass_Heim2";
|
||||
$value->$variable = $spielbericht[$i - 1]->Pass_Heim2;
|
||||
$variable = "S" . $i . "_Pass_Gast1";
|
||||
$value->$variable = $spielbericht[$i - 1]->Pass_Gast1;
|
||||
$variable = "S" . $i . "_Pass_Gast2";
|
||||
$value->$variable = $spielbericht[$i - 1]->Pass_Gast2;
|
||||
$variable = "S" . $i . "_Heim_Tore";
|
||||
$value->$variable = $spielbericht[$i - 1]->Heim_Tore;
|
||||
$variable = "S" . $i . "_Gast_Tore";
|
||||
$value->$variable = $spielbericht[$i - 1]->Gast_Tore;
|
||||
$variable = "S" . $i . "_Heim_Punkte";
|
||||
$value->$variable = $spielbericht[$i - 1]->Heim_Punkte;
|
||||
$variable = "S" . $i . "_Gast_Punkte";
|
||||
$value->$variable = $spielbericht[$i - 1]->Gast_Punkte;
|
||||
}
|
||||
}
|
||||
|
||||
return $rows;
|
||||
}
|
||||
|
||||
#[NoReturn] function adminBegegnungenExport(): void
|
||||
{
|
||||
$db = getDatabase();
|
||||
@@ -12976,6 +13290,7 @@ function adminBegegnungenExportForm(): void
|
||||
|
||||
$veranstaltungId = $jInput->get('veranstaltungId', 0, 'INT');
|
||||
$export = $jInput->get('export', '', 'RAW');
|
||||
$exportformat = $jInput->get('exportformat', 'csvdatei', 'RAW');
|
||||
|
||||
if ($veranstaltungId == 0) die("Missing id!");
|
||||
|
||||
@@ -12995,22 +13310,28 @@ function adminBegegnungenExportForm(): void
|
||||
|
||||
unset($rows);
|
||||
|
||||
// JSON-Export: Teams, Spieler und Spielberichte gemeinsam in dieser Reihenfolge exportieren
|
||||
if ($exportformat == "jsondatei") {
|
||||
$teams = sportsmanagerExportErmittleTeams($db, $veranstaltungId);
|
||||
$spieler = sportsmanagerExportErmittleSpieler($db, $veranstaltungId);
|
||||
$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!");
|
||||
}
|
||||
|
||||
$daten = [
|
||||
'teams' => $teams,
|
||||
'spieler' => $spieler,
|
||||
'spielberichte' => $spielberichte,
|
||||
];
|
||||
|
||||
exportJSON($daten, "Export " . $veranstaltung->bezeichnung . ".json");
|
||||
}
|
||||
|
||||
$dateiname = "";
|
||||
if ($export == "spieler") {
|
||||
$query = "
|
||||
SELECT t5.bezeichnung AS Veranstaltung, t2.vereinsname AS Verein, t1.teamname AS Team, t4.spielernr AS Passnummer,
|
||||
t4.nachname AS Nachname, t4.vorname AS Vorname, t4.geburtsjahr AS Geburtsjahr, LOWER(LEFT(geschlecht, 1)) AS Geschlecht,
|
||||
t6.saisonbezeichnung AS Saison, t3.erster_spieltag AS Spielberechtigt_von, t3.letzter_spieltag AS Spielberechtigt_bis
|
||||
FROM #__sportsmanager_team AS t1
|
||||
LEFT JOIN #__sportsmanager_veranstaltung AS t5 ON t1.veranstaltung_id = t5.veranstaltung_id
|
||||
LEFT JOIN #__sportsmanager_verein AS t2 ON t1.verein_id = t2.verein_id
|
||||
LEFT JOIN #__sportsmanager_mitglied_von_team AS t3 ON t1.team_id = t3.team_id
|
||||
LEFT JOIN #__sportsmanager_spieler AS t4 ON t3.spieler_id = t4.spieler_id
|
||||
LEFT JOIN #__sportsmanager_saison AS t6 ON t5.saison_id = t6.saison_id
|
||||
WHERE t1.veranstaltung_id = " . $veranstaltungId . ";
|
||||
";
|
||||
|
||||
$rows = loadObjectList($db, $query);
|
||||
$rows = sportsmanagerExportErmittleSpieler($db, $veranstaltungId);
|
||||
if (!isset($rows) or count($rows) == 0) {
|
||||
redirectSportsManagerURL('&task=admin_begegnungen&veranstaltungid=1', "Zu dieser Auswahl sind keine Daten vorhanden!");
|
||||
}
|
||||
@@ -13018,58 +13339,7 @@ function adminBegegnungenExportForm(): void
|
||||
}
|
||||
|
||||
if ($export == "spielplan" or $export == "spielberichte") {
|
||||
$query = "
|
||||
SELECT t1.begegnung_id AS ID, ";
|
||||
if (einstellungswert("verbands_kuerzel") == "STFV"){
|
||||
$query .= "
|
||||
CONCAT(t5.saisonbezeichnung,LPAD(t4.kategorie,2,'0'),LPAD(t1.spieltag,2,'0'),LPAD(IFNULL(t1.spiel_nr, '0'),2,'0')) AS stfv_id, ";
|
||||
}
|
||||
$query .= "
|
||||
t5.saisonbezeichnung AS Saison,
|
||||
t4.bezeichnung AS Liga, t1.spieltag AS Spieltag_Nr, t1.spiel_nr AS Spiel_Nr,
|
||||
t1.zeitpunkt AS Spielstart, '' AS verlegt_auf, t2.teamname AS Heim, t3.teamname AS Gast,
|
||||
t1.heim_punkte AS Heim_Tore, t1.gast_punkte AS Gast_Tore,
|
||||
t1.heim_spielpunkte AS Heim_Satzpunkte, t1.gast_spielpunkte AS Gast_Satzpunkte
|
||||
FROM #__sportsmanager_begegnung AS t1
|
||||
LEFT JOIN #__sportsmanager_team AS t2 ON t1.heim_team_id = t2.team_id
|
||||
LEFT JOIN #__sportsmanager_team AS t3 ON t1.gast_team_id = t3.team_id
|
||||
LEFT JOIN #__sportsmanager_veranstaltung AS t4 ON t2.veranstaltung_id = t4.veranstaltung_id
|
||||
LEFT JOIN #__sportsmanager_saison AS t5 ON t4.saison_id = t5.saison_id
|
||||
WHERE t4.veranstaltung_id = " . $veranstaltungId . "
|
||||
ORDER BY t4.veranstaltung_id, t1.spieltag, t1.spiel_nr, t1.zeitpunkt;
|
||||
";
|
||||
$rows = loadObjectList($db, $query);
|
||||
|
||||
// Spielverlegungen
|
||||
foreach ($rows as $value) {
|
||||
|
||||
$beantragt = [];
|
||||
$genehmigt = [];
|
||||
|
||||
// Spielverlegung vorgeschlagen
|
||||
$query = "
|
||||
SELECT t1.zeitpunkt AS Termin_alt
|
||||
FROM #__sportsmanager_begegnung_historie AS t1
|
||||
WHERE begegnung_id = " . $value->ID . "
|
||||
AND aktion IN (2)
|
||||
ORDER BY eingetragen ASC LIMIT 1;
|
||||
";
|
||||
$beantragt = loadObjectList($db, $query);
|
||||
if (!empty($beantragt))
|
||||
$value->Spielstart = $beantragt[0]->Termin_alt;
|
||||
|
||||
// Spielverlegung vorgeschlagen
|
||||
$query = "
|
||||
SELECT t1.zeitpunkt AS Termin_neu
|
||||
FROM #__sportsmanager_begegnung_historie AS t1
|
||||
WHERE begegnung_id = " . $value->ID . "
|
||||
AND aktion IN (1)
|
||||
ORDER BY eingetragen DESC LIMIT 1;
|
||||
";
|
||||
$genehmigt = loadObjectList($db, $query);
|
||||
if (!empty($genehmigt))
|
||||
$value->verlegt_auf = $genehmigt[0]->Termin_neu;
|
||||
}
|
||||
$rows = sportsmanagerExportErmittleSpielplan($db, $veranstaltungId);
|
||||
$dateiname = "Spielplan " . $veranstaltung->bezeichnung;
|
||||
|
||||
if (!isset($rows) or count($rows) == 0) {
|
||||
@@ -13078,219 +13348,21 @@ function adminBegegnungenExportForm(): void
|
||||
}
|
||||
|
||||
if ($export == "spielberichte") {
|
||||
// Modus ermitteln
|
||||
$query = "
|
||||
SELECT t2.* FROM #__sportsmanager_veranstaltung AS t1
|
||||
LEFT JOIN #__sportsmanager_teamspiel_modus AS t2 ON t1.modus_id = t2.teamspiel_modus_id
|
||||
WHERE t1.veranstaltung_id = " . $veranstaltungId . "
|
||||
";
|
||||
|
||||
$spielmodus = loadObjectList($db, $query);
|
||||
$Anzahl_Saetze = count(explode(",", $spielmodus[0]->modus));
|
||||
|
||||
|
||||
foreach ($rows as $value) {
|
||||
|
||||
$Bestaetigt = [];
|
||||
$Bestaetigt = [];
|
||||
$Moderator = [];
|
||||
$value->vorgeschlagen_um = "";
|
||||
$value->vorgeschlagen_von = "";
|
||||
$value->bestaetigt_um = "";
|
||||
$value->bestaetigt_von = "";
|
||||
$value->moderator_um = "";
|
||||
$value->moderator_von = "";
|
||||
|
||||
// Endergebnis vorgeschlagen
|
||||
$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 (6)
|
||||
ORDER BY eingetragen DESC LIMIT 1;
|
||||
";
|
||||
$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;
|
||||
}
|
||||
|
||||
// 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;
|
||||
}
|
||||
|
||||
// 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
|
||||
$query = "
|
||||
SELECT
|
||||
t1.teamspiel_nummer AS Satz_Nr,
|
||||
t3.spielernr AS Pass_Heim1, t4.spielernr AS Pass_Heim2,
|
||||
t5.spielernr AS Pass_Gast1, t6.spielernr AS Pass_Gast2,
|
||||
t1.teamspiel_heim_punkte AS Heim_Tore, t1.teamspiel_gast_punkte AS Gast_Tore,
|
||||
t1.teamspiel_heim_spielpunkte AS Heim_Punkte, t1.teamspiel_gast_spielpunkte AS Gast_Punkte
|
||||
FROM #__sportsmanager_teamspiel AS t1
|
||||
LEFT JOIN #__sportsmanager_begegnung AS t2 ON t1.begegnung_id = t2.begegnung_id
|
||||
LEFT JOIN #__sportsmanager_spieler AS t3 ON t1.heim_spieler_1_id = t3.spieler_id
|
||||
LEFT JOIN #__sportsmanager_spieler AS t4 ON t1.heim_spieler_2_id = t4.spieler_id
|
||||
LEFT JOIN #__sportsmanager_spieler AS t5 ON t1.gast_spieler_1_id = t5.spieler_id
|
||||
LEFT JOIN #__sportsmanager_spieler AS t6 ON t1.gast_spieler_2_id = t6.spieler_id
|
||||
WHERE t1.begegnung_id = " . $value->ID . "
|
||||
ORDER BY t1.teamspiel_nummer;
|
||||
";
|
||||
|
||||
$spielbericht = loadObjectList($db, $query);
|
||||
for ($i = 1; $i <= $Anzahl_Saetze; $i++) {
|
||||
$variable = "S" . $i . "_Pass_Heim1";
|
||||
$value->$variable = $spielbericht[$i - 1]->Pass_Heim1;
|
||||
$variable = "S" . $i . "_Pass_Heim2";
|
||||
$value->$variable = $spielbericht[$i - 1]->Pass_Heim2;
|
||||
$variable = "S" . $i . "_Pass_Gast1";
|
||||
$value->$variable = $spielbericht[$i - 1]->Pass_Gast1;
|
||||
$variable = "S" . $i . "_Pass_Gast2";
|
||||
$value->$variable = $spielbericht[$i - 1]->Pass_Gast2;
|
||||
$variable = "S" . $i . "_Heim_Tore";
|
||||
$value->$variable = $spielbericht[$i - 1]->Heim_Tore;
|
||||
$variable = "S" . $i . "_Gast_Tore";
|
||||
$value->$variable = $spielbericht[$i - 1]->Gast_Tore;
|
||||
$variable = "S" . $i . "_Heim_Punkte";
|
||||
$value->$variable = $spielbericht[$i - 1]->Heim_Punkte;
|
||||
$variable = "S" . $i . "_Gast_Punkte";
|
||||
$value->$variable = $spielbericht[$i - 1]->Gast_Punkte;
|
||||
}
|
||||
}
|
||||
$rows = sportsmanagerExportErgaenzeSpielberichte($db, $veranstaltungId, $rows);
|
||||
$dateiname = "Spielberichte " . $veranstaltung->bezeichnung;
|
||||
}
|
||||
|
||||
if ($export == "teams") {
|
||||
$query = "SELECT t2.verein_id, t2.vereinsname AS Verein, t2.vereinssitz AS Vereinssitz,"
|
||||
. "\n t2.vereinssitz_ortsteil AS Vereinssitz_Ortsteil, t2.url AS Vereinswebseite,"
|
||||
. "\n t1.team_id, t1.teamname AS Team, t3.bezeichnung AS Liga, t1.tischtyp AS Tisch,"
|
||||
. "\n t4.name AS Spielort, t4.strasse AS Spielort_Strasse, t4.plz AS Spielort_PLZ,"
|
||||
. "\n t4.ortsname AS Spielort_Ort, t4.ortsteil AS Spielort_Ortsteil, t4.telefon AS Spielort_Telefon,"
|
||||
. "\n t4.url AS Spielort_Url, t1.trainingstage AS Trainingstage, t4.ruhetage AS Spielort_Ruhetage"
|
||||
. "\n FROM #__sportsmanager_team AS t1"
|
||||
. "\n LEFT JOIN #__sportsmanager_verein AS t2 ON t1.verein_id = t2.verein_id"
|
||||
. "\n LEFT JOIN #__sportsmanager_veranstaltung AS t3 ON t1.veranstaltung_id = t3.veranstaltung_id"
|
||||
. "\n LEFT JOIN #__sportsmanager_spielort AS t4 ON t1.heimspielort_id = t4.spielort_id"
|
||||
. "\n WHERE t1.veranstaltung_id = " . $veranstaltungId . ";";
|
||||
|
||||
$rows = loadObjectList($db, $query);
|
||||
$rows = sportsmanagerExportErmittleTeams($db, $veranstaltungId);
|
||||
if (!isset($rows) or count($rows) == 0) {
|
||||
redirectSportsManagerURL('&task=admin_begegnungen&veranstaltungid=1', "Zu dieser Auswahl sind keine Daten vorhanden!");
|
||||
}
|
||||
|
||||
foreach ($rows AS $value)
|
||||
{
|
||||
$query = "SELECT * FROM #__sportsmanager_vereinsansprechpartner"
|
||||
. "\n WHERE verein_id = ".$value->verein_id." ORDER BY vereinsansprechpartner_id;";
|
||||
$ansprechpartner = loadObjectList($db, $query);
|
||||
for ($i = 0; $i <= 2; $i++){
|
||||
$index = $i + 1;
|
||||
if (isset($ansprechpartner[$i])){
|
||||
$property = "VAP{$index}_Nachname";
|
||||
$value->$property = $ansprechpartner[$i]->nachname;
|
||||
$property = "VAP{$index}_Vorname";
|
||||
$value->$property = $ansprechpartner[$i]->vorname;
|
||||
$property = "VAP{$index}_Telefon";
|
||||
$value->$property = $ansprechpartner[$i]->telefon;
|
||||
$property = "VAP{$index}_Mobil";
|
||||
$value->$property = $ansprechpartner[$i]->mobil;
|
||||
$property = "VAP{$index}_EMail";
|
||||
$value->$property = $ansprechpartner[$i]->email;
|
||||
} else {
|
||||
$property = "VAP{$index}_Nachname";
|
||||
$value->$property = "";
|
||||
$property = "VAP{$index}_Vorname";
|
||||
$value->$property = "";
|
||||
$property = "VAP{$index}_Telefon";
|
||||
$value->$property = "";
|
||||
$property = "VAP{$index}_Mobil";
|
||||
$value->$property = "";
|
||||
$property = "VAP{$index}_EMail";
|
||||
$value->$property = "";
|
||||
}
|
||||
}
|
||||
|
||||
$query = "SELECT * FROM #__sportsmanager_teamansprechpartner"
|
||||
. "\n WHERE team_id = ".$value->team_id." ORDER BY kontaktperson_id;";
|
||||
$ansprechpartner = loadObjectList($db, $query);
|
||||
for ($i = 0; $i <= 1; $i++){
|
||||
$index = $i + 1;
|
||||
if (isset($ansprechpartner[$i])){
|
||||
$property = "TAP{$index}_Nachname";
|
||||
$value->$property = $ansprechpartner[$i]->nachname;
|
||||
$property = "TAP{$index}_Vorname";
|
||||
$value->$property = $ansprechpartner[$i]->vorname;
|
||||
$property = "TAP{$index}_Telefon";
|
||||
$value->$property = $ansprechpartner[$i]->telefon;
|
||||
$property = "TAP{$index}_Mobil";
|
||||
$value->$property = $ansprechpartner[$i]->mobil;
|
||||
$property = "TAP{$index}_EMail";
|
||||
$value->$property = $ansprechpartner[$i]->email;
|
||||
} else {
|
||||
$property = "TAP{$index}_Nachname";
|
||||
$value->$property = "";
|
||||
$property = "TAP{$index}_Vorname";
|
||||
$value->$property = "";
|
||||
$property = "TAP{$index}_Telefon";
|
||||
$value->$property = "";
|
||||
$property = "TAP{$index}_Mobil";
|
||||
$value->$property = "";
|
||||
$property = "TAP{$index}_EMail";
|
||||
$value->$property = "";
|
||||
}
|
||||
}
|
||||
}
|
||||
$dateiname = "Teams " . $veranstaltung->bezeichnung;
|
||||
}
|
||||
|
||||
$dateiname .= ".csv";
|
||||
|
||||
exportCSV($rows, $dateiname);
|
||||
exportCSV($rows, $dateiname);
|
||||
}
|
||||
|
||||
function adminEditTurnier(): void
|
||||
|
||||
@@ -12843,6 +12843,11 @@ static function adminVerbandsorganMitglieder($rows,$verbandsorgan): void
|
||||
{
|
||||
global $params;
|
||||
?>
|
||||
<script type="text/javascript">
|
||||
function anzeige_aktualisieren() {
|
||||
document.getElementById("export_row").style.display = document.adminForm.exportformat.value !== "jsondatei" ? '' : 'none';
|
||||
}
|
||||
</script>
|
||||
<form action="<?php echo SportsManagerURL(); ?>" method="post" name="adminForm" id="adminForm">
|
||||
<div class="uk-overflow-auto">
|
||||
<table style="width: 500px">
|
||||
@@ -12862,7 +12867,7 @@ static function adminVerbandsorganMitglieder($rows,$verbandsorgan): void
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<tr id="export_row">
|
||||
<td nowrap style="text-align: right">
|
||||
<label for="export">Exportieren</label>
|
||||
</td>
|
||||
@@ -12880,8 +12885,9 @@ static function adminVerbandsorganMitglieder($rows,$verbandsorgan): void
|
||||
<label for="exportformat">Exportformat</label>
|
||||
</td>
|
||||
<td nowrap>
|
||||
<select class="uk-select uk-form-width-large" style='width: 320px;' name="exportformat" id="exportformat" size="1">
|
||||
<select class="uk-select uk-form-width-large" style='width: 320px;' name="exportformat" id="exportformat" size="1" onchange="anzeige_aktualisieren();">
|
||||
<option value='csvdatei'>CSV-Datei</option>
|
||||
<option value='jsondatei'>JSON-Datei</option>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
Reference in New Issue
Block a user