From 29f0e6842b1bf78db47223b63e34af7133aec388 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=BCrgen=20Meyer?= Date: Tue, 24 Jun 2025 13:29:20 +0200 Subject: [PATCH 01/24] issue #74 Player image size (Details siehe issue #74) --- README.md | 4 +- .../views/sportsmanager/view.html.php | 961 +++++++++--------- 2 files changed, 477 insertions(+), 488 deletions(-) diff --git a/README.md b/README.md index fb15ca2..72b20c0 100644 --- a/README.md +++ b/README.md @@ -46,6 +46,4 @@ joomla specific database prefixes like #__ To set it up, insert into the configuration popup which follows after you enable the framework support: Joomla install path: `./data/joomla_data` JConfig: `./data/joomla_data/configuration.php` - - -Test \ No newline at end of file + \ No newline at end of file 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 e292f0a..8348c98 100644 --- a/src/structure/components/com_sportsmanager/views/sportsmanager/view.html.php +++ b/src/structure/components/com_sportsmanager/views/sportsmanager/view.html.php @@ -161,7 +161,6 @@ static function veranstaltungenHeader($titel, $beschreibung, $saisons, $filter_s static function veranstaltungHeaderAlone($veranstaltung, $vorherige_veranstaltung_id, $naechste_veranstaltung_id): void { global $params; - ?> @@ -516,6 +515,7 @@ static function turnierdisziplinenHeader($turnier, $vorherige_turnier_id, $naech - + + + + + -
+ + turniermeldung_id]; + $spielerIds = $meldungenSpielerIds[$meldung->turniermeldung_id]; + $spielerGeschlechter = $meldungenSpielerGeschlechter[$meldung->turniermeldung_id]; + $spielerBilderAusblenden = $meldungenSpielerBilderAusblenden[$meldung->turniermeldung_id]; + if (!isset($spielerIds[0])) + echo htmlentities_utf8($spieler[0]); + else { + ?> + + "; + if (!isset($spielerIds[1])) + echo htmlentities_utf8($spieler[1]); + else { + ?> + + + + + + +
- - - - - - - - -
- turniermeldung_id]; - $spielerIds = $meldungenSpielerIds[$meldung->turniermeldung_id]; - $spielerGeschlechter = $meldungenSpielerGeschlechter[$meldung->turniermeldung_id]; - $spielerBilderAusblenden = $meldungenSpielerBilderAusblenden[$meldung->turniermeldung_id]; - if (!isset($spielerIds[0])) - echo htmlentities_utf8($spieler[0]); - else { - ?> - - "; - if (!isset($spielerIds[1])) - echo htmlentities_utf8($spieler[1]); - else { - ?> - - - - - - -
- - @@ -658,7 +652,8 @@ static function turnierdisziplin($turnier, $disziplin, $meldungen, $meldungenSpi > turnierbezeichnung) . (!empty($turnier->turnierort) ? (" in " . $turnier->turnierort) : ""); ?> + href="turnier_id); ?>"> + turnierbezeichnung) . (!empty($turnier->turnierort) ? (" in " . $turnier->turnierort) : ""); ?> > disziplin); ?> turnierort)) echo $turnier->turnierort . ", "; - echo FormatiertesDatum($disziplin->beginn) . " " . Text::_('COM_SPORTSMANAGER_HOUR') . ", " . $disziplin->teilnehmer . Text::_('COM_SPORTSMANAGER_MESSAGES'); + echo FormatiertesDatum($disziplin->beginn) . " " . Text::_('COM_SPORTSMANAGER_HOUR') . ", " . $disziplin->teilnehmer . " " . Text::_('COM_SPORTSMANAGER_MESSAGES'); ?> @@ -776,61 +771,43 @@ static function turnierdisziplin($turnier, $disziplin, $meldungen, $meldungenSpi - + + get('pageclass_sfx'); ?>"> + @@ -865,6 +843,7 @@ static function turnierdisziplin($turnier, $disziplin, $meldungen, $meldungenSpi } ?> + - - + + @@ -965,47 +925,27 @@ static function turnierdisziplin($turnier, $disziplin, $meldungen, $meldungenSpi - - - + + + + +
- - - - - - - - - - -
- turniermeldung_id]; - $spielerIds = $meldungenSpielerIds[$meldung->turniermeldung_id]; - $spielerGeschlechter = $meldungenSpielerGeschlechter[$meldung->turniermeldung_id]; - $spielerBilderAusblenden = $meldungenSpielerBilderAusblenden[$meldung->turniermeldung_id]; - if (!isset($spielerIds[0])) - echo htmlentities_utf8($spieler[0]); - else { - ?> - - "; - if (!isset($spielerIds[1])) - echo htmlentities_utf8($spieler[1]); - else { - ?> - - - - - - -
- -
+ turniermeldung_id]; + $spielerIds = $meldungenSpielerIds[$meldung->turniermeldung_id]; + $spielerGeschlechter = $meldungenSpielerGeschlechter[$meldung->turniermeldung_id]; + $spielerBilderAusblenden = $meldungenSpielerBilderAusblenden[$meldung->turniermeldung_id]; + if (!isset($spielerIds[0])) + echo htmlentities_utf8($spieler[0]); + else { + ?> + + "; + if (!isset($spielerIds[1])) + echo htmlentities_utf8($spieler[1]); + else { + ?> + + + + +
- - - - - - - - - - -
- ergebnis == 1) { - $gewinner_meldung_id = $spiel->heim_meldung_id; - $verlierer_meldung_id = $spiel->gast_meldung_id; - } else { - $gewinner_meldung_id = $spiel->gast_meldung_id; - $verlierer_meldung_id = $spiel->heim_meldung_id; - } - if (isset($meldungenSpielerNamen[$gewinner_meldung_id])) { - $gewinner = $meldungenSpielerNamen[$gewinner_meldung_id]; - $gewinnerIds = $meldungenSpielerIds[$gewinner_meldung_id]; - $gewinnerGeschlechter = $meldungenSpielerGeschlechter[$gewinner_meldung_id]; - $gewinnerBilderAusblenden = $meldungenSpielerBilderAusblenden[$gewinner_meldung_id]; - } else { - $gewinner = null; - $gewinnerIds = null; - $gewinnerGeschlechter = null; - $gewinnerBilderAusblenden = null; - } - if (isset($meldungenSpielerNamen[$verlierer_meldung_id])) { - $verlierer = $meldungenSpielerNamen[$verlierer_meldung_id]; - $verliererIds = $meldungenSpielerIds[$verlierer_meldung_id]; - $verliererGeschlechter = $meldungenSpielerGeschlechter[$verlierer_meldung_id]; - $verliererBilderAusblenden = $meldungenSpielerBilderAusblenden[$verlierer_meldung_id]; - } else { - $verlierer = null; - $verliererIds = null; - $verliererGeschlechter = null; - $verliererBilderAusblenden = null; - } - if (isset($gewinner)) { - echo htmlentities_utf8($gewinner[0]); - if (isset($gewinner[1])) - echo "
" . htmlentities_utf8($gewinner[1]); - } - ?> -
- - - -
- -
+ ergebnis == 1) { + $gewinner_meldung_id = $spiel->heim_meldung_id; + $verlierer_meldung_id = $spiel->gast_meldung_id; + } else { + $gewinner_meldung_id = $spiel->gast_meldung_id; + $verlierer_meldung_id = $spiel->heim_meldung_id; + } + if (isset($meldungenSpielerNamen[$gewinner_meldung_id])) { + $gewinner = $meldungenSpielerNamen[$gewinner_meldung_id]; + $gewinnerIds = $meldungenSpielerIds[$gewinner_meldung_id]; + $gewinnerGeschlechter = $meldungenSpielerGeschlechter[$gewinner_meldung_id]; + $gewinnerBilderAusblenden = $meldungenSpielerBilderAusblenden[$gewinner_meldung_id]; + } else { + $gewinner = null; + $gewinnerIds = null; + $gewinnerGeschlechter = null; + $gewinnerBilderAusblenden = null; + } + if (isset($meldungenSpielerNamen[$verlierer_meldung_id])) { + $verlierer = $meldungenSpielerNamen[$verlierer_meldung_id]; + $verliererIds = $meldungenSpielerIds[$verlierer_meldung_id]; + $verliererGeschlechter = $meldungenSpielerGeschlechter[$verlierer_meldung_id]; + $verliererBilderAusblenden = $meldungenSpielerBilderAusblenden[$verlierer_meldung_id]; + } else { + $verlierer = null; + $verliererIds = null; + $verliererGeschlechter = null; + $verliererBilderAusblenden = null; + } + if (isset($gewinner)) { + echo htmlentities_utf8($gewinner[0]); + if (isset($gewinner[1])) + echo "
" . htmlentities_utf8($gewinner[1]); + } + ?> +
+ + - - - - - - - - - - -
- " . htmlentities_utf8($verlierer[1]); - } - ?> - - - - -
- -
+ " . htmlentities_utf8($verlierer[1]); + } + ?> + + +
@@ -1278,8 +1252,10 @@ global $params; > bezeichnung); ?> > - teamname); ?>teamname); ?> - teamname)." "; + echo Text::_('COM_SPORTSMANAGER_VERSUS_SHORTCUT'); + echo " ".htmlentities_utf8($gast_team->teamname); } ?> @@ -1329,217 +1305,222 @@ global $params;
- -
- - - - - - -
- - - - - - - - - -
- team_id, 48, 48, 0, 0, 'border="0" style="text-align: right"'); - if ($bild == null && $heim_team->verein_id != null) - $bild = bildHTML("vereine", $heim_team->verein_id, 48, 48, 0, 0, 'border="0" style="text-align: right"'); - if ($bild != null) - echo $bild; - ?> - -

