diff --git a/src/structure/components/com_sportsmanager/admin.php b/src/structure/components/com_sportsmanager/admin.php
index 58050b5..775a8e7 100644
--- a/src/structure/components/com_sportsmanager/admin.php
+++ b/src/structure/components/com_sportsmanager/admin.php
@@ -7295,41 +7295,8 @@ function adminEditOrdnungsstrafe(): void
$query .= "\n AND t8.id = '" . $filter['aussteller'] . "'";
$query .= "\n ORDER BY ordnungsstrafen_id";
$rows = loadObjectList($db, $query);
-
- $dateiname = "Ordnungsstrafen.csv";
- $dateiname = bereinigterDateiname($dateiname);
- ob_end_clean(); // Wegen UTF-8-Zeichen, die in der ausgabe vorhanden sind
- Header("Content-Type: text/x-csv");
- Header('Expires: ' . gmdate('D, d M Y H:i:s') . ' GMT');
- Header('Content-Disposition: attachment; filename="' . $dateiname . '"');
- Header("Pragma: no-cache");
-
- $data = "";
- $trennzeichen = ";";
- $spalte = 0;
- $header = "";
-
- foreach ($rows[0] as $field => $value) {
- if ($spalte != 0) {
- $header .= $trennzeichen;
- }
- $header .= $field;
- $spalte++;
- }
- foreach ($rows as $row) {
- $line = '';
- $spalte = 0;
- foreach ($row as $value) {
- if ($spalte != 0) {
- $line .= $trennzeichen;
- }
- $line .= $value;
- $spalte++;
- }
- $data .= trim($line) . "\n";
- }
-
- echo $header . "\n" . utf8_decode($data);
+
+ exportCSV($rows, "Ordnungsstrafen.csv");
die();
}
@@ -7454,6 +7421,27 @@ function adminEditVerbandsorgan(): void
redirectSportsManagerURL('&task=admin_verbandsorgane');
}
+#[NoReturn] function adminExportVerbandsorgane(): void
+{
+ $db = getDatabase();
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
+
+ if (!benutzerZugriff("organisationen_aendern"))
+ keinZugriff(true);
+
+ $query = "SELECT t1.verbandsorgan AS Verbandsorgan, t2.funktion As Funktion, t2.zusatzinfo As Zusatzinfo, t3.spielernr AS Passnummer,"
+ . "\n t2.nachname AS Nachname, t2.Vorname AS Vorname, t2.email AS 'E-Mail', t2.telefon AS Telefon, t2.mobil AS Mobil"
+ . "\n FROM #__sportsmanager_verbandsorgane t1"
+ . "\n LEFT JOIN #__sportsmanager_mitglied_von_verbandsorgan t2 ON t2.verbandsorgane_id = t1.verbandsorgane_id"
+ . "\n LEFT JOIN #__sportsmanager_spieler t3 ON t3.spieler_id = t2.spieler_id"
+ . "\n ORDER BY t1.reihenfolge, t2.reihenfolge, t2.nachname, t2.vorname;";
+ $rows = loadObjectList($db, $query);
+
+ exportCSV($rows, "Verbandsorgane.csv");
+
+ die();
+}
+
function adminVerbandsorganMitglieder(): void
{
$db = getDatabase();
@@ -7465,10 +7453,10 @@ function adminVerbandsorganMitglieder(): void
$id = $jInput->get('id', 0, 'INT');
$query = "SELECT t2.*, t1.verbandsorgan"
- . "\n FROM #__sportsmanager_verbandsorgane t1"
- . "\n LEFT JOIN #__sportsmanager_mitglied_von_verbandsorgan t2 ON t2.verbandsorgane_id = t1.verbandsorgane_id"
- . "\n WHERE t2.verbandsorgane_id = $id"
- . "\n ORDER BY t2.reihenfolge, t2.nachname, t2.vorname;";
+ . "\n FROM #__sportsmanager_verbandsorgane t1"
+ . "\n LEFT JOIN #__sportsmanager_mitglied_von_verbandsorgan t2 ON t2.verbandsorgane_id = t1.verbandsorgane_id"
+ . "\n WHERE t2.verbandsorgane_id = $id"
+ . "\n ORDER BY t2.reihenfolge, t2.nachname, t2.vorname;";
$rows = loadObjectList($db, $query);
$query = "SELECT * FROM #__sportsmanager_verbandsorgane WHERE verbandsorgane_id = $id";
@@ -12370,30 +12358,42 @@ function adminBegegnungenExportForm(): void
$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
+ 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;
";
- $Bestaetigt = loadObjectList($db, $query);
- if (!empty($Bestaetigt)) {
- $value->vorgeschlagen_um = $Bestaetigt[0]->gespeichert_um;
- $value->vorgeschlagen_von = $Bestaetigt[0]->gespeichert_von;
- } else {
- $value->vorgeschlagen_um = $Bestaetigt[0]->gespeichert_um;
- $value->vorgeschlagen_von = $Bestaetigt[0]->gespeichert_von;
+ $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
+ 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;
@@ -12401,28 +12401,32 @@ function adminBegegnungenExportForm(): void
$Bestaetigt = loadObjectList($db, $query);
if (!empty($Bestaetigt)) {
$value->bestaetigt_um = $Bestaetigt[0]->gespeichert_um;
- $value->bestaetigt_von = $Bestaetigt[0]->gespeichert_von;
- } else {
- $value->bestaetigt_um = $Bestaetigt[0]->gespeichert_um;
- $value->bestaetigt_von = $Bestaetigt[0]->gespeichert_von;
+ 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
+ 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);
+ $Bestaetigt = loadObjectList($db, $query);
if (!empty($Moderator)) {
$value->moderator_um = $Moderator[0]->gespeichert_um;
- $value->moderator_von = $Moderator[0]->gespeichert_von;
- } else {
- $value->moderator_um = $Moderator[0]->gespeichert_um;
- $value->moderator_von = $Moderator[0]->gespeichert_von;
+ 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
diff --git a/src/structure/components/com_sportsmanager/sportsmanager.php b/src/structure/components/com_sportsmanager/sportsmanager.php
index dce344b..484d2a8 100644
--- a/src/structure/components/com_sportsmanager/sportsmanager.php
+++ b/src/structure/components/com_sportsmanager/sportsmanager.php
@@ -383,6 +383,9 @@ if ($task == "spielerbild") {
case 'admin_verbandsorgan_remove':
adminRemoveVerbandsorgan();
break;
+ case 'admin_verbandsorgane_export':
+ adminExportVerbandsorgane();
+ break;
case 'admin_verbandsorgan_mitglieder':
adminVerbandsorganMitglieder();
break;
@@ -4290,9 +4293,18 @@ function verbandsorgane(): void
function verbandsorganeDetails($uebergabe_id = 0): void
{
$db = getDatabase();
+ $app = Factory::getContainer()->get(SiteApplication::class);
+ $jInput = $app->input;
+
global $params;
$jInput = Factory::getContainer()->get(SiteApplication::class)->input;
+ $user_id = isExternalDatabase() ? 0 : (isJson() ? getUserID() : $app->getIdentity()->id);
+ if ($user_id > 0)
+ $erweiterte_anzeige = true;
+ else
+ $erweiterte_anzeige = false;
+
if ($uebergabe_id == 0)
$id = $jInput->get('id', 0, 'INT');
else
@@ -4306,10 +4318,20 @@ function verbandsorganeDetails($uebergabe_id = 0): void
. "\n ORDER BY reihenfolge, nachname, vorname";
$mitglieder = loadObjectList($db, $query);
+ $query = "SELECT zusatzinfo FROM #__sportsmanager_mitglied_von_verbandsorgan"
+ . "\n WHERE verbandsorgane_id = $id"
+ . "\n AND zusatzinfo IS NOT NULL AND TRIM(zusatzinfo) <> ''"
+ . "\n ORDER BY reihenfolge, nachname, vorname";
+ $zusatzinfos = loadObjectList($db, $query);
+ if (count($zusatzinfos) > 0)
+ $zusatzinfos_vorhanden = true;
+ else
+ $zusatzinfos_vorhanden = false;
+
if (isJson()) {
echo json_encode($mitglieder);
} else {
- HTML_sportsmanager::verbandsorganeDetails($params->get('titel'), $params->get('beschreibung'), $verbandsorgane[0], $mitglieder);
+ HTML_sportsmanager::verbandsorganeDetails($params->get('titel'), $params->get('beschreibung'), $verbandsorgane[0], $mitglieder, $erweiterte_anzeige, $zusatzinfos_vorhanden);
}
}
diff --git a/src/structure/components/com_sportsmanager/views/sportsmanager/view.html.php b/src/structure/components/com_sportsmanager/views/sportsmanager/view.html.php
index 3891991..306a5d1 100644
--- a/src/structure/components/com_sportsmanager/views/sportsmanager/view.html.php
+++ b/src/structure/components/com_sportsmanager/views/sportsmanager/view.html.php
@@ -4069,7 +4069,7 @@ static function verbandsorgane($titel, $beschreibung, $rows, $organisation_zeige
@@ -4095,7 +4095,7 @@ static function verbandsorganeDetails($titel, $beschreibung, $verbandsorgan, $ro
if (count($rows) > 0) {
?>
Mitglieder
-
- |
+ |
spieler_id, 45, 60, 0, 0, 'border="1"'); ?>
|
-
+ |
nachname . ", " . $row->vorname); ?>
|
-
+
+ |
+ email); ?>
+ |
+
+
funktion); ?>
|
-
+
+ |
zusatzinfo); ?>
|
+
-
- 0) {
?>
@@ -7506,6 +7504,7 @@ class HTML_sportsmanager_admin
if (count($rows) > 0) {
?>
+
+
+
+