diff --git a/src/structure/components/com_sportsmanager/admin.php b/src/structure/components/com_sportsmanager/admin.php index 612b48d..0e7576c 100644 --- a/src/structure/components/com_sportsmanager/admin.php +++ b/src/structure/components/com_sportsmanager/admin.php @@ -8237,7 +8237,10 @@ function adminMannschaftStrafen() if (!benutzerZugriff("mannschaftswettbewerb_aendern") && !benutzerVeranstaltungModerator($veranstaltungid)) keinZugriff(); - $query = "SELECT zeitpunkt, strafe, beschreibung FROM #__sportsmanager_team_strafen WHERE team_id = $teamid"; + $query = "SELECT strafen.zeitpunkt, strafen.strafe, strafen.beschreibung, users.name AS moderator_name" + . "\n FROM #__sportsmanager_team_strafen as strafen" + . "\n LEFT JOIN #__users as users ON users.id = strafen.moderator_user_id" + . "\n WHERE strafen.team_id = $teamid"; $rows = loadObjectList($db, $query); HTML_sportsmanager_admin::adminMannschaftStrafen($teamid, $veranstaltungid, $teamname, $rows); @@ -8257,9 +8260,10 @@ function adminMannschaftAddStrafe() if ($jInput->get('cancel', false, 'BOOL')) { redirectSportsManagerURL("&task=admin_team_edit&veranstaltungid=$veranstaltungid&id=$teamid"); } else if ($jInput->get('add', false, 'BOOL')) { + $user_id = Factory::getContainer()->get(SiteApplication::class)->getIdentity()->id; $strafe = $jInput->get('strafe', 0, 'FLOAT'); $beschreibung = $jInput->get('beschreibung', 0, 'RAW'); - neueTeamStrafe($teamid, $veranstaltungid, $strafe, $beschreibung); + neueTeamStrafe($teamid, $veranstaltungid, $strafe, $user_id, $beschreibung); redirectSportsManagerURL('&task=admin_team_strafen&teamid=' . $teamid); } else { redirectSportsManagerURL('&task=admin_teams&veranstaltungid=' . $veranstaltungid); diff --git a/src/structure/components/com_sportsmanager/database/update.php b/src/structure/components/com_sportsmanager/database/update.php index e2c1fc5..29e2bd2 100644 --- a/src/structure/components/com_sportsmanager/database/update.php +++ b/src/structure/components/com_sportsmanager/database/update.php @@ -5572,6 +5572,7 @@ function updateDatabase(): void $query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_team_strafen` (" . "\n `team_strafen_id` int(11) NOT NULL AUTO_INCREMENT," . "\n `zeitpunkt` datetime NOT NULL," + . "\n `moderator_user_id` int(11) DEFAULT NULL," . "\n `team_id` int(11) NOT NULL DEFAULT '0'," . "\n `strafe` float(6,2) NOT NULL DEFAULT '0'," . "\n `beschreibung` text NOT NULL," diff --git a/src/structure/components/com_sportsmanager/sportsmanager.php b/src/structure/components/com_sportsmanager/sportsmanager.php index 76e4714..dd98bca 100644 --- a/src/structure/components/com_sportsmanager/sportsmanager.php +++ b/src/structure/components/com_sportsmanager/sportsmanager.php @@ -4782,14 +4782,14 @@ function begegnungVerlegen(): void } } -function neueTeamStrafe($teamid, $veranstaltungid, $strafe, $beschreibung) { +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, strafe, beschreibung)" - . "\n VALUES ($teamid, '$zeitpunkt', $strafe, '$beschreibung')"; + . "\n (team_id, zeitpunkt, moderator_user_id, strafe, beschreibung)" + . "\n VALUES ($teamid, '$zeitpunkt', $moderator_user_id, $strafe, '$beschreibung')"; $db->setQuery($query); if (!$result = $db->execute()) { die($db->stderr(true)); } 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 8d8e05f..7050c18 100644 --- a/src/structure/components/com_sportsmanager/views/sportsmanager/view_admin.php +++ b/src/structure/components/com_sportsmanager/views/sportsmanager/view_admin.php @@ -9355,6 +9355,7 @@ class HTML_sportsmanager_admin + @@ -9365,8 +9366,9 @@ class HTML_sportsmanager_admin ?> + - + diff --git a/src/structure/script.php b/src/structure/script.php index 4200fe9..6d4faa9 100644 --- a/src/structure/script.php +++ b/src/structure/script.php @@ -725,6 +725,7 @@ return new class () implements InstallerScriptInterface $query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_team_strafen` (" . "\n `team_strafen_id` int(11) NOT NULL AUTO_INCREMENT," . "\n `zeitpunkt` datetime NOT NULL," + . "\n `moderator_user_id` int(11) DEFAULT NULL," . "\n `team_id` int(11) NOT NULL DEFAULT '0'," . "\n `strafe` float(6,2) NOT NULL DEFAULT '0'," . "\n `beschreibung` text NOT NULL,"
zeitpunkt ?> moderator_name ? htmlentities_utf8($row->moderator_name) : "-" ?> strafe ?> beschreibung ?> beschreibung) ?>