teamname); ?>

-
- team_id, 48, 48, 0, 0, 'border="0" style="text-align: left"'); - if ($bild != null) - echo $bild; - else if ($heim_team->verein_id != null) { - $bild = bildHTML("vereine", $gast_team->verein_id, 48, 48, 0, 0, 'border="0" style="text-align: left"'); - if ($bild != null) - echo $bild; - } - ?> - -

teamname); ?>

-
-
-

heim_spielpunkte . ":" . $begegnung->gast_spielpunkte; ?>

spielpunkte_wertung_einzel != 2 || $modus->spielpunkte_wertung_doppel != 2) echo "

(" . $begegnung->heim_punkte . ":" . $begegnung->gast_punkte . ")

"; ?> -
+ + + + + + + + + +
+ team_id, 48, 48, 0, 0, 'border="0" style="text-align: right"'); + if ($bild == null && $heim_team->verein_id != null) + $bild = bildHTML("vereine", $heim_team->verein_id, 48, 48, 0, 0, 'border="0" style="text-align: right"'); + if ($bild != null) + echo $bild; + ?> + +

teamname); ?>

+
+

heim_spielpunkte . ":" . $begegnung->gast_spielpunkte; ?>

+ spielpunkte_wertung_einzel != 2 || $modus->spielpunkte_wertung_doppel != 2) + echo "

(" . $begegnung->heim_punkte . ":" . $begegnung->gast_punkte . ")

"; ?> +
+ team_id, 48, 48, 0, 0, 'border="0" style="text-align: left"'); + if ($bild != null) + echo $bild; + else if ($heim_team->verein_id != null) { + $bild = bildHTML("vereine", $gast_team->verein_id, 48, 48, 0, 0, 'border="0" style="text-align: left"'); + if ($bild != null) + echo $bild; + } + ?> + +

teamname); ?>

