From 13ad52f22121548f2ebc909355275f89fb2fe839 Mon Sep 17 00:00:00 2001 From: Marvin Flock Date: Tue, 14 Apr 2026 18:50:05 +0200 Subject: [PATCH] fix: add small fixes --- .../com_sportsmanager/sportsmanager.php | 95 +++++++++---------- .../views/sportsmanager/view.html.php | 46 ++++----- src/structure/script.php | 34 +++---- 3 files changed, 87 insertions(+), 88 deletions(-) diff --git a/src/structure/components/com_sportsmanager/sportsmanager.php b/src/structure/components/com_sportsmanager/sportsmanager.php index b1002e2..a62ea3d 100644 --- a/src/structure/components/com_sportsmanager/sportsmanager.php +++ b/src/structure/components/com_sportsmanager/sportsmanager.php @@ -1839,7 +1839,7 @@ function getTabelleDirekterVergleich($teams,$veranstaltung,$spieltag) $spielpunkte_differenz = 1000; $spielpunkte_quotient = 1000.0000; $platz = 0; - + $punktgleicheMannschaften = []; $korrekturen = []; $bufferplatz = []; @@ -1847,7 +1847,7 @@ function getTabelleDirekterVergleich($teams,$veranstaltung,$spieltag) foreach($teams AS $team){ $bufferplatz[$team->team_id]['platz'] = $team->platz; $unterschied = false; - + if (($gesamtpunkte != $team->gesamtpunkte) || ($anzahl_spiele != $team->anzahl_spiele)) $unterschied = true; if ($veranstaltung->direktervergleich >= 2 && in_array($veranstaltung->tabellenwertung, [1,4,7,10]) && $spielpunkte_differenz != $team->spielpunkte_differenz) @@ -1858,7 +1858,7 @@ function getTabelleDirekterVergleich($teams,$veranstaltung,$spieltag) $unterschied = true; if ($veranstaltung->direktervergleich == 3 && in_array($veranstaltung->tabellenwertung, [2,5,8,11]) && $punkte_quotient != $team->punkte_quotient) $unterschied = true; - + if ($unterschied) { $gesamtpunkte = $team->gesamtpunkte; @@ -1881,7 +1881,7 @@ function getTabelleDirekterVergleich($teams,$veranstaltung,$spieltag) foreach($teamsKorrektur AS $teamKorrektur){ $teamKorrektur->platz_alt = $bufferplatz[$teamKorrektur->team_id]['platz']; } - + if ($veranstaltung->tabellenwertung == 1 || $veranstaltung->tabellenwertung == 4 || $veranstaltung->tabellenwertung == 7){ usort($teamsKorrektur, fn($a, $b) => [(float)$b->begegnungspunkte, (int)$a->anzahl_spiele, (float)$b->spielpunkte_differenz, (float)$b->punkte_differenz, (int)$a->platz_alt] @@ -1917,7 +1917,7 @@ function getTabelleDirekterVergleich($teams,$veranstaltung,$spieltag) [(float)$a->begegnungspunkte, (int)$b->anzahl_spiele, (int)$b->platz_alt] ); } - + $neuerPlatz = $key; foreach ($teamsKorrektur as $teamKorrektur) { $teamKorrektur->platz = $neuerPlatz++; @@ -2596,7 +2596,7 @@ function turnierbaumAnzeigen($veranstaltung): void else $begegnungen[$begegnung['Spieltag_Nr'] + 1][round($begegnung['Spiel_Nr'] / 2)]['gast'] = htmlentities($begegnung['Heim']); } - } else + } else if ($begegnung['Heim_Satzpunkte'] < $begegnung['Gast_Satzpunkte']) { $begegnungen[$begegnung['Spieltag_Nr']][$begegnung['Spiel_Nr']]['sieger'] = 2; if ($begegnung['Spieltag_Nr'] < $anzahlRunden){ @@ -2605,7 +2605,7 @@ function turnierbaumAnzeigen($veranstaltung): void else $begegnungen[$begegnung['Spieltag_Nr'] + 1][round($begegnung['Spiel_Nr'] / 2)]['gast'] = htmlentities($begegnung['Gast']); } - } else + } else if ($begegnung['Heim_Satzpunkte'] == $begegnung['Gast_Satzpunkte'] && $begegnung['Heim_Tore'] > $begegnung['Gast_Tore']) { $begegnungen[$begegnung['Spieltag_Nr']][$begegnung['Spiel_Nr']]['sieger'] = 1; if ($begegnung['Spieltag_Nr'] < $anzahlRunden){ @@ -2614,7 +2614,7 @@ function turnierbaumAnzeigen($veranstaltung): void else $begegnungen[$begegnung['Spieltag_Nr'] + 1][round($begegnung['Spiel_Nr'] / 2)]['gast'] = htmlentities($begegnung['Heim']); } - } else + } else if ($begegnung['Heim_Satzpunkte'] == $begegnung['Gast_Satzpunkte'] && $begegnung['Heim_Tore'] < $begegnung['Gast_Tore']) { $begegnungen[$begegnung['Spieltag_Nr']][$begegnung['Spiel_Nr']]['sieger'] = 2; if ($begegnung['Spieltag_Nr'] < $anzahlRunden){ @@ -4268,16 +4268,16 @@ function spielverlegungen(): void global $params; $jInput = Factory::getContainer()->get(SiteApplication::class)->input; $filter_status = $jInput->get('filter_status', '', 'RAW'); - + if (empty($filter_status)) $filter_status = "offen,genehmigt"; - + $query = "SELECT saison_id, saisonbezeichnung" . "\n FROM #__sportsmanager_saison" . "\n ORDER BY saisonbezeichnung DESC LIMIT 1"; $saisons = loadObjectList($db, $query); $filter_saison_id = $saisons[0]->saison_id; - + $query = "SELECT t1.begegnung_historie_id AS beantragt_id, t1.begegnung_id AS begegnung_id," . "\n t1.eingetragen AS beantragt, t1.kommentar AS Begruendung_beantragt, t1.zeitpunkt AS Termin_alt," . "\n t1.team_id as beantragt_verein, t5.bezeichnung AS Liga," @@ -4293,23 +4293,23 @@ function spielverlegungen(): void . kategorieFilter("AND t5.kategorie IN") . "\n ORDER BY t1.begegnung_id, t1.zeitpunkt ASC;"; $spielverlegungen = loadObjectList($db, $query); - + $last_id = ""; foreach ($spielverlegungen as $key => $spielverlegung) { if ($spielverlegung->begegnung_id == $last_id) { unset($spielverlegungen[$key]); } else { $last_id = $spielverlegung->begegnung_id; - + $query = "SELECT t1.begegnung_historie_id AS genehmigt_id, t1.eingetragen AS genehmigt," . "\n t1.user_id AS genehmigt_von, t1.team_id as genehmigt_verein, t1.zeitpunkt AS Termin_neu" . "\n FROM #__sportsmanager_begegnung_historie AS t1" . "\n LEFT JOIN #__sportsmanager_begegnung AS t2 ON t2.begegnung_id = t1.begegnung_id" . "\n WHERE t1.aktion = 1 AND t1.begegnung_id = $last_id" . "\n ORDER BY t1.zeitpunkt DESC LIMIT 1;"; - + $genehmigt = loadObjectList($db, $query); - + if (!empty($genehmigt)) { $spielverlegung->genehmigt_id = $genehmigt[0]->genehmigt_id; $spielverlegung->genehmigt = $genehmigt[0]->genehmigt; @@ -4332,9 +4332,9 @@ function spielverlegungen(): void . "\n LEFT JOIN #__sportsmanager_begegnung AS t2 ON t2.begegnung_id = t1.begegnung_id" . "\n WHERE t1.aktion = 10 AND t1.begegnung_id = $last_id" . "\n ORDER BY t1.zeitpunkt DESC LIMIT 1;"; - + $abgelehnt = loadObjectList($db, $query); - + if (!empty($abgelehnt)) { $spielverlegung->abgelehnt_id = $abgelehnt[0]->abgelehnt_id; $spielverlegung->abgelehnt = $abgelehnt[0]->abgelehnt; @@ -4366,7 +4366,7 @@ function verbandsorgane(): void $db = getDatabase(); global $params; $jInput = Factory::getContainer()->get(SiteApplication::class)->input; - + $query = "SELECT t1.*, COUNT(t2.verbandsorgane_id) AS anzahl, t3.veranstalterbezeichnung AS organisation" . "\n FROM #__sportsmanager_verbandsorgane t1" . "\n LEFT JOIN #__sportsmanager_mitglied_von_verbandsorgan t2 ON t2.verbandsorgane_id = t1.verbandsorgane_id" @@ -4375,7 +4375,7 @@ function verbandsorgane(): void . kategorieFilter("HAVING t1.kategorie IN") . "\n ORDER BY t1.reihenfolge;"; $verbandsorgane = loadObjectList($db, $query); - + $query = "SELECT COUNT(veranstalter_id) AS anzahl" . "\n FROM #__sportsmanager_verbandsorgane" . "\n GROUP BY veranstalter_id" @@ -4402,16 +4402,16 @@ function verbandsorganeDetails($uebergabe_id = 0): void $db = getDatabase(); $app = Factory::getContainer()->get(SiteApplication::class); $jInput = $app->input; - + global $params; - - + + $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 @@ -4428,7 +4428,7 @@ function verbandsorganeDetails($uebergabe_id = 0): void . "\n WHERE verbandsorgane_id = $id" . "\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) <> ''" @@ -4438,7 +4438,7 @@ function verbandsorganeDetails($uebergabe_id = 0): void $zusatzinfos_vorhanden = true; else $zusatzinfos_vorhanden = false; - + if (isJson()) { echo json_encode($mitglieder); } else { @@ -4450,7 +4450,7 @@ function halloffame(): void { $db = getDatabase(); global $params; - + $query = "SELECT t1.*, COUNT(DISTINCT t2.jahr) AS anzahl," . "\n IF (COUNT(DISTINCT t2.jahr) > 0, CONCAT(min(t2.jahr), ' - ', max(t2.jahr)), '" . Text::_('COM_SPORTSMANAGER_NO_ENTRY') . "') AS zeitspanne" . "\n FROM #__sportsmanager_halloffame t1" @@ -4459,7 +4459,7 @@ function halloffame(): void . kategorieFilter("HAVING t1.kategorie IN") . "\n ORDER BY t1.reihenfolge;"; $halloffame = loadObjectList($db, $query); - + if (count($halloffame) == 1){ halloffameDetails($halloffame[0]->halloffame_id); } else { @@ -4476,16 +4476,16 @@ function halloffameDetails($uebergabe_id = 0): void $db = getDatabase(); $app = Factory::getContainer()->get(SiteApplication::class); $jInput = $app->input; - + global $params; - + if ($uebergabe_id == 0) $id = $jInput->get('id', 0, 'INT'); else $id = $uebergabe_id; - + $mitglieder = null; - + $query = "SELECT * FROM #__sportsmanager_halloffame WHERE halloffame_id = $id"; $rows = loadObjectList($db, $query); if (count($rows) < 1) { @@ -4494,14 +4494,14 @@ function halloffameDetails($uebergabe_id = 0): void $halloffame = $rows[0]; $halloffame->platz2_zeigen = 0; $halloffame->platz3_zeigen = 0; - + $query = "SELECT t2.*, t1.halloffame" . "\n FROM #__sportsmanager_halloffame t1" . "\n LEFT JOIN #__sportsmanager_mitglied_von_halloffame t2 ON t2.halloffame_id = t1.halloffame_id" . "\n WHERE t2.halloffame_id = $id" . "\n ORDER BY t2.jahr DESC, platz ASC;"; $rows = loadObjectList($db, $query); - + if (count($rows) > 0){ $mitglieder = []; if ($halloffame->spielform == 1){ @@ -4522,7 +4522,7 @@ function halloffameDetails($uebergabe_id = 0): void //Suche team_id wenn keine verein_id vorhanden if (empty($row->verein_id)){ - $query = "SELECT team_id FROM #__sportsmanager_team WHERE teamname LIKE '$row->teamname%' ORDER BY team_id DESC LIMIT 1;"; + $query = "SELECT team_id FROM #__sportsmanager_team WHERE teamname LIKE '$row->teamname%' ORDER BY team_id DESC LIMIT 1;"; $mitglieder[$row->jahr]->$index_teamid = loadResult($db, $query); } else { $mitglieder[$row->jahr]->$index_teamid = ""; @@ -4535,7 +4535,7 @@ function halloffameDetails($uebergabe_id = 0): void $index_spieler1 = "spieler1_" . $row->platz; $index_spieler2id = "spieler2_id_" . $row->platz; $index_spieler2 = "spieler2_" . $row->platz; - + if (!isset($mitglieder[$row->jahr])) { $mitglieder[$row->jahr] = new stdClass(); } @@ -4551,7 +4551,7 @@ function halloffameDetails($uebergabe_id = 0): void } } } - + if (isJson()) { echo json_encode($mitglieder); } else { @@ -4746,10 +4746,10 @@ function begegnungVerlegenForm(): void $aus_uebersicht = $jInput->get('aus_uebersicht', 0, 'INT'); $query = "SELECT #__sportsmanager_veranstaltung.*, initial_ohne_termin, keine_gegenvorschlaege, vorlaufzeit_tage," - . "\n termine_minimal, termine_maximal, ablehnen, begruendung_erforderlich" + . "\n termine_minimal, termine_maximal, ablehnen, begruendung_erforderlich" . "\n FROM #__sportsmanager_veranstaltung LEFT JOIN #__sportsmanager_verschieberegel USING (verschieberegel_id)" . "\n WHERE veranstaltung_id = $veranstaltungid"; - + $rows = loadObjectList($db, $query); if (count($rows) < 1) die("Wrong id!"); @@ -5120,7 +5120,7 @@ function begegnungVerlegen(): void function neueTeamStrafe($teamid, $veranstaltungid, $strafe, $moderator_user_id, $beschreibung) { $app = Factory::getContainer()->get(SiteApplication::class); $db = getDatabase(); - + $zeitpunkt = date('Y-m-d H:i:s'); $query = "INSERT INTO #__sportsmanager_team_strafen" . "\n (team_id, zeitpunkt, moderator_user_id, strafe, beschreibung)" @@ -5316,9 +5316,9 @@ function teamstatistikAktualisieren($geaenderte_veranstaltung_id = 0, $geaendert $buchholz1_wert = 0; $buchholz2_wert = 0; foreach ($teams as $team) { - if ($platz == 1 || (($veranstaltung->tabellenwertung <= 9 || $veranstaltung->tabellenwertung >= 21) && $gesamtpunkte != $team->gesamtpunkte) - || (($veranstaltung->tabellenwertung == 1 || $veranstaltung->tabellenwertung == 4 || $veranstaltung->tabellenwertung == 7 || $veranstaltung->tabellenwertung == 10 || $veranstaltung->tabellenwertung == 21 || $veranstaltung->tabellenwertung == 24 || $veranstaltung->tabellenwertung == 27) && ($spielpunkte_differenz != $team->spielpunkte_differenz || $punkte_differenz != $team->punkte_differenz)) - || (($veranstaltung->tabellenwertung == 2 || $veranstaltung->tabellenwertung == 5 || $veranstaltung->tabellenwertung == 8 || $veranstaltung->tabellenwertung == 11 || $veranstaltung->tabellenwertung == 22 || $veranstaltung->tabellenwertung == 25 || $veranstaltung->tabellenwertung == 28) && ($spielpunkte_quotient != $team->spielpunkte_quotient || $punkte_quotient != $team->punkte_quotient)) + if ($platz == 1 || (($veranstaltung->tabellenwertung <= 9 || $veranstaltung->tabellenwertung >= 21) && $gesamtpunkte != $team->gesamtpunkte) + || (($veranstaltung->tabellenwertung == 1 || $veranstaltung->tabellenwertung == 4 || $veranstaltung->tabellenwertung == 7 || $veranstaltung->tabellenwertung == 10 || $veranstaltung->tabellenwertung == 21 || $veranstaltung->tabellenwertung == 24 || $veranstaltung->tabellenwertung == 27) && ($spielpunkte_differenz != $team->spielpunkte_differenz || $punkte_differenz != $team->punkte_differenz)) + || (($veranstaltung->tabellenwertung == 2 || $veranstaltung->tabellenwertung == 5 || $veranstaltung->tabellenwertung == 8 || $veranstaltung->tabellenwertung == 11 || $veranstaltung->tabellenwertung == 22 || $veranstaltung->tabellenwertung == 25 || $veranstaltung->tabellenwertung == 28) && ($spielpunkte_quotient != $team->spielpunkte_quotient || $punkte_quotient != $team->punkte_quotient)) || (($veranstaltung->tabellenwertung >= 21) && ($team->buchholz1 != $buchholz1_wert || $team->buchholz2 != $buchholz2_wert))) $tatsaechlicher_platz = $platz; $query = "UPDATE #__sportsmanager_team" @@ -5869,7 +5869,7 @@ function spielerstatistikAktualisieren($geaenderte_spielerstatistik_id = 0, $gea . "\n LEFT JOIN #__sportsmanager_veranstaltung ON #__sportsmanager_team.veranstaltung_id = #__sportsmanager_veranstaltung.veranstaltung_id" . "\n LEFT JOIN #__sportsmanager_teamspiel_modus ON #__sportsmanager_veranstaltung.modus_id = #__sportsmanager_teamspiel_modus.teamspiel_modus_id" . "\n WHERE ISNULL(unbestaetigtes_ergebnis_id) AND #__sportsmanager_veranstaltung.veranstaltung_id = $veranstaltung->veranstaltung_id" - . "\n AND (#__sportsmanager_teamspiel_modus.spiele_in_spielerstatistik <= 0" + . "\n AND (#__sportsmanager_teamspiel_modus.spiele_in_spielerstatistik <= 0" . "\n OR teamspiel_nummer <= #__sportsmanager_teamspiel_modus.spiele_in_spielerstatistik)"; if ($spielerstatistik->typ == 1) $query .= "\n AND ISNULL(heim_spieler_2_id) AND ISNULL(gast_spieler_2_id)"; @@ -6065,7 +6065,7 @@ function spielerstatistikAktualisieren($geaenderte_spielerstatistik_id = 0, $gea $spieler_team_id = $spieler_punkte["team_id"]; else $spieler_team_id = "NULL"; - + $query = "UPDATE #__sportsmanager_bestenliste_punkte" . "\n SET siege = $spieler_punkte_siege," . "\n unentschieden = $spieler_punkte_unentschieden," @@ -7370,7 +7370,7 @@ function spielerstatistiken(): void $details_anzeigen = currentUserHasAccessToDetails(); $filter_saison_id = $jInput->get('filter_saison_id', 0, 'INT'); - + if ($filter_saison_id == 0) $filter_saison_id = $jInput->cookie->get('sportsmanager_filter_saison_id', 0, 'INT'); @@ -7404,7 +7404,6 @@ function spielerstatistiken(): void foreach ($spielerstatistiken as $spielerstatistik) { //Mindestzahl an Spielen - $spiele = null; $spielerstatistik->min_spiele = 0; if (in_array($spielerstatistik->tabellenwertung, [4, 5])) { $query = "SELECT siege + unentschieden + niederlagen AS spiele" @@ -7530,10 +7529,10 @@ function spielerstatistik(): void $spielerstatistik->max_spiele = $max_spiele; if ($filter_min_spiele == 999) $spielerstatistik->min_spiele = round($max_spiele/2); - else if ($filter_min_spiele != 999) + else $spielerstatistik->min_spiele = $filter_min_spiele; } - + // Spielerstatistikpunkte ermitteln $query = "SELECT #__sportsmanager_bestenliste_punkte.*, #__sportsmanager_spieler.nachname, #__sportsmanager_spieler.vorname, team.teamname," . "\n siege + unentschieden + niederlagen AS spiele," 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 b671cc5..19902ad 100644 --- a/src/structure/components/com_sportsmanager/views/sportsmanager/view.html.php +++ b/src/structure/components/com_sportsmanager/views/sportsmanager/view.html.php @@ -1093,17 +1093,17 @@ static function begegnungenAnzeigen($veranstaltung, $modus, $rows, $zeitfenster, $ergebnis_vorhanden = $row->heim_punkte != null || $row->gast_punkte != null; if ($zeitfenster == 0 && $veranstaltung != null) { if ($veranstaltung->unterteilung == 0 || $veranstaltung->unterteilung == 1) { - + if ($row->spieltag > 999) $Spieltagname = htmlentities_utf8(Rundenbezeichnung($row->spieltag, $veranstaltung->unterteilung == 0, true)); else if ($veranstaltung->unterteilung == 1) $Spieltagname = "Runde " . $row->spieltag; else $Spieltagname = "Spieltag " . $row->spieltag; - - if ($row->spieltag < 999 && $veranstaltung->spieltag_titel_zeigen == 1 && $row->spieltag_titel != "") + + if ($row->spieltag < 999 && $veranstaltung->spieltag_titel_zeigen == 1 && $row->spieltag_titel != "") $Spieltagname .= " - " . $row->spieltag_titel; - + if ($Spieltagname_Buffer != $Spieltagname || $spielort_name != $row->spielort_name) { $spieltag = $row->spieltag; $spielort_name = $row->spielort_name; @@ -1844,7 +1844,7 @@ static function tabelleAnzeigen($veranstaltung, $modus, $teams, $spieltag, $spie $punkte_quotient = 0; $buchholz1_wert = 0; $buchholz2_wert = 0; - $$gesamtpunkte_verloren = 0; + $gesamtpunkte_verloren = 0; $k = 0; foreach ($teams as $team) { ?> @@ -3976,7 +3976,7 @@ static function spielverlegungen($titel, $beschreibung, $rows): void 0) { $k = 0; - foreach ($rows as $row) { + foreach ($rows as $row) { ?> @@ -3984,7 +3984,7 @@ static function spielverlegungen($titel, $beschreibung, $rows): void Liga); ?> - Heim == $row->beantragt_von) echo "" . htmlentities_utf8($row->Heim) . ""; else @@ -4033,7 +4033,7 @@ static function verbandsorgane($titel, $beschreibung, $rows, $organisation_zeige 0) { ?>
@@ -4077,8 +4077,8 @@ static function verbandsorgane($titel, $beschreibung, $rows, $organisation_zeige
  "; echo "

" . $verbandsorgan->verbandsorgan . "

"; - + echo $verbandsorgan->beschreibung; - + if (count($rows) > 0) { ?>

@@ -4245,7 +4245,7 @@ static function halloffameDetails($titel, $beschreibung, $rows, $halloffame): vo - platz2_zeigen) continue; if ($i == 3 && !$halloffame->platz3_zeigen) continue; @@ -4704,7 +4704,7 @@ global $params; if ((count($vereine) == 0) && !benutzerZugriff("spieler_aendern") && !benutzerVeranstalterModerator() && !benutzerVereinModerator()) { - echo "Sie haben keine Berechtigung auf diesen Datensatz!!!"; + echo "Sie haben keine Berechtigung auf diesen Datensatz!!!"; die; } @@ -4882,7 +4882,7 @@ if ($bild != null) { : - vereinsname) . " (" . htmlentities_utf8($verein->status) . ")
"; ?> @@ -6070,9 +6070,9 @@ static function spielerstatistikenHeader($titel, $beschreibung, $saisons, $filte echo ""; ?> -