Merge branch 'sportsmanager2-dev' into sportsmanager2-issue070

This commit is contained in:
jmeyer26
2026-02-25 09:40:39 +01:00
committed by GitHub
7 changed files with 267 additions and 39 deletions
@@ -7967,6 +7967,7 @@ function adminEditVeranstaltung(): void
$unterteilung = $jInput->get('unterteilung', 0, 'INT'); $unterteilung = $jInput->get('unterteilung', 0, 'INT');
$spieltag_titel_zeigen = $jInput->get('spieltag_titel_zeigen', 0, 'INT'); $spieltag_titel_zeigen = $jInput->get('spieltag_titel_zeigen', 0, 'INT');
$elo_wertung = $jInput->get('elo_wertung', 0, 'INT'); $elo_wertung = $jInput->get('elo_wertung', 0, 'INT');
$explizite_strafen = $jInput->get('explizite_strafen', 0, 'INT');
$logo_url = $db->escape(trim($jInput->get('logo_url', '', 'RAW'))); $logo_url = $db->escape(trim($jInput->get('logo_url', '', 'RAW')));
$ticker_logo_url = $db->escape(trim($jInput->get('ticker_logo_url', '', 'RAW'))); $ticker_logo_url = $db->escape(trim($jInput->get('ticker_logo_url', '', 'RAW')));
$status = $jInput->get('status', 0, 'INT'); $status = $jInput->get('status', 0, 'INT');
@@ -7984,8 +7985,8 @@ function adminEditVeranstaltung(): void
$elo_aktualisieren = false; $elo_aktualisieren = false;
$spielerstatistik_aktualisieren = false; $spielerstatistik_aktualisieren = false;
if ($id == 0) { if ($id == 0) {
$query = "INSERT INTO #__sportsmanager_veranstaltung (veranstalter_id, saison_id, bezeichnung, erster_tag " . ($letzter_tag != null ? ", letzter_tag" : "") . ", regelwerke_id, modus_id, verschieberegel_id, tabellenwertung, direktervergleich, unterteilung, spieltag_titel_zeigen, elo_wertung, logo_url, ticker_logo_url, status, reihenfolge, kategorie) VALUES $query = "INSERT INTO #__sportsmanager_veranstaltung (veranstalter_id, saison_id, bezeichnung, erster_tag " . ($letzter_tag != null ? ", letzter_tag" : "") . ", regelwerke_id, modus_id, verschieberegel_id, tabellenwertung, direktervergleich, unterteilung, spieltag_titel_zeigen, elo_wertung, explizite_strafen, logo_url, ticker_logo_url, status, reihenfolge, kategorie) VALUES
('$veranstalterId', '$saison_id', '$bezeichnung', '$erster_tag', " . ($letzter_tag != null ? "'$letzter_tag', " : "") . "'$regelwerke_id', '$modus_id', '$verschieberegel_id', '$tabellenwertung', '$direktervergleich', '$unterteilung', '$spieltag_titel_zeigen', '$elo_wertung', '$logo_url', '$ticker_logo_url', '$status', '$reihenfolge', '$kategorie');"; ('$veranstalterId', '$saison_id', '$bezeichnung', '$erster_tag', " . ($letzter_tag != null ? "'$letzter_tag', " : "") . "'$regelwerke_id', '$modus_id', '$verschieberegel_id', '$tabellenwertung', '$direktervergleich', '$unterteilung', '$spieltag_titel_zeigen', '$elo_wertung', '$explizite_strafen', '$logo_url', '$ticker_logo_url', '$status', '$reihenfolge', '$kategorie');";
$db->setQuery($query); $db->setQuery($query);
if (!$db->execute()) { if (!$db->execute()) {
die($db->stderr(true)); die($db->stderr(true));
@@ -8013,6 +8014,7 @@ function adminEditVeranstaltung(): void
. "\n unterteilung = '$unterteilung'," . "\n unterteilung = '$unterteilung',"
. "\n spieltag_titel_zeigen = '$spieltag_titel_zeigen'," . "\n spieltag_titel_zeigen = '$spieltag_titel_zeigen',"
. "\n elo_wertung = '$elo_wertung'," . "\n elo_wertung = '$elo_wertung',"
. "\n explizite_strafen = '$explizite_strafen',"
. "\n logo_url = '$logo_url'," . "\n logo_url = '$logo_url',"
. "\n ticker_logo_url = '$ticker_logo_url'," . "\n ticker_logo_url = '$ticker_logo_url',"
. "\n status = '$status'," . "\n status = '$status',"
@@ -8493,6 +8495,61 @@ function adminEditMannschaft(): void
redirectSportsManagerURL('&task=admin_teams&veranstaltungid=' . $veranstaltungId); redirectSportsManagerURL('&task=admin_teams&veranstaltungid=' . $veranstaltungId);
} }
function veranstaltungid_for_teamid( $db, $teamid )
{
$query = "SELECT veranstaltung_id FROM #__sportsmanager_team WHERE team_id = $teamid";
$veranstaltungid = loadResult($db, $query);
if ($veranstaltungid == 0) { die("invalid team id"); }
return $veranstaltungid;
}
function adminMannschaftStrafen()
{
$db = getDatabase();
$jInput = Factory::getContainer()->get(SiteApplication::class)->input;
$teamid = $jInput->get('teamid', 0, 'INT');
if ($teamid == 0) die("Missing id!");
$veranstaltungid = veranstaltungid_for_teamid($db, $teamid);
$query = "SELECT teamname FROM #__sportsmanager_team WHERE team_id = $teamid";
$teamname = loadResult($db, $query);
if (!benutzerZugriff("mannschaftswettbewerb_aendern") && !benutzerVeranstaltungModerator($veranstaltungid))
keinZugriff();
$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);
}
function adminMannschaftAddStrafe()
{
$db = getDatabase();
$jInput = Factory::getContainer()->get(SiteApplication::class)->input;
$teamid = $jInput->get('teamid', 0, 'INT');
if ($teamid == 0) die("Missing id!");
$veranstaltungid = veranstaltungid_for_teamid($db, $teamid);
if (!benutzerZugriff("mannschaftswettbewerb_aendern") && !benutzerVeranstaltungModerator($veranstaltungid))
keinZugriff();
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, $user_id, $beschreibung);
redirectSportsManagerURL('&task=admin_team_strafen&teamid=' . $teamid);
} else {
redirectSportsManagerURL('&task=admin_teams&veranstaltungid=' . $veranstaltungid);
}
}
function mannschaftsgruppe_hinzufuegen($quelle_team_id, $ziel_veranstaltung_id) function mannschaftsgruppe_hinzufuegen($quelle_team_id, $ziel_veranstaltung_id)
{ {
$db = getDatabase(); $db = getDatabase();
@@ -5568,6 +5568,29 @@ function updateDatabase(): void
} }
} }
if ($datenbank_version < 117) {
$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,"
. "\n PRIMARY KEY (`team_strafen_id`)"
. "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;";
$db->setQuery( $query );
if (!$db->execute()) { die($db->stderr(true)); }
$query = "ALTER TABLE #__sportsmanager_veranstaltung"
. "\n ADD IF NOT EXISTS explizite_strafen tinyint(4) DEFAULT '0' AFTER elo_wertung";
$db->setQuery($query);
if (!$db->execute()) { die($db->stderr(true)); }
$query = "UPDATE #__sportsmanager_einstellungen SET wert = '117' WHERE name = 'datenbank_version'";
$db->setQuery($query);
if (!$db->execute()) { die($db->stderr(true)); }
}
if ($datenbank_version < 118) { if ($datenbank_version < 118) {
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_verbandsorgane` (" $query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_verbandsorgane` ("
@@ -5614,7 +5637,6 @@ function updateDatabase(): void
if (!$db->execute()) { if (!$db->execute()) {
die($db->stderr(true)); die($db->stderr(true));
} }
}
if ($termin_aktionen_email_setzen) { if ($termin_aktionen_email_setzen) {
$query = "SELECT aktion_user_id, termin_aktion_id" $query = "SELECT aktion_user_id, termin_aktion_id"
@@ -488,6 +488,12 @@ if ($task == "spielerbild") {
case 'admin_team_edit': case 'admin_team_edit':
adminEditMannschaft(); adminEditMannschaft();
break; break;
case 'admin_team_strafen':
adminMannschaftStrafen();
break;
case 'admin_team_add_strafe':
adminMannschaftAddStrafe();
break;
case 'admin_team_save': case 'admin_team_save':
adminSaveMannschaft(); adminSaveMannschaft();
break; break;
@@ -4897,6 +4903,54 @@ 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)"
. "\n VALUES ($teamid, '$zeitpunkt', $moderator_user_id, $strafe, '$beschreibung')";
$db->setQuery($query);
if (!$result = $db->execute()) { die($db->stderr(true)); }
$query = "UPDATE #__sportsmanager_team"
. "\n SET zusatzpunkte = ("
. "\n SELECT SUM(#__sportsmanager_team_strafen.strafe)"
. "\n FROM #__sportsmanager_team_strafen"
. "\n WHERE #__sportsmanager_team_strafen.team_id = $teamid"
. "\n ) WHERE #__sportsmanager_team.team_id = $teamid";
$db->setQuery($query);
if (!$result = $db->execute()) { die($db->stderr(true)); }
teamstatistikAktualisieren($veranstaltungid);
$query = "SELECT teamname FROM #__sportsmanager_team WHERE team_id = $teamid";
$teamname = loadResult($db, $query);
$mailfrom = $app->getCfg('mailfrom');
$fromname = $app->getCfg('fromname');
$penaltycc = $app->getCfg('penaltycc');
$subject = JText::sprintf('COM_SPORTSMANAGER_EXPLICIT_PENALTIES_EMAIL_SUBJECT', $teamname);
$body = JText::sprintf('COM_SPORTSMANAGER_EXPLICIT_PENALTIES_EMAIL_BODY', $teamname, $strafe, $beschreibung);
$query = "SELECT t1.email FROM #__users AS t1, #__sportsmanager_berechtigt_fuer_team AS t2 WHERE t1.id = t2.berechtigt_user_id AND t2.berechtigt_team_id = $teamid";
$rows = loadObjectList($db, $query);
if(!empty($rows)) {
$mailer = Factory::getContainer()->get(MailerFactoryInterface::class)->createMailer();
$mailer->setSender($mailfrom, $fromname);
if (!empty($penaltycc)) {
$mailer->addCc($penaltycc);
}
$mailer->setSubject($subject);
$mailer->setBody($body);
foreach ($rows as $row) {
$mailer->addBcc($row->email);
}
$mailer->send();
}
}
function teamstatistikAktualisieren($geaenderte_veranstaltung_id = 0, $geaenderter_teamspiel_modus_id = 0): void function teamstatistikAktualisieren($geaenderte_veranstaltung_id = 0, $geaenderter_teamspiel_modus_id = 0): void
{ {
$db = getDatabase(); $db = getDatabase();
@@ -9064,6 +9064,23 @@ static function adminVerbandsorganMitglieder($rows,$verbandsorgan): void
</select> </select>
</td> </td>
</tr> </tr>
<tr>
<td nowrap style="width: 20%; text-align: right">
<label for="explicit_penalties"><?php echo Text::_('COM_SPORTSMANAGER_EXPLICIT_PENALTIES'); ?>
:</label>
</td>
<td nowrap>
<select class="uk-select uk-form-width-medium" name="explizite_strafen" id="explicit_penalties" size="1">
<?php
$explizite_strafen = array(Text::_('COM_SPORTSMANAGER_NO'), Text::_('COM_SPORTSMANAGER_YES'));
for ($i = 0; $i <= 1; $i++) {
$selected = $i == ($row != NULL ? $row->explizite_strafen : 1);
echo "<option value=\"" . $i . "\"" . ($selected ? " selected" : "") . ">" . htmlentities_utf8($explizite_strafen[$i]) . "</option>";
}
?>
</select>
</td>
</tr>
<tr> <tr>
<td nowrap style="width: 20%; text-align: right; vertical-align: top"> <td nowrap style="width: 20%; text-align: right; vertical-align: top">
<?php echo Text::_('COM_SPORTSMANAGER_ELIGIBLE_FOR_EVENT'); ?>: <?php echo Text::_('COM_SPORTSMANAGER_ELIGIBLE_FOR_EVENT'); ?>:
@@ -9543,6 +9560,7 @@ static function adminVerbandsorganMitglieder($rows,$verbandsorgan): void
:</label> :</label>
</td> </td>
<td nowrap> <td nowrap>
<?php if ($veranstaltung->explizite_strafen == 0) { ?>
<select class="uk-select uk-form-width-medium" name="zusatzpunkte" style="width: 370px;" <select class="uk-select uk-form-width-medium" name="zusatzpunkte" style="width: 370px;"
id="penality_points" size="1"> id="penality_points" size="1">
<?php <?php
@@ -9552,6 +9570,9 @@ static function adminVerbandsorganMitglieder($rows,$verbandsorgan): void
} }
?> ?>
</select> </select>
<?php } else if ($row != NULL) {
echo "<a href=\"" . SportsManagerURL('&task=admin_team_strafen&teamid=' . $row->team_id) . "\">" . ($row->zusatzpunkte ? $row->zusatzpunkte : 0.0) . "</a>";
} ?>
</td> </td>
</tr> </tr>
<?php <?php
@@ -9778,6 +9799,57 @@ static function adminVerbandsorganMitglieder($rows,$verbandsorgan): void
<?php <?php
} }
static function adminMannschaftStrafen( $teamid, $veranstaltungid, $teamname, $rows ) {
global $params;
?>
<div class="componentheading<?php echo $params->get('pageclass_sfx'); ?>"><?php echo htmlentities_utf8($teamname); ?> </div>
<form action="<?php echo SportsManagerURL(); ?>" method="post" name="adminForm" id="adminForm" enctype="multipart/form-data">
<table style="width: 100%" class="contentpaneopen<?php echo $params->get('pageclass_sfx'); ?>">
<tr class="sectiontableheader<?php echo $params->get('pageclass_sfx'); ?>">
<th nowrap style="text-align: center"><strong><?php echo JText::_('COM_SPORTSMANAGER_DATE'); ?></strong></th>
<th nowrap style="text-align: left"><strong><?php echo JText::_('COM_SPORTSMANAGER_MODERATOR'); ?></strong></th>
<th nowrap style="text-align: center"><strong><?php echo JText::_('COM_SPORTSMANAGER_PENALTY'); ?></strong></th>
<th nowrap style="text-align: left"><strong><?php echo JText::_('COM_SPORTSMANAGER_DESCRIPTION'); ?></strong></th>
</tr>
<?php
$k = 0;
foreach ($rows as $row) {
?>
<tr class="sectiontableentry<?php echo $k + 1; $k = ($k + 1) % 2; echo $params->get('pageclass_sfx'); ?>">
<td nowrap style="text-align: center"> <?php echo $row->zeitpunkt ?> </td>
<td nowrap style="text-align: left"> <?php echo $row->moderator_name ? htmlentities_utf8($row->moderator_name) : "-" ?> </td>
<td nowrap style="text-align: center"> <?php echo $row->strafe ?> </td>
<td nowrap style="text-align: left"> <?php echo htmlentities_utf8($row->beschreibung) ?> </td>
</tr>
<?php } ?>
<tr class="sectiontableentry<?php echo $k + 1; echo $params->get('pageclass_sfx'); ?>">
<td nowrap style="text-align: center">
<input type="submit" name="add" value="<?php echo JText::_('COM_SPORTSMANAGER_ADD'); ?>" class="button" />
</td>
<td></td>
<td nowrap style="text-align: center">
<select class="uk-select uk-form-width-medium" name="strafe" style="width: 70px;" id="penality_points" size="1">
<?php for ($i = 4.0; $i >= -4.0; $i -= 0.5) {
echo "<option value=\"" . $i . "\" " . ($i == 0.0 ? "selected" : "") . ">" . $i . "</option>";
} ?>
</select>
</td>
<td nowrap style="text-align: left">
<input class="inputbox" type="text" name="beschreibung" size="50" maxlength="99" value="" />
</td>
</tr>
</table>
<input type="submit" name="cancel" value="<?php echo JText::_('COM_SPORTSMANAGER_CANCEL'); ?>" class="button" />
<input type="hidden" name="task" value="admin_team_add_strafe" />
<input type="hidden" name="teamid" value="<?php echo $teamid; ?>" />
</form>
<?php
}
static function adminKopierenMannschaft($veranstaltung, $teams, $veranstaltungen): void static function adminKopierenMannschaft($veranstaltung, $teams, $veranstaltungen): void
{ {
global $params; global $params;
@@ -900,6 +900,9 @@ COM_SPORTSMANAGER_RESULT_ONLY="Nur Ergebnis"
COM_SPORTSMANAGER_GAME_NUMBER="Spiel %d" COM_SPORTSMANAGER_GAME_NUMBER="Spiel %d"
COM_SPORTSMANAGER_LABEL_GAME_NUMBER="Spiel Nr" COM_SPORTSMANAGER_LABEL_GAME_NUMBER="Spiel Nr"
COM_SPORTSMANAGER_LABEL_GAME_TITLE="Spieltag Titel" COM_SPORTSMANAGER_LABEL_GAME_TITLE="Spieltag Titel"
COM_SPORTSMANAGER_EXPLICIT_PENALTIES="Explizite Strafen"
COM_SPORTSMANAGER_EXPLICIT_PENALTIES_EMAIL_SUBJECT="%s: Strafpunkte erhalten"
COM_SPORTSMANAGER_EXPLICIT_PENALTIES_EMAIL_BODY="%s wurden %f Strafpunkte zugeteilt mit der Begründung: %s"
COM_SPORTSMANAGER_EMAIL_SHIFT_GAME_APPOINTMENT_SUBJECT="%s vs %s: Spieltermin verlegen" COM_SPORTSMANAGER_EMAIL_SHIFT_GAME_APPOINTMENT_SUBJECT="%s vs %s: Spieltermin verlegen"
COM_SPORTSMANAGER_EMAIL_SHIFT_GAME_APPOINTMENT_BODY="Zur Begegnung %s gegen %s am %s in %s wird von %s der Spieltermin verschoben.\n\nAlternative Termine:\n\n" COM_SPORTSMANAGER_EMAIL_SHIFT_GAME_APPOINTMENT_BODY="Zur Begegnung %s gegen %s am %s in %s wird von %s der Spieltermin verschoben.\n\nAlternative Termine:\n\n"
COM_SPORTSMANAGER_EMAIL_SHIFT_GAME_APPOINTMENT_REQUESTED_BODY="Zur Begegnung %s gegen %s am %s in %s wird von %s der Spieltermin verschoben.\n\nBitte alternative Termine vorschlagen unter %s" COM_SPORTSMANAGER_EMAIL_SHIFT_GAME_APPOINTMENT_REQUESTED_BODY="Zur Begegnung %s gegen %s am %s in %s wird von %s der Spieltermin verschoben.\n\nBitte alternative Termine vorschlagen unter %s"
@@ -900,6 +900,9 @@ COM_SPORTSMANAGER_RESULT_ONLY="Result only"
COM_SPORTSMANAGER_GAME_NUMBER="Game %d" COM_SPORTSMANAGER_GAME_NUMBER="Game %d"
COM_SPORTSMANAGER_LABEL_GAME_NUMBER="Game nr" COM_SPORTSMANAGER_LABEL_GAME_NUMBER="Game nr"
COM_SPORTSMANAGER_LABEL_GAME_TITLE="Gameday title" COM_SPORTSMANAGER_LABEL_GAME_TITLE="Gameday title"
COM_SPORTSMANAGER_EXPLICIT_PENALTIES="Explicit Penalties"
COM_SPORTSMANAGER_EXPLICIT_PENALTIES_EMAIL_SUBJECT="%s: received penalty"
COM_SPORTSMANAGER_EXPLICIT_PENALTIES_EMAIL_BODY="%s received a penalty of %f points based on the following justification: %s"
COM_SPORTSMANAGER_EMAIL_SHIFT_GAME_APPOINTMENT_SUBJECT="%s vs %s: Shift game appointment" COM_SPORTSMANAGER_EMAIL_SHIFT_GAME_APPOINTMENT_SUBJECT="%s vs %s: Shift game appointment"
COM_SPORTSMANAGER_EMAIL_SHIFT_GAME_APPOINTMENT_BODY="For match %s versus %s on %s in %s the game appointment is shifted by %s.\n\nAlternative appointments:\n\n" COM_SPORTSMANAGER_EMAIL_SHIFT_GAME_APPOINTMENT_BODY="For match %s versus %s on %s in %s the game appointment is shifted by %s.\n\nAlternative appointments:\n\n"
COM_SPORTSMANAGER_EMAIL_SHIFT_GAME_APPOINTMENT_REQUESTED_BODY="For match %s on %s in %s the game appointment is shifted by %s.\n\nPlease propose alternative appointments under %s" COM_SPORTSMANAGER_EMAIL_SHIFT_GAME_APPOINTMENT_REQUESTED_BODY="For match %s on %s in %s the game appointment is shifted by %s.\n\nPlease propose alternative appointments under %s"
+17
View File
@@ -722,6 +722,18 @@ return new class () implements InstallerScriptInterface
$db->setQuery( $query ); $db->setQuery( $query );
if (!$db->execute()) { die($db->stderr(true)); } if (!$db->execute()) { die($db->stderr(true)); }
$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,"
. "\n PRIMARY KEY (`team_strafen_id`)"
. "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;";
$db->setQuery( $query );
if (!$db->execute()) { die($db->stderr(true)); }
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_teamansprechpartner` (" $query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_teamansprechpartner` ("
. "\n `kontaktperson_id` int(11) NOT NULL AUTO_INCREMENT," . "\n `kontaktperson_id` int(11) NOT NULL AUTO_INCREMENT,"
. "\n `team_id` int(11) NOT NULL DEFAULT '0'," . "\n `team_id` int(11) NOT NULL DEFAULT '0',"
@@ -1049,6 +1061,7 @@ return new class () implements InstallerScriptInterface
. "\n `erster_tag` date NOT NULL DEFAULT '0000-00-00'," . "\n `erster_tag` date NOT NULL DEFAULT '0000-00-00',"
. "\n `letzter_tag` date DEFAULT NULL," . "\n `letzter_tag` date DEFAULT NULL,"
. "\n `elo_wertung` tinyint(4) DEFAULT NULL," . "\n `elo_wertung` tinyint(4) DEFAULT NULL,"
. "\n `explizite_strafen` tinyint(4) DEFAULT '0',"
. "\n `logo_url` TINYTEXT NOT NULL," . "\n `logo_url` TINYTEXT NOT NULL,"
. "\n `ticker_logo_url` TINYTEXT NOT NULL," . "\n `ticker_logo_url` TINYTEXT NOT NULL,"
. "\n `status` tinyint(4) NOT NULL DEFAULT '0'," . "\n `status` tinyint(4) NOT NULL DEFAULT '0',"
@@ -1710,6 +1723,10 @@ return new class () implements InstallerScriptInterface
$db->setQuery( $query ); $db->setQuery( $query );
if (!$db->execute()) { die($db->stderr(true)); } if (!$db->execute()) { die($db->stderr(true)); }
$query = "DROP TABLE IF EXISTS `#__sportsmanager_team_strafen`;";
$db->setQuery( $query );
if (!$db->execute()) { die($db->stderr(true)); }
$query = "DROP TABLE IF EXISTS `#__sportsmanager_turnier`;"; $query = "DROP TABLE IF EXISTS `#__sportsmanager_turnier`;";
$db->setQuery( $query ); $db->setQuery( $query );
if (!$db->execute()) { die($db->stderr(true)); } if (!$db->execute()) { die($db->stderr(true)); }