+
- 0) { - $bilder_anzeigen = false; - foreach ($spiele as $spiel) { - if (bildHTML("mannschaftsmitglieder", !$details_anzeigen && $spiel->heim_spieler_1_bild_ausblenden ? '' : $spiel->heim_spieler_1_mitglied_id, 30, 40) != null || bildHTML("spieler", !$details_anzeigen && $spiel->heim_spieler_1_bild_ausblenden ? '' : $spiel->heim_spieler_1_id, 30, 40, 0, 0, $spiel->heim_spieler_1_geschlecht == 'M' ? 'm' : 'w') != null) { - $bilder_anzeigen = true; - break; - } - if (!(empty($spiel->heim_spieler_2_id) && empty($spiel->gast_spieler_2_id)) && (bildHTML("mannschaftsmitglieder", !$details_anzeigen && $spiel->heim_spieler_2_bild_ausblenden ? '' : $spiel->heim_spieler_2_mitglied_id, 30, 40) != null || bildHTML("spieler", !$details_anzeigen && $spiel->heim_spieler_2_bild_ausblenden ? '' : $spiel->heim_spieler_2_id, 30, 40, 0, 0, $spiel->heim_spieler_2_geschlecht == 'M' ? 'm' : 'w') != null)) { - $bilder_anzeigen = true; - break; - } - if (bildHTML("mannschaftsmitglieder", !$details_anzeigen && $spiel->gast_spieler_1_bild_ausblenden ? '' : $spiel->gast_spieler_1_mitglied_id, 30, 40) != null || bildHTML("spieler", !$details_anzeigen && $spiel->gast_spieler_1_bild_ausblenden ? '' : $spiel->gast_spieler_1_id, 30, 40, 0, 0, $spiel->gast_spieler_1_geschlecht == 'M' ? 'm' : 'w') != null) { - $bilder_anzeigen = true; - break; - } - if (!(empty($spiel->heim_spieler_2_id) && empty($spiel->gast_spieler_2_id)) && (bildHTML("mannschaftsmitglieder", !$details_anzeigen && $spiel->gast_spieler_2_bild_ausblenden ? '' : $spiel->gast_spieler_2_mitglied_id, 30, 40) != null || bildHTML("spieler", !$details_anzeigen && $spiel->gast_spieler_2_bild_ausblenden ? '' : $spiel->gast_spieler_2_id, 30, 40, 0, 0, $spiel->gast_spieler_2_geschlecht == 'M' ? 'm' : 'w') != null)) { - $bilder_anzeigen = true; - break; - } - } + 0) { + $bilder_anzeigen = false; + foreach ($spiele as $spiel) { + if (bildHTML("mannschaftsmitglieder", !$details_anzeigen && $spiel->heim_spieler_1_bild_ausblenden ? '' : $spiel->heim_spieler_1_mitglied_id, 30, 40) != null || bildHTML("spieler", !$details_anzeigen && $spiel->heim_spieler_1_bild_ausblenden ? '' : $spiel->heim_spieler_1_id, 30, 40, 0, 0, $spiel->heim_spieler_1_geschlecht == 'M' ? 'm' : 'w') != null) { + $bilder_anzeigen = true; + break; + } + if (!(empty($spiel->heim_spieler_2_id) && empty($spiel->gast_spieler_2_id)) && (bildHTML("mannschaftsmitglieder", !$details_anzeigen && $spiel->heim_spieler_2_bild_ausblenden ? '' : $spiel->heim_spieler_2_mitglied_id, 30, 40) != null || bildHTML("spieler", !$details_anzeigen && $spiel->heim_spieler_2_bild_ausblenden ? '' : $spiel->heim_spieler_2_id, 30, 40, 0, 0, $spiel->heim_spieler_2_geschlecht == 'M' ? 'm' : 'w') != null)) { + $bilder_anzeigen = true; + break; + } + if (bildHTML("mannschaftsmitglieder", !$details_anzeigen && $spiel->gast_spieler_1_bild_ausblenden ? '' : $spiel->gast_spieler_1_mitglied_id, 30, 40) != null || bildHTML("spieler", !$details_anzeigen && $spiel->gast_spieler_1_bild_ausblenden ? '' : $spiel->gast_spieler_1_id, 30, 40, 0, 0, $spiel->gast_spieler_1_geschlecht == 'M' ? 'm' : 'w') != null) { + $bilder_anzeigen = true; + break; + } + if (!(empty($spiel->heim_spieler_2_id) && empty($spiel->gast_spieler_2_id)) && (bildHTML("mannschaftsmitglieder", !$details_anzeigen && $spiel->gast_spieler_2_bild_ausblenden ? '' : $spiel->gast_spieler_2_mitglied_id, 30, 40) != null || bildHTML("spieler", !$details_anzeigen && $spiel->gast_spieler_2_bild_ausblenden ? '' : $spiel->gast_spieler_2_id, 30, 40, 0, 0, $spiel->gast_spieler_2_geschlecht == 'M' ? 'm' : 'w') != null)) { + $bilder_anzeigen = true; + break; + } + } - ?> -
- - - - - - - - - - - - - $k = 0; - foreach ($spiele as $spiel) { - ?> - - - - - +
teamspiel_nummer ?> - - - - heim_spieler_2_id) && empty($spiel->gast_spieler_2_id))) { - ?> - - - -
" - style="text-align: center"> - heim_spieler_1_bild_ausblenden ? '' : $spiel->heim_spieler_1_mitglied_id, 30, 40, 0, 0, 'border="1"'); - if ($bild == null) - $bild = bildHTML("spieler", !$details_anzeigen && $spiel->heim_spieler_1_bild_ausblenden ? '' : $spiel->heim_spieler_1_id, 30, 40, 0, 0, 'border="1"', $spiel->heim_spieler_1_geschlecht == 'M' ? 'm' : 'w'); - if ($bild != null) - echo $bild; - ?> - - heim_spieler_2_bild_ausblenden ? '' : $spiel->heim_spieler_2_mitglied_id, 30, 40, 0, 0, 'border="1"'); - if ($bild == null) - $bild = bildHTML("spieler", !$details_anzeigen && $spiel->heim_spieler_2_bild_ausblenden ? '' : $spiel->heim_spieler_2_id, 30, 40, 0, 0, 'border="1"', $spiel->heim_spieler_2_geschlecht == 'M' ? 'm' : 'w'); - if ($bild != null) - echo $bild; - ?> -
-
+ + + + + + + + + + + - heim_spieler_1_id != null && $spiel->heim_spieler_1_id != 0) { - ?>heim_spieler_1_nachname . ", " . $spiel->heim_spieler_1_vorname)); ?> - heim_spieler_2_id != null && $spiel->heim_spieler_2_id != 0) { - ?>
heim_spieler_2_nachname . ", " . $spiel->heim_spieler_2_vorname)); ?> - - + $k = 0; + foreach ($spiele as $spiel) { + ?> + + + + + + if (!(empty($spiel->heim_spieler_2_id) && empty($spiel->gast_spieler_2_id))) { + $bild = bildHTML("mannschaftsmitglieder", !$details_anzeigen && $spiel->heim_spieler_2_bild_ausblenden ? '' : $spiel->heim_spieler_2_mitglied_id, 45, 60, 0, 0, 'border="1"'); + if ($bild == null) + $bild = bildHTML("spieler", !$details_anzeigen && $spiel->heim_spieler_2_bild_ausblenden ? '' : $spiel->heim_spieler_2_id, 45, 60, 0, 0, 'border="1"', $spiel->heim_spieler_2_geschlecht == 'M' ? 'm' : 'w'); + if ($bild != null) + echo $bild; + } + ?> + + + - + - - - - - -
teamspiel_nummer ?> + heim_spieler_1_bild_ausblenden ? '' : $spiel->heim_spieler_1_mitglied_id, 45, 60, 0, 0, 'border="1"'); + if ($bild == null) + $bild = bildHTML("spieler", !$details_anzeigen && $spiel->heim_spieler_1_bild_ausblenden ? '' : $spiel->heim_spieler_1_id, 45, 60, 0, 0, 'border="1"', $spiel->heim_spieler_1_geschlecht == 'M' ? 'm' : 'w'); + if ($bild != null) + echo $bild; - ergebnis_detailliert); ?> - gast_spieler_1_id != null && $spiel->gast_spieler_1_id != 0) { - ?>gast_spieler_1_nachname . ", " . $spiel->gast_spieler_1_vorname)); ?> - gast_spieler_2_id != null && $spiel->gast_spieler_2_id != 0) { - ?>
gast_spieler_2_nachname . ", " . $spiel->gast_spieler_2_vorname)); ?> - -
+ heim_spieler_1_id != null && $spiel->heim_spieler_1_id != 0) { + ?> + heim_spieler_1_nachname . ", " . $spiel->heim_spieler_1_vorname)); ?> + heim_spieler_2_id != null && $spiel->heim_spieler_2_id != 0) { + ?>
+ heim_spieler_2_nachname . ", " . $spiel->heim_spieler_2_vorname)); ?> + +
- - - - heim_spieler_2_id) && empty($spiel->gast_spieler_2_id))) { - ?> - - - -
" - style="text-align: center"> - gast_spieler_1_bild_ausblenden ? '' : $spiel->gast_spieler_1_mitglied_id, 30, 40, 0, 0, 'border="1"'); - if ($bild == null) - $bild = bildHTML("spieler", !$details_anzeigen && $spiel->gast_spieler_1_bild_ausblenden ? '' : $spiel->gast_spieler_1_id, 30, 40, 0, 0, 'border="1"', $spiel->gast_spieler_1_geschlecht == 'M' ? 'm' : 'w'); - if ($bild != null) - echo $bild; - ?> - - gast_spieler_2_bild_ausblenden) && ($spiel->gast_spieler_2_mitglied_id != null || ($spiel->gast_spieler_2_id != null && $spiel->gast_spieler_2_id != 0))) { - $bild = bildHTML("mannschaftsmitglieder", !$details_anzeigen && $spiel->gast_spieler_2_bild_ausblenden ? '' : $spiel->gast_spieler_2_mitglied_id, 30, 40, 0, 0, 'border="1"'); - if ($bild == null) - $bild = bildHTML("spieler", !$details_anzeigen && $spiel->gast_spieler_2_bild_ausblenden ? '' : $spiel->gast_spieler_2_id, 30, 40, 0, 0, 'border="1"', $spiel->gast_spieler_2_geschlecht == 'M' ? 'm' : 'w'); - if ($bild != null) - echo $bild; - } - ?> -
-
-
-   - + ergebnis_detailliert); ?> + + + + gast_spieler_1_id != null && $spiel->gast_spieler_1_id != 0) { + ?> + gast_spieler_1_nachname . ", " . $spiel->gast_spieler_1_vorname)); ?> + gast_spieler_2_id != null && $spiel->gast_spieler_2_id != 0) { + ?>
+ gast_spieler_2_nachname . ", " . $spiel->gast_spieler_2_vorname)); ?> + + + + + + gast_spieler_1_bild_ausblenden ? '' : $spiel->gast_spieler_1_mitglied_id, 45, 60, 0, 0, 'border="1"'); + if ($bild == null) + $bild = bildHTML("spieler", !$details_anzeigen && $spiel->gast_spieler_1_bild_ausblenden ? '' : $spiel->gast_spieler_1_id, 45, 60, 0, 0, 'border="1"', $spiel->gast_spieler_1_geschlecht == 'M' ? 'm' : 'w'); + if ($bild != null) + echo $bild; + if (!(empty($spiel->heim_spieler_2_id) && empty($spiel->gast_spieler_2_id))) { + + if (($details_anzeigen || !$spiel->gast_spieler_2_bild_ausblenden) && ($spiel->gast_spieler_2_mitglied_id != null || ($spiel->gast_spieler_2_id != null && $spiel->gast_spieler_2_id != 0))) { + $bild = bildHTML("mannschaftsmitglieder", !$details_anzeigen && $spiel->gast_spieler_2_bild_ausblenden ? '' : $spiel->gast_spieler_2_mitglied_id, 45, 60, 0, 0, 'border="1"'); + if ($bild == null) + $bild = bildHTML("spieler", !$details_anzeigen && $spiel->gast_spieler_2_bild_ausblenden ? '' : $spiel->gast_spieler_2_id, 45, 60, 0, 0, 'border="1"', $spiel->gast_spieler_2_geschlecht == 'M' ? 'm' : 'w'); + if ($bild != null) + echo $bild; + } + } + ?> + + + + + +
+   + + + + + + + "; + //print_r($teams); + //echo ""; if (count($teams) > 0) { if ($alleine_angezeigt && $veranstaltung->tabellenwertung >= -1 && $veranstaltung->tabellenwertung <= 11 && count($spieltage) > 1) { ?> @@ -3892,6 +3875,7 @@ global $params; } } + //issue #74 (Aenderung notwendig?) static function spieler($beschreibung, $rows, $sortierung, $statistik, $beginn, $kategorie, $filter, $veranstaltungid, $einstufungid, $veranstaltungen, $veranstalterid, $veranstalter, $einstufungen, $details_anzeigen): void { global $params; @@ -5608,10 +5592,10 @@ global $params; } } + //issue #74 static function spielerstatistik($spielerstatistik, $spielerstatistik_punkte, $allein_angezeigt, $vorherige_spielerstatistik_id, $naechste_spielerstatistik_id, $details_anzeigen): void { global $params; - if ($allein_angezeigt) { ?> @@ -5725,6 +5709,9 @@ global $params; + tabellenwertung > 0) { ?> @@ -5737,22 +5724,27 @@ global $params; ?> - aktueller_verein_id == null) + echo htmlentities_utf8($row->nachname . ", " . $row->vorname); + else { + ?> + nachname . ", " . $row->vorname); ?> + typ == 3 && $row->spieler_2_id != null) { + ?> +
+ aktueller_verein_id_2 == null) + echo htmlentities_utf8($row->nachname_2 . ", " . $row->vorname_2); + else { + ?> + nachname_2 . ", " . $row->vorname_2); ?> + + + + + + tabellenwertung != 0) { ?> + @@ -6873,8 +6862,10 @@ global $params; + \n\n"; @@ -48,12 +65,12 @@ class HTML_sportsmanager_admin } return $Spalte_Nr; } - + global $params; ?>
- Sports Manager + Sports Manager
+ + + title=" + "> + + title=" + "> - + title=" + "> + title=" + "> + + title=" + "> - @@ -5784,53 +5776,46 @@ global $params; ?> - - - - - - - - -
- aktueller_verein_id == null) - echo htmlentities_utf8($row->nachname . ", " . $row->vorname); - else { - ?> - nachname . ", " . $row->vorname); ?> - typ == 3 && $row->spieler_2_id != null) { - ?> -
- aktueller_verein_id_2 == null) - echo htmlentities_utf8($row->nachname_2 . ", " . $row->vorname_2); - else { - ?> - nachname_2 . ", " . $row->vorname_2); ?> - -
- bild_ausblenden ? '' : $row->spieler_id, 57, 76, 0, 0, 'border="1" style="text-align: right" hspace="8" vspace="2"', $row->geschlecht == 'M' ? 'm' : 'w')) != null) - echo $bild; - ?> - - bild_ausblenden_2 ? '' : $row->spieler_2_id, 57, 76, 0, 0, 'border="1" style="text-align: right" hspace="8" vspace="2"', $row->geschlecht == 'M' ? 'm' : 'w')) != null) - echo $bild; - ?> -
-
+ bild_ausblenden ? '' : $row->spieler_id, 45, 60, 0, 0, 'border="1" style="text-align: right" hspace="8" vspace="2"', $row->geschlecht == 'M' ? 'm' : 'w')) != null) + echo $bild; + ?> + + bild_ausblenden_2 ? '' : $row->spieler_2_id, 45, 60, 0, 0, 'border="1" style="text-align: right" hspace="8" vspace="2"', $row->geschlecht == 'M' ? 'm' : 'w')) != null) + echo $bild; + ?> + @@ -5936,6 +5921,7 @@ global $params; } } + //issue #74 static function individualwettbewerb($individualwettbewerb, $spiele, $platzierungen, $allein_angezeigt, $vorheriger_individualwettbewerb_id, $naechster_individualwettbewerb_id, $details_anzeigen): void { global $params; @@ -6345,6 +6331,7 @@ global $params; } } + //issue #74 static function individualwettbewerbSpiele($individualwettbewerbe_bezeichnungen, $spiele, $details_anzeigen): void { global $params; @@ -6532,6 +6519,7 @@ global $params; } } + //issue #74 static function eloRangliste($spieler, $typ, $kategorie, $allein_angezeigt, $vorherige_ansicht, $naechste_ansicht, $details_anzeigen): void { global $params; @@ -6766,10 +6754,10 @@ global $params; } } + //issue #74 static function rangliste($rangliste, $rangliste_punkte, $allein_angezeigt, $details_anzeigen): void { global $params; - if ($allein_angezeigt) { ?>
@@ -6851,6 +6839,7 @@ global $params; class="uk-table uk-table-divider uk-table-hover uk-table-middle rangliste-width contentpaneopenget('pageclass_sfx'); ?>">
bild_ausblenden ? '' : $row->spieler_id, $row->geschlecht == 'M' ? 'm' : 'w', '#resize=75', 'border="1" style="text-align: left" hspace="8" vspace="2"')) != null) - echo $bild; ?> + if (($bild = bildHTML("spieler", !$details_anzeigen && $row->bild_ausblenden ? '' : $row->spieler_id, 57, 76, 0, 0, 'border="1" style="text-align: right" hspace="8" vspace="2"', $row->geschlecht == 'M' ? 'm' : 'w')) != null) + echo $bild; ?> + aktueller_verein_id == null) echo htmlentities_utf8($row->nachname . ", " . $row->vorname); From 56d8be9a55e4e515af3a9edcb9486c3550f3a910 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=BCrgen=20Meyer?= Date: Tue, 24 Jun 2025 13:52:32 +0200 Subject: [PATCH 02/24] =?UTF-8?q?Hilfskommentare=20in=20Programm=20zu=20is?= =?UTF-8?q?sue=20#74=20rausgel=C3=B6scht.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../views/sportsmanager/view.html.php | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) 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 8348c98..20e2fe1 100644 --- a/src/structure/components/com_sportsmanager/views/sportsmanager/view.html.php +++ b/src/structure/components/com_sportsmanager/views/sportsmanager/view.html.php @@ -515,7 +515,6 @@ static function turnierdisziplinenHeader($turnier, $vorherige_turnier_id, $naech - + Date: Thu, 24 Jul 2025 16:29:13 +0200 Subject: [PATCH 19/24] Kein Aufruf Korrekturschleife, wenn kein Array Korrektur vorhanden. --- .../com_sportsmanager/sportsmanager.php | 32 +++++++++++-------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/src/structure/components/com_sportsmanager/sportsmanager.php b/src/structure/components/com_sportsmanager/sportsmanager.php index b77dcff..ccb3c1f 100644 --- a/src/structure/components/com_sportsmanager/sportsmanager.php +++ b/src/structure/components/com_sportsmanager/sportsmanager.php @@ -1663,17 +1663,19 @@ function tabelle($veranstaltung, $spieltag, $alleine_angezeigt, $praesentation = } } - foreach($Korrektur AS $key => $value){ - $teams_korrektur = getTabelleSpieltag($veranstaltung,$spieltag,$value,$key-1); - foreach($teams_korrektur AS $key1 => $value1){ - foreach($teams AS $key2 => $value2){ - if ($value2->team_id == $value1->team_id){ - $value2->platz = $value1->platz; + if (isset($Korrektur)){ + foreach($Korrektur AS $key => $value){ + $teams_korrektur = getTabelleSpieltag($veranstaltung,$spieltag,$value,$key-1); + foreach($teams_korrektur AS $key1 => $value1){ + foreach($teams AS $key2 => $value2){ + if ($value2->team_id == $value1->team_id){ + $value2->platz = $value1->platz; + } } } } } - + //Tabelle neu sortieren usort($teams, function($a, $b) { return $a->platz <=> $b->platz; @@ -5002,17 +5004,19 @@ function teamstatistikAktualisieren($geaenderte_veranstaltung_id = 0, $geaendert } } - foreach($Korrektur AS $key => $value){ - $teams_korrektur = getTabelleSpieltag($veranstaltung,999,$value,$key-1); - foreach($teams_korrektur AS $key1 => $value1){ - foreach($teams AS $key2 => $value2){ - if ($value2->team_id == $value1->team_id){ - $value2->platz = $value1->platz; + if (isset($Korrektur)){ + foreach($Korrektur AS $key => $value){ + $teams_korrektur = getTabelleSpieltag($veranstaltung,999,$value,$key-1); + foreach($teams_korrektur AS $key1 => $value1){ + foreach($teams AS $key2 => $value2){ + if ($value2->team_id == $value1->team_id){ + $value2->platz = $value1->platz; + } } } } } - + //Tabelle neu sortieren usort($teams, function($a, $b) { return $a->platz <=> $b->platz; From fedb300d8fd85136226843532917579de65edf5e Mon Sep 17 00:00:00 2001 From: Marvin Flock Date: Tue, 29 Jul 2025 18:19:01 +0200 Subject: [PATCH 20/24] refactor: remove test from readme --- README.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/README.md b/README.md index 417dbe8..02a675d 100644 --- a/README.md +++ b/README.md @@ -83,7 +83,3 @@ JConfig: `./data/joomla_data/configuration.php` 7. Click on "Start Listening for PHP Debug Connections" in the top row of intellij 8. (Not sure if optional) Install a browser extension by Jetbrains https://chromewebstore.google.com/detail/xdebug-helper-by-jetbrain/aoelhdemabeimdhedkidlnbkfhnhgnhm - -======= - -Test From cf14997acb43bd50615608a6b37473674ec889e2 Mon Sep 17 00:00:00 2001 From: Marvin Flock Date: Thu, 31 Jul 2025 16:59:12 +0200 Subject: [PATCH 21/24] fix: explode of licenses only if licenses are given --- .../components/com_sportsmanager/sportsmanager.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/structure/components/com_sportsmanager/sportsmanager.php b/src/structure/components/com_sportsmanager/sportsmanager.php index e5678b5..78f7976 100644 --- a/src/structure/components/com_sportsmanager/sportsmanager.php +++ b/src/structure/components/com_sportsmanager/sportsmanager.php @@ -5025,7 +5025,12 @@ function ranglisteAktualisieren($geaenderte_rangliste_id = 0, $geaenderte_turnie foreach ($ranglisten as $rangliste_index => $rangliste) { $rangliste_id = $rangliste->rangliste_id; - $rangliste->lizenzen = explode(',', $rangliste->lizenzen); + if(!isset($rangliste->lizenzen) || $rangliste->lizenzen == "" || $rangliste->lizenzen == NULL) { + $rangliste->lizenzen = NULL; + } else { + $rangliste->lizenzen = explode(',', $rangliste->lizenzen); + } + $query = "SELECT *" . "\n FROM #__sportsmanager_rangliste_turnierdisziplin" . "\n INNER JOIN #__sportsmanager_turnierdisziplin USING (turnierdisziplin_id)" From 850fd2c07939af408d06fc81240cb377ff9a3a2c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=BCrgen=20Meyer?= Date: Fri, 1 Aug 2025 16:02:32 +0200 Subject: [PATCH 22/24] =?UTF-8?q?Einige=20Optimierungen=20durchgef=C3=BChr?= =?UTF-8?q?t.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com_sportsmanager/database/update.php | 60 ++------ .../com_sportsmanager/sportsmanager.php | 132 +++++++----------- .../views/sportsmanager/view_admin.php | 2 +- 3 files changed, 70 insertions(+), 124 deletions(-) diff --git a/src/structure/components/com_sportsmanager/database/update.php b/src/structure/components/com_sportsmanager/database/update.php index 7637a7d..af4d123 100644 --- a/src/structure/components/com_sportsmanager/database/update.php +++ b/src/structure/components/com_sportsmanager/database/update.php @@ -5267,54 +5267,24 @@ function updateDatabase(): void } if ($datenbank_version < 104) { - $query = $db->getQuery(true) - ->select('COUNT(*)') - ->from('INFORMATION_SCHEMA.COLUMNS') - ->where('TABLE_NAME = ' . $db->quote($db->replacePrefix('#__sportsmanager_veranstaltung'))) - ->where('COLUMN_NAME = ' . $db->quote('direktervergleich')); - $db->setQuery($query); - $exists = (bool)$db->loadResult(); - - if (!$exists) { - $query = "ALTER TABLE #__sportsmanager_veranstaltung ADD direktervergleich INT(4) NOT NULL DEFAULT '0' AFTER tabellenwertung;"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } + + $query = "ALTER TABLE #__sportsmanager_veranstaltung ADD direktervergleich INT(4) NOT NULL DEFAULT '0' AFTER tabellenwertung;"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); } - $query = $db->getQuery(true) - ->select('COUNT(*)') - ->from('INFORMATION_SCHEMA.COLUMNS') - ->where('TABLE_NAME = ' . $db->quote($db->replacePrefix('#__sportsmanager_team'))) - ->where('COLUMN_NAME = ' . $db->quote('setzliste_nr')); - $db->setQuery($query); - $exists = (bool)$db->loadResult(); - - if (!$exists) { - $query = "ALTER TABLE #__sportsmanager_team ADD setzliste_nr INT(4) NULL DEFAULT NULL AFTER veranstaltung_id;"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - } - - $query = $db->getQuery(true) - ->select('COUNT(*)') - ->from('INFORMATION_SCHEMA.COLUMNS') - ->where('TABLE_NAME = ' . $db->quote($db->replacePrefix('#__sportsmanager_begegnung'))) - ->where('COLUMN_NAME = ' . $db->quote('spiel_nr')); - $db->setQuery($query); - $exists = (bool)$db->loadResult(); - - if (!$exists) { - $query = "ALTER TABLE #__sportsmanager_begegnung ADD spiel_nr INT(4) NULL DEFAULT NULL AFTER spieltag;"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - } + $query = "ALTER TABLE #__sportsmanager_team ADD setzliste_nr INT(4) NULL DEFAULT NULL AFTER veranstaltung_id;"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + $query = "ALTER TABLE #__sportsmanager_begegnung ADD spiel_nr INT(4) NULL DEFAULT NULL AFTER spieltag;"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } $query = "UPDATE #__sportsmanager_einstellungen" . "\n SET wert = '104'" diff --git a/src/structure/components/com_sportsmanager/sportsmanager.php b/src/structure/components/com_sportsmanager/sportsmanager.php index ccb3c1f..b2dbff8 100644 --- a/src/structure/components/com_sportsmanager/sportsmanager.php +++ b/src/structure/components/com_sportsmanager/sportsmanager.php @@ -1620,7 +1620,7 @@ function tabelle($veranstaltung, $spieltag, $alleine_angezeigt, $praesentation = die($db->stderr(true)); } $spieltage = $db->loadObjectList(); - $anzahl_spieltage_komplett = count($spieltage); + $anzahl_spieltage_komplett = $db->loadResult(); // Spieltage ermitteln, an denen schon eine Begegnung ausgetragen wurde $query = "SELECT DISTINCT spieltag" @@ -1634,7 +1634,6 @@ function tabelle($veranstaltung, $spieltag, $alleine_angezeigt, $praesentation = die($db->stderr(true)); } $spieltage = $db->loadObjectList(); - $anzahl_spieltage_gespielt = count($spieltage); $aktueller_spieltag = count($spieltage) > 0 ? $spieltage[0]->spieltag : 0; if ($spieltag == 0 || $veranstaltung->tabellenwertung >= 21) @@ -1644,45 +1643,11 @@ function tabelle($veranstaltung, $spieltag, $alleine_angezeigt, $praesentation = $teams = getTabelleAktuellerSpieltag($veranstaltung); } else { $teams = getTabelleSpieltag($veranstaltung,$spieltag); + if ($veranstaltung->direktervergleich AND $spieltag >= $anzahl_spieltage_komplett/2){ + $teams = getTabelleDirekterVergleich($teams,$veranstaltung,$spieltag); + } } - - if ($veranstaltung->direktervergleich AND $spieltag >= $anzahl_spieltage_komplett/2){ - $Gesamtpunkte = 1000; - $Anzahl_Spiele = 1000; - $Platz = 0; - foreach($teams AS $key => $value){ - if (($Gesamtpunkte != $value->gesamtpunkte) OR ($Anzahl_Spiele != $value->anzahl_spiele)){ - $Gesamtpunkte = $value->gesamtpunkte; - $Anzahl_Spiele = $value->anzahl_spiele; - $Platz = $value->platz; - @$Punktgleiche_Mannschaften[$Platz] = $value->team_id; - } - else{ - @$Punktgleiche_Mannschaften[$Platz] .= ",".$value->team_id; - @$Korrektur[$Platz] = $Punktgleiche_Mannschaften[$Platz]; - } - } - if (isset($Korrektur)){ - foreach($Korrektur AS $key => $value){ - $teams_korrektur = getTabelleSpieltag($veranstaltung,$spieltag,$value,$key-1); - foreach($teams_korrektur AS $key1 => $value1){ - foreach($teams AS $key2 => $value2){ - if ($value2->team_id == $value1->team_id){ - $value2->platz = $value1->platz; - } - } - } - } - } - - //Tabelle neu sortieren - usort($teams, function($a, $b) { - return $a->platz <=> $b->platz; - }); - } - - if (isJson()) { return JSON_sportsmanager::tabelleAnzeigen($modus, $teams); } else { @@ -1707,6 +1672,49 @@ function tabelle($veranstaltung, $spieltag, $alleine_angezeigt, $praesentation = return ""; } +function getTabelleDirekterVergleich($teams,$veranstaltung,$spieltag) +{ + + $gesamtpunkte = 1000; + $anzahlSpiele = 1000; + $platz = 0; + $punktgleicheMannschaften = []; + $korrekturen = []; + + foreach($teams AS $team){ + if (($gesamtpunkte != $team->gesamtpunkte) OR ($anzahlSpiele != $team->anzahl_spiele)){ + $gesamtpunkte = $team->gesamtpunkte; + $anzahlSpiele = $team->anzahl_spiele; + $platz = $team->platz; + $punktgleicheMannschaften[$platz] = $team->team_id; + } + else{ + $punktgleicheMannschaften[$platz] .= ",".$team->team_id; + $korrekturen[$platz] = $punktgleicheMannschaften[$platz]; + } + } + + if (!empty($korrekturen)){ + foreach($korrekturen AS $key => $korrektur){ + $teamsKorrektur = getTabelleSpieltag($veranstaltung,$spieltag,$korrektur,$key-1); + foreach($teamsKorrektur AS $teamKorrektur){ + foreach($teams AS $team){ + if ($team->team_id == $teamKorrektur->team_id){ + $team->platz = $teamKorrektur->platz; + } + } + } + } + } + + //Tabelle neu sortieren + usort($teams, function($a, $b) { + return $a->platz <=> $b->platz; + }); + + return $teams; +} + function getTabelleAktuellerSpieltag($veranstaltung) { $db = getDatabase(); @@ -1721,8 +1729,7 @@ function getTabelleAktuellerSpieltag($veranstaltung) if (!$db->execute()) { die($db->stderr(true)); } - $teams = $db->loadObjectList(); - return $teams; + return $db->loadObjectList(); } function getTabelleSpieltag($veranstaltung,$spieltag,$mannschaften = "",$offset_platz = 0) @@ -1773,7 +1780,7 @@ function getTabelleSpieltag($veranstaltung,$spieltag,$mannschaften = "",$offset_ $query .= "\n ORDER BY spielpunkte_quotient DESC, punkte_quotient DESC, teamname"; else $query .= "\n ORDER BY gesamtpunkte DESC, anzahl_spiele ASC, teamname"; - //echo $query; + $db->setQuery($query); if (!$db->execute()) { die($db->stderr(true)); @@ -4970,7 +4977,7 @@ function teamstatistikAktualisieren($geaenderte_veranstaltung_id = 0, $geaendert die($db->stderr(true)); } $spieltage = $db->loadObjectList(); - $anzahl_spieltage_komplett = count($spieltage); + $anzahl_spieltage_komplett = $db->loadResult(); // Spieltage ermitteln, an denen schon eine Begegnung ausgetragen wurde $query = "SELECT DISTINCT spieltag" @@ -4984,43 +4991,12 @@ function teamstatistikAktualisieren($geaenderte_veranstaltung_id = 0, $geaendert die($db->stderr(true)); } $spieltage = $db->loadObjectList(); - $anzahl_spieltage_gespielt = count($spieltage); - + $anzahl_spieltage_gespielt = $db->loadResult(); + $aktueller_spieltag = count($spieltage) > 0 ? $spieltage[0]->spieltag : 0; + // Direkter Vergleich, wenn mindestens die Hälfte der Spieltage gespielt sind. if ($veranstaltung->direktervergleich AND $anzahl_spieltage_gespielt >= $anzahl_spieltage_komplett/2){ - $Gesamtpunkte = 1000; - $Anzahl_Spiele = 1000; - $Platz = 0; - foreach($teams AS $key => $value){ - if (($Gesamtpunkte != $value->gesamtpunkte) OR ($Anzahl_Spiele != $value->anzahl_spiele)){ - $Gesamtpunkte = $value->gesamtpunkte; - $Anzahl_Spiele = $value->anzahl_spiele; - $Platz = $value->platz; - @$Punktgleiche_Mannschaften[$Platz] = $value->team_id; - } - else{ - @$Punktgleiche_Mannschaften[$Platz] .= ",".$value->team_id; - @$Korrektur[$Platz] = $Punktgleiche_Mannschaften[$Platz]; - } - } - - if (isset($Korrektur)){ - foreach($Korrektur AS $key => $value){ - $teams_korrektur = getTabelleSpieltag($veranstaltung,999,$value,$key-1); - foreach($teams_korrektur AS $key1 => $value1){ - foreach($teams AS $key2 => $value2){ - if ($value2->team_id == $value1->team_id){ - $value2->platz = $value1->platz; - } - } - } - } - } - - //Tabelle neu sortieren - usort($teams, function($a, $b) { - return $a->platz <=> $b->platz; - }); + $teams = getTabelleDirekterVergleich($teams,$veranstaltung,$aktueller_spieltag); } $platz = 1; diff --git a/src/structure/components/com_sportsmanager/views/sportsmanager/view_admin.php b/src/structure/components/com_sportsmanager/views/sportsmanager/view_admin.php index 273e631..3ef39ac 100644 --- a/src/structure/components/com_sportsmanager/views/sportsmanager/view_admin.php +++ b/src/structure/components/com_sportsmanager/views/sportsmanager/view_admin.php @@ -7206,7 +7206,7 @@ class HTML_sportsmanager_admin
- From 1fe9d4bc5f01bc6e770c6c9732e3598b1e9f4af9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=BCrgen=20Meyer?= Date: Tue, 5 Aug 2025 20:45:33 +0200 Subject: [PATCH 23/24] =?UTF-8?q?=C3=84nderung=20nach=20Review=20durchgef?= =?UTF-8?q?=C3=BChrt.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/com_sportsmanager/sportsmanager.php | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/src/structure/components/com_sportsmanager/sportsmanager.php b/src/structure/components/com_sportsmanager/sportsmanager.php index b2dbff8..e713137 100644 --- a/src/structure/components/com_sportsmanager/sportsmanager.php +++ b/src/structure/components/com_sportsmanager/sportsmanager.php @@ -1610,16 +1610,14 @@ function tabelle($veranstaltung, $spieltag, $alleine_angezeigt, $praesentation = if ($veranstaltung->tabellenwertung > 0) { // Alle Spieltage ermitteln - $query = "SELECT DISTINCT spieltag" + $query = "SELECT COUNT(DISTINCT spieltag)" . "\n FROM #__sportsmanager_begegnung" . "\n INNER JOIN #__sportsmanager_team ON heim_team_id = team_id" - . "\n WHERE veranstaltung_id = $veranstaltung->veranstaltung_id" - . "\n ORDER BY spieltag"; + . "\n WHERE veranstaltung_id = $veranstaltung->veranstaltung_id"; $db->setQuery($query); if (!$db->execute()) { die($db->stderr(true)); } - $spieltage = $db->loadObjectList(); $anzahl_spieltage_komplett = $db->loadResult(); // Spieltage ermitteln, an denen schon eine Begegnung ausgetragen wurde @@ -4967,16 +4965,14 @@ function teamstatistikAktualisieren($geaenderte_veranstaltung_id = 0, $geaendert $teams = $db->loadObjectList(); // Alle Spieltage ermitteln - $query = "SELECT DISTINCT spieltag" + $query = "SELECT COUNT(DISTINCT spieltag)" . "\n FROM #__sportsmanager_begegnung" . "\n INNER JOIN #__sportsmanager_team ON heim_team_id = team_id" - . "\n WHERE veranstaltung_id = $veranstaltung->veranstaltung_id" - . "\n ORDER BY spieltag"; + . "\n WHERE veranstaltung_id = $veranstaltung->veranstaltung_id"; $db->setQuery($query); if (!$db->execute()) { die($db->stderr(true)); } - $spieltage = $db->loadObjectList(); $anzahl_spieltage_komplett = $db->loadResult(); // Spieltage ermitteln, an denen schon eine Begegnung ausgetragen wurde From ff7314cf3f6370a66ac46c67ea0c414f3136e04d Mon Sep 17 00:00:00 2001 From: Marvin Flock Date: Tue, 5 Aug 2025 21:21:11 +0200 Subject: [PATCH 24/24] chore: create version in sportsmanager from git tag --- .github/workflows/build_release.yml | 26 +++++++++---- .../com_sportsmanager/sportsmanager.php | 2 +- .../com_sportsmanager/util/version.php | 6 +++ .../views/sportsmanager/view_admin.php | 39 +++++++++++++------ 4 files changed, 54 insertions(+), 19 deletions(-) create mode 100644 src/structure/components/com_sportsmanager/util/version.php diff --git a/.github/workflows/build_release.yml b/.github/workflows/build_release.yml index 0c9a999..4896c8f 100644 --- a/.github/workflows/build_release.yml +++ b/.github/workflows/build_release.yml @@ -6,7 +6,7 @@ name: Sportsmanager Release on: push: tags: - - 'v[0-9]+.[0-9]+.[0-9]+' # run only on version tags like v1.0.0 + - 'v[0-9]+.[0-9]+.[0-9]+' # run only on version tags like v1.0.0 jobs: build: runs-on: ubuntu-latest @@ -24,7 +24,19 @@ jobs: - name: Install npm dependencies run: npm ci - + + - name: Get version from git tag + run: echo "VERSION=$(git describe --tags --abbrev=0)" >> $GITHUB_ENV + + - name: Update version.php + run: | + echo " src/structure/components/com_sportsmanager/util/version.php + echo "defined('_JEXEC') or die;" >> src/structure/components/com_sportsmanager/util/version.php + echo "return [" >> src/structure/components/com_sportsmanager/util/version.php + echo " 'version' => '${{ env.VERSION }}'," >> src/structure/components/com_sportsmanager/util/version.php + echo " 'date' => '$(date +%F)'," >> src/structure/components/com_sportsmanager/util/version.php + echo "];" >> src/structure/components/com_sportsmanager/util/version.php + - name: Generate release notes id: release_notes_extension uses: release-drafter/release-drafter@v6 @@ -37,10 +49,10 @@ jobs: - name: Save release notes to file run: | echo "${{ steps.release_notes_extension.outputs.body }}" > RELEASE_NOTES.md - + - name: Run build script run: npm run release - + - name: Generate release notes id: release_notes_github uses: release-drafter/release-drafter@v6 @@ -52,7 +64,7 @@ jobs: - name: Save release notes to file run: | echo "${{ steps.release_notes_github.outputs.body }}" > RELEASE_NOTES.md - + - name: Create GitHub Release uses: softprops/action-gh-release@v2 with: @@ -62,7 +74,7 @@ jobs: body_path: "RELEASE_NOTES.md" env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - + - name: Delete draft release via API # workaround: remove leftover draft by release-drafter env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} @@ -70,7 +82,7 @@ jobs: run: | drafts=$(curl -s -H "Authorization: token $GITHUB_TOKEN" \ https://api.github.com/repos/$REPO/releases | jq '.[] | select(.draft == true)') - + if [ -n "$drafts" ]; then id=$(echo "$drafts" | jq -r '.id') curl -s -X DELETE -H "Authorization: token $GITHUB_TOKEN" \ diff --git a/src/structure/components/com_sportsmanager/sportsmanager.php b/src/structure/components/com_sportsmanager/sportsmanager.php index 78f7976..2415dcf 100644 --- a/src/structure/components/com_sportsmanager/sportsmanager.php +++ b/src/structure/components/com_sportsmanager/sportsmanager.php @@ -15,7 +15,6 @@ use Joomla\CMS\Uri\Uri; use Joomla\CMS\Version; defined('_JEXEC') or die('Restricted access'); -const SPORTS_MANAGER_VERSION = "2.0.3"; function laufzeitInit(): void { @@ -56,6 +55,7 @@ else if (isset($_REQUEST['filter_saison_id'])) global $content; global $task; global $params; + $app = Factory::getContainer()->get(SiteApplication::class); $jInput = $app->input; $task = $jInput->getCmd('task'); diff --git a/src/structure/components/com_sportsmanager/util/version.php b/src/structure/components/com_sportsmanager/util/version.php new file mode 100644 index 0000000..f7c44af --- /dev/null +++ b/src/structure/components/com_sportsmanager/util/version.php @@ -0,0 +1,6 @@ + 'DEV', + 'date' => '2025-08-05', +]; diff --git a/src/structure/components/com_sportsmanager/views/sportsmanager/view_admin.php b/src/structure/components/com_sportsmanager/views/sportsmanager/view_admin.php index eacb8df..5e4243b 100644 --- a/src/structure/components/com_sportsmanager/views/sportsmanager/view_admin.php +++ b/src/structure/components/com_sportsmanager/views/sportsmanager/view_admin.php @@ -12,7 +12,8 @@ defined('_JEXEC') or die('Restricted access'); require_once JPATH_SITE . '/components/com_sportsmanager/views/sportsmanager/view_tools.php'; require_once JPATH_SITE . '/components/com_sportsmanager/util/image.php'; -function formatTimediff( $timestamp1, $timestamp2, $verbose ) { +function formatTimediff( $timestamp1, $timestamp2, $verbose ): string +{ if (empty($timestamp1) || empty($timestamp2)) { return ""; } else { @@ -27,7 +28,8 @@ function formatTimediff( $timestamp1, $timestamp2, $verbose ) { } } -function formatTeamName( $team_name, $team_id, $highlight_team_id ) { +function formatTeamName( $team_name, $team_id, $highlight_team_id ): string +{ if ($team_id == $highlight_team_id) { return "" . htmlentities_utf8($team_name) . ""; } else { @@ -37,10 +39,25 @@ function formatTeamName( $team_name, $team_id, $highlight_team_id ) { class HTML_sportsmanager_admin { + private static $versionData = null; + + private static function loadVersionData(): void + { + if (self::$versionData === null) { + self::$versionData = include JPATH_SITE . '/components/com_sportsmanager/util/version.php'; + } + } + + public static function getVersion(): string + { + self::loadVersionData(); + return self::$versionData['version'] ?? 'DEV'; + } + static function adminUebersicht($veranstaltungen, $spielerstatistiken, $turniere, $ranglisten, $individualwettbewerbe, $statistik, $saisons, $filter_saison_id, $externe_datenbank): void { - function checkZeilenumbruch($Spalte_Nr, $max_Spalten) - { + function checkZeilenumbruch($Spalte_Nr, $max_Spalten): int + { $Spalte_Nr++; if ($Spalte_Nr >= $max_Spalten){ echo "
@@ -4925,7 +4942,7 @@ class HTML_sportsmanager_admin static function adminKategorien($kategorien): void { global $params; - + ?>
@@ -8693,11 +8710,11 @@ class HTML_sportsmanager_admin
heim_spielpunkte . " : " . $row->gast_spielpunkte; else echo "_ : _" ?>unbestaetigtes_ergebnis_id != null) echo "
" . ($row->zwischenergebnis ? "live" : "unbestätigt") . ""; ?>
- termin_spiel, $row->ergebnis_vorgeschlagen, false) + termin_spiel, $row->ergebnis_vorgeschlagen, false) . " / " - . formatTimediff($row->ergebnis_vorgeschlagen, $row->ergebnis_akzeptiert, false); - ?> + . formatTimediff($row->ergebnis_vorgeschlagen, $row->ergebnis_akzeptiert, false); + ?>