diff --git a/src/structure/components/com_sportsmanager/database/update.php b/src/structure/components/com_sportsmanager/database/update.php index 0fa7438..745ee19 100644 --- a/src/structure/components/com_sportsmanager/database/update.php +++ b/src/structure/components/com_sportsmanager/database/update.php @@ -5708,6 +5708,37 @@ function updateDatabase(): void } } + if ($datenbank_version < 120) { + + $columns = $db->getTableColumns('#__sportsmanager_teamspiel_modus'); + if (!array_key_exists('spiele_in_spielerstatistik', $columns)){ + $query = "ALTER TABLE `#__sportsmanager_teamspiel_modus`" + . "\n ADD `spiele_in_spielerstatistik` INT(4) NOT NULL DEFAULT '0' AFTER `heimtausch`;"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + $columns = $db->getTableColumns('#__sportsmanager_bestenliste_punkte'); + if (!array_key_exists('team_id', $columns)){ + $query = "ALTER TABLE `#__sportsmanager_bestenliste_punkte`" + . "\n ADD `team_id` INT(11) NULL DEFAULT NULL AFTER `spieler_2_id`;"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + $query = "UPDATE #__sportsmanager_einstellungen" + . "\n SET wert = '120'" + . "\n WHERE name = 'datenbank_version'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + if ($termin_aktionen_email_setzen) { $query = "SELECT aktion_user_id, termin_aktion_id" . "\n FROM #__sportsmanager_termin_aktion"; diff --git a/src/structure/components/com_sportsmanager/sportsmanager.php b/src/structure/components/com_sportsmanager/sportsmanager.php index c4b9ce8..60c5eda 100644 --- a/src/structure/components/com_sportsmanager/sportsmanager.php +++ b/src/structure/components/com_sportsmanager/sportsmanager.php @@ -7365,7 +7365,7 @@ function spielerstatistiken(): void . "\n ORDER BY reihenfolge, bezeichnung, kategorie"; $spielerstatistiken = loadObjectList($db, $query); - HTML_sportsmanager::spielerstatistikenHeader($params->get('titel'), $params->get('beschreibung'), $saisons, $filter_saison_id, "", null, null); + HTML_sportsmanager::spielerstatistikenHeader($params->get('titel'), $params->get('beschreibung'), $saisons, $filter_saison_id, "", null, null, null, null); foreach ($spielerstatistiken as $spielerstatistik) { //Mindestzahl an Spielen @@ -7412,7 +7412,7 @@ function spielerstatistiken(): void $query .= "\n ORDER BY leistungsindex DESC, quotient DESC, punkte_gewonnen - punkte_verloren DESC, nachname, vorname"; $spielerstatistik_punkte = loadObjectList($db, $query); - HTML_sportsmanager::spielerstatistik($spielerstatistik, $spielerstatistik_punkte, FALSE, 0, 0, $details_anzeigen); + HTML_sportsmanager::spielerstatistik($spielerstatistik, $spielerstatistik_punkte, FALSE, 0, 0, 0, $details_anzeigen); } administrationFooter(); @@ -7439,6 +7439,8 @@ function spielerstatistik(): void $details_anzeigen = currentUserHasAccessToDetails(); $filter_min_spiele = $jInput->get('filter_min_spiele', 999, 'INT'); $filter_saison_id = $jInput->get('filter_saison_id', 0, 'INT'); + $filter_teams = $jInput->get('filter_teams', 0, 'INT'); + if ($filter_saison_id == 0) { $filter_saison_id = $jInput->cookie->get('sportsmanager_filter_saison_id', 0, 'INT'); } @@ -7530,6 +7532,19 @@ function spielerstatistik(): void } $spielerstatistik_punkte = loadObjectList($db, $query); + //Dropdown teams + $query = "SELECT 0 AS team_id, '" . Text::_('COM_SPORTSMANAGER_SELECT_ALL') . "' AS teamname, 0 AS sort_order" + . "\n UNION" + . "\n SELECT team.team_id, team.teamname, 1 AS sort_order" + . "\n FROM #__sportsmanager_bestenliste_punkte" + . "\n LEFT JOIN (SELECT team_id, teamname FROM #__sportsmanager_team) AS team" + . "\n ON #__sportsmanager_bestenliste_punkte.team_id = team.team_id" + . "\n WHERE bestenliste_id = $spielerstatistik->bestenliste_id" + . "\n GROUP BY team.team_id" + . "\n ORDER BY sort_order, teamname;"; + $db->setQuery($query); + $teams = $db->loadObjectList('team_id'); + // Vorherige und nächste Spielerstatistik ermitteln $query = "SELECT *" . "\n FROM #__sportsmanager_bestenliste" @@ -7556,8 +7571,8 @@ function spielerstatistik(): void if (isJson()) { JSON_sportsmanager::spielerstatistik($spielerstatistik_punkte); } else { - HTML_sportsmanager::spielerstatistikenHeader($params->get('titel'), $params->get('beschreibung'), $saisons, $filter_saison_id, $id, $spiele, $spielerstatistik->min_spiele); - HTML_sportsmanager::spielerstatistik($spielerstatistik, $spielerstatistik_punkte, TRUE, $vorherige_spielerstatistik_id, $naechste_spielerstatistik_id, $details_anzeigen); + HTML_sportsmanager::spielerstatistikenHeader($params->get('titel'), $params->get('beschreibung'), $saisons, $filter_saison_id, $id, $spiele, $spielerstatistik->min_spiele, $teams, $filter_teams); + HTML_sportsmanager::spielerstatistik($spielerstatistik, $spielerstatistik_punkte, TRUE, $filter_teams, $vorherige_spielerstatistik_id, $naechste_spielerstatistik_id, $details_anzeigen); } } 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 183901f..cbfbfcc 100644 --- a/src/structure/components/com_sportsmanager/views/sportsmanager/view.html.php +++ b/src/structure/components/com_sportsmanager/views/sportsmanager/view.html.php @@ -6016,10 +6016,10 @@ static function turniervoranmeldungen($disziplin, $meldungenSpielerSortiert, $me