Merge pull request #243 from Deutscher-Tischfussballbund/sportsmanager2-issue242

Sportsmanager2 issue242
This commit is contained in:
MarvinF
2026-01-26 17:51:55 +01:00
committed by GitHub
7 changed files with 697 additions and 533 deletions
@@ -3915,6 +3915,9 @@ function adminEditSpielort(): void
$ortsname = $db->escape(trim($jInput->get('ortsname', '', 'RAW')));
$ortsteil = $db->escape(trim($jInput->get('ortsteil', '', 'RAW')));
$url = $db->escape(trim($jInput->get('url', '', 'RAW')));
$telefon = $db->escape(trim($jInput->get('telefon', '', 'RAW')));
$email = $db->escape(trim($jInput->get('email', '', 'RAW')));
$ruhetage = $db->escape(trim($jInput->get('ruhetage', '', 'RAW')));
$beschreibung = $db->escape(trim($jInput->get('beschreibung', '', 'RAW')));
$status = $jInput->get('status', 0, 'INT');
@@ -3923,8 +3926,8 @@ function adminEditSpielort(): void
}
if ($id == 0) {
$query = "INSERT INTO #__sportsmanager_spielort (name, strasse, plz, ortsname, ortsteil, url, beschreibung, status)"
. "\n VALUES ('$name', '$strasse', '$plz', '$ortsname', '$ortsteil', '$url', '$beschreibung', '$status');";
$query = "INSERT INTO #__sportsmanager_spielort (name, strasse, plz, ortsname, ortsteil, url, telefon, email, ruhetage, beschreibung, status)"
. "\n VALUES ('$name', '$strasse', '$plz', '$ortsname', '$ortsteil', '$url', '$telefon', '$email', '$ruhetage', '$beschreibung', '$status');";
$db->setQuery($query);
if (!$db->execute()) {
die($db->stderr(true));
@@ -3938,6 +3941,9 @@ function adminEditSpielort(): void
. "\n ortsname = '$ortsname',"
. "\n ortsteil = '$ortsteil',"
. "\n url = '$url',"
. "\n telefon = '$telefon',"
. "\n email = '$email',"
. "\n ruhetage = '$ruhetage',"
. "\n beschreibung = '$beschreibung',"
. "\n status = '$status'"
. "\n WHERE spielort_id = $id";
@@ -7944,6 +7950,7 @@ function adminEditMannschaft(): void
$heimspiel_wochentag = $jInput->get('heimspiel_wochentag', 0, 'INT');
$heimspiel_uhrzeit = sprintf("%02d%02d", $jInput->get('heimspiel_uhrzeit_stunden', 0, 'INT'), $jInput->get('heimspiel_uhrzeit_minuten', 0, 'INT'));
$heimspielort_id = $jInput->get('heimspielort_id', 0, 'INT');
$trainingstage = $db->escape(trim($jInput->get('trainingstage', '', 'RAW')));
$nichtraucherschutz = $jInput->get('nichtraucherschutz', 0, 'INT');
$zusatzpunkte = $jInput->get('zusatzpunkte', 0, 'FLOAT');
$bildbeibehalten = $jInput->get('bildbeibehalten', 0, 'INT');
@@ -7970,8 +7977,8 @@ function adminEditMannschaft(): void
$veranstaltung = $rows[0];
if ($id == 0) {
$query = "INSERT INTO #__sportsmanager_team (verein_id, veranstaltung_id, teamname, teamname_kurz, tischtyp, tischeigenschaften, heimspiel_wochentag, heimspiel_uhrzeit, heimspielort_id, nichtraucherschutz, zusatzpunkte" . ($veranstaltung->tabellenwertung == -2 ? ", platz" : "") . ", pin)"
. "\n VALUES (" . ($verein_id != 0 ? "'$verein_id'" : "NULL") . ", '$veranstaltungId', '$teamname', '$teamname_kurz', '$tischtyp', '$tischeigenschaften', '$heimspiel_wochentag', '$heimspiel_uhrzeit', " . ($heimspielort_id != 0 ? "'$heimspielort_id'" : "NULL") . ", '$nichtraucherschutz', '$zusatzpunkte'" . ($veranstaltung->tabellenwertung == -2 ? ($platz != 0 ? ", '$platz'" : ", NULL") : "") . ", '$pin');";
$query = "INSERT INTO #__sportsmanager_team (verein_id, veranstaltung_id, teamname, teamname_kurz, tischtyp, tischeigenschaften, heimspiel_wochentag, heimspiel_uhrzeit, heimspielort_id, trainingstage, nichtraucherschutz, zusatzpunkte" . ($veranstaltung->tabellenwertung == -2 ? ", platz" : "") . ", pin)"
. "\n VALUES (" . ($verein_id != 0 ? "'$verein_id'" : "NULL") . ", '$veranstaltungId', '$teamname', '$teamname_kurz', '$tischtyp', '$tischeigenschaften', '$heimspiel_wochentag', '$heimspiel_uhrzeit', " . ($heimspielort_id != 0 ? "'$heimspielort_id'" : "NULL") . ", '$trainingstage', '$nichtraucherschutz', '$zusatzpunkte'" . ($veranstaltung->tabellenwertung == -2 ? ($platz != 0 ? ", '$platz'" : ", NULL") : "") . ", '$pin');";
$db->setQuery($query);
if (!$db->execute()) {
die($db->stderr(true));
@@ -7999,6 +8006,7 @@ function adminEditMannschaft(): void
. "\n heimspiel_wochentag = '$heimspiel_wochentag',"
. "\n heimspiel_uhrzeit = '$heimspiel_uhrzeit',"
. "\n heimspielort_id = " . ($heimspielort_id != 0 ? "'$heimspielort_id'" : "NULL") . ","
. "\n trainingstage = '$trainingstage',"
. "\n nichtraucherschutz = '$nichtraucherschutz',"
. ($veranstaltung->tabellenwertung == -2 ? ($platz != 0 ? "\n platz = '$platz'," : "\n platz = NULL,") : "")
. "\n zusatzpunkte = '$zusatzpunkte',"
@@ -11969,6 +11977,9 @@ function adminBegegnungenExportForm(): void
";
$rows = loadObjectList($db, $query);
if (!isset($rows) or count($rows) == 0) {
redirectSportsManagerURL('&task=admin_begegnungen&veranstaltungid=1', "Zu dieser Auswahl sind keine Daten vorhanden!");
}
$dateiname = "Spieler " . $veranstaltung->bezeichnung;
}
@@ -12026,10 +12037,10 @@ function adminBegegnungenExportForm(): void
$value->verlegt_auf = $genehmigt[0]->Termin_neu;
}
$dateiname = "Spielplan " . $veranstaltung->bezeichnung;
}
if (!isset($rows) or count($rows) == 0) {
redirectSportsManagerURL('&task=admin_begegnungen&veranstaltungid=1', "Zu dieser Auswahl sind keine Daten vorhanden!");
if (!isset($rows) or count($rows) == 0) {
redirectSportsManagerURL('&task=admin_begegnungen&veranstaltungid=1', "Zu dieser Auswahl sind keine Daten vorhanden!");
}
}
if ($export == "spielberichte") {
@@ -12145,6 +12156,89 @@ function adminBegegnungenExportForm(): void
$dateiname = "Spielberichte " . $veranstaltung->bezeichnung;
}
if ($export == "teams") {
$query = "SELECT t2.verein_id, t2.vereinsname AS Verein, t2.vereinssitz AS Vereinssitz,"
. "\n t2.vereinssitz_ortsteil AS Vereinssitz_Ortsteil, t2.url AS Vereinswebseite,"
. "\n t1.team_id, t1.teamname AS Team, t3.bezeichnung AS Liga, t1.tischtyp AS Tisch,"
. "\n t4.name AS Spielort, t4.strasse AS Spielort_Strasse, t4.plz AS Spielort_PLZ,"
. "\n t4.ortsname AS Spielort_Ort, t4.ortsteil AS Spielort_Ortsteil, t4.telefon AS Spielort_Telefon,"
. "\n t4.url AS Spielort_Url, t1.trainingstage AS Trainingstage, t4.ruhetage AS Spielort_Ruhetage"
. "\n FROM #__sportsmanager_team AS t1"
. "\n LEFT JOIN #__sportsmanager_verein AS t2 ON t1.verein_id = t2.verein_id"
. "\n LEFT JOIN #__sportsmanager_veranstaltung AS t3 ON t1.veranstaltung_id = t3.veranstaltung_id"
. "\n LEFT JOIN #__sportsmanager_spielort AS t4 ON t1.heimspielort_id = t4.spielort_id"
. "\n WHERE t1.veranstaltung_id = " . $veranstaltungId . ";";
$rows = loadObjectList($db, $query);
if (!isset($rows) or count($rows) == 0) {
redirectSportsManagerURL('&task=admin_begegnungen&veranstaltungid=1', "Zu dieser Auswahl sind keine Daten vorhanden!");
}
foreach ($rows AS $value)
{
$query = "SELECT * FROM #__sportsmanager_vereinsansprechpartner"
. "\n WHERE verein_id = ".$value->verein_id." ORDER BY vereinsansprechpartner_id;";
$ansprechpartner = loadObjectList($db, $query);
for ($i = 0; $i <= 2; $i++){
$index = $i + 1;
if (isset($ansprechpartner[$i])){
$property = "VAP{$index}_Nachname";
$value->$property = $ansprechpartner[$i]->nachname;
$property = "VAP{$index}_Vorname";
$value->$property = $ansprechpartner[$i]->vorname;
$property = "VAP{$index}_Telefon";
$value->$property = $ansprechpartner[$i]->telefon;
$property = "VAP{$index}_Mobil";
$value->$property = $ansprechpartner[$i]->mobil;
$property = "VAP{$index}_EMail";
$value->$property = $ansprechpartner[$i]->email;
} else {
$property = "VAP{$index}_Nachname";
$value->$property = "";
$property = "VAP{$index}_Vorname";
$value->$property = "";
$property = "VAP{$index}_Telefon";
$value->$property = "";
$property = "VAP{$index}_Mobil";
$value->$property = "";
$property = "VAP{$index}_EMail";
$value->$property = "";
}
}
$query = "SELECT * FROM #__sportsmanager_teamansprechpartner"
. "\n WHERE team_id = ".$value->team_id." ORDER BY kontaktperson_id;";
$ansprechpartner = loadObjectList($db, $query);
for ($i = 0; $i <= 1; $i++){
$index = $i + 1;
if (isset($ansprechpartner[$i])){
$property = "TAP{$index}_Nachname";
$value->$property = $ansprechpartner[$i]->nachname;
$property = "TAP{$index}_Vorname";
$value->$property = $ansprechpartner[$i]->vorname;
$property = "TAP{$index}_Telefon";
$value->$property = $ansprechpartner[$i]->telefon;
$property = "TAP{$index}_Mobil";
$value->$property = $ansprechpartner[$i]->mobil;
$property = "TAP{$index}_EMail";
$value->$property = $ansprechpartner[$i]->email;
} else {
$property = "TAP{$index}_Nachname";
$value->$property = "";
$property = "TAP{$index}_Vorname";
$value->$property = "";
$property = "TAP{$index}_Telefon";
$value->$property = "";
$property = "TAP{$index}_Mobil";
$value->$property = "";
$property = "TAP{$index}_EMail";
$value->$property = "";
}
}
}
$dateiname = "Teams " . $veranstaltung->bezeichnung;
}
$dateiname .= ".csv";
$dateiname = bereinigterDateiname($dateiname);
ob_end_clean(); // Wegen UTF-8-Zeichen, die in der ausgabe vorhanden sind
@@ -5541,6 +5541,33 @@ function updateDatabase(): void
}
}
if ($datenbank_version < 116) {
$query = "ALTER TABLE `#__sportsmanager_spielort`"
. "\n ADD IF NOT EXISTS `telefon` VARCHAR(64) NULL DEFAULT NULL AFTER `url`,"
. "\n ADD IF NOT EXISTS `email` VARCHAR(64) NULL DEFAULT NULL AFTER `telefon`,"
. "\n ADD IF NOT EXISTS `ruhetage` VARCHAR(64) NULL DEFAULT NULL AFTER `email`;";
$db->setQuery($query);
if (!$db->execute()) {
die($db->stderr(true));
}
$query = "ALTER TABLE `#__sportsmanager_team`"
. "\n ADD IF NOT EXISTS `trainingstage` VARCHAR(64) NULL DEFAULT NULL AFTER `heimspielort_id`;";
$db->setQuery($query);
if (!$db->execute()) {
die($db->stderr(true));
}
$query = "UPDATE #__sportsmanager_einstellungen"
. "\n SET wert = '116'"
. "\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";
@@ -2648,6 +2648,8 @@ global $params;
echo htmlentities_utf8($team->name);
$anschrift = $team->strasse . (!empty($team->strasse) && (!empty($team->plz) || !empty($team->ortsname) || !empty($team->ortsteil)) ? ", " : "") . $team->plz . (!empty($team->plz) ? " " : "") . $team->ortsname . (!empty($team->ortsname) && !empty($team->ortsteil) ? "-" : "") . $team->ortsteil;
echo "<br />" . htmlentities_utf8($anschrift);
if (!empty($team->telefon))
echo "<br />" . htmlentities_utf8($team->telefon);
?>
</td>
</tr>
File diff suppressed because it is too large Load Diff
@@ -1068,3 +1068,5 @@ COM_SPORTSMANAGER_MATCH_RESCHEDULING="Spielverlegung"
COM_SPORTSMANAGER_MATCH_SWAPPING_HELP="Bei Heimrechttausch gleichen Termin eintragen"
COM_SPORTSMANAGER_NOT_VALID_TIME="Ung&uuml;ltige Uhrzeit"
COM_SPORTSMANAGER_REALLY_MATCH_RESCHEDULING="Willst Du diesen Spielverlegung wirklich entfernen?"
COM_SPORTSMANAGER_REST_DAYS="Ruhetage"
COM_SPORTSMANAGER_TRAINING_DAYS="Trainingstage"
@@ -1068,3 +1068,5 @@ COM_SPORTSMANAGER_MATCH_RESCHEDULING="Match rescheduling"
COM_SPORTSMANAGER_MATCH_SWAPPING_HELP="If home advantage is swapped, enter the same date"
COM_SPORTSMANAGER_NOT_VALID_TIME="Not valid time"
COM_SPORTSMANAGER_REALLY_MATCH_RESCHEDULING="Do you really want to remove this match rescheduling?"
COM_SPORTSMANAGER_REST_DAYS="Rest days"
COM_SPORTSMANAGER_TRAINING_DAYS="Training days"
+5 -1
View File
@@ -670,6 +670,9 @@ return new class () implements InstallerScriptInterface
. "\n `ortsname` varchar(30) DEFAULT NULL,"
. "\n `ortsteil` varchar(30) DEFAULT NULL,"
. "\n `url` varchar(150) DEFAULT NULL,"
. "\n `telefon` varchar(64) DEFAULT NULL,"
. "\n `email` varchar(64) DEFAULT NULL,"
. "\n `ruhetage` varchar(64) DEFAULT NULL,"
. "\n `beschreibung` varchar(500) DEFAULT NULL,"
. "\n `status` tinyint(1) NOT NULL DEFAULT '0',"
. "\n PRIMARY KEY (`spielort_id`)"
@@ -692,6 +695,7 @@ return new class () implements InstallerScriptInterface
. "\n `heimspiel_wochentag` tinyint(4) DEFAULT NULL,"
. "\n `heimspiel_uhrzeit` smallint(6) DEFAULT NULL,"
. "\n `heimspielort_id` int(11) DEFAULT NULL,"
. "\n `trainingstage` varchar(64) DEFAULT NULL,"
. "\n `nichtraucherschutz` tinyint(4) DEFAULT '0',"
. "\n `platz` smallint(6) DEFAULT NULL,"
. "\n `gesamtpunkte` float(6,2) DEFAULT NULL,"
@@ -1184,7 +1188,7 @@ return new class () implements InstallerScriptInterface
$db->setQuery( $query );
if (!$db->execute()) { die($db->stderr(true)); }
$query = "INSERT IGNORE #__sportsmanager_einstellungen SET name = 'datenbank_version', wert = '115';";
$query = "INSERT IGNORE #__sportsmanager_einstellungen SET name = 'datenbank_version', wert = '116';";
$db->setQuery( $query );
if (!$db->execute()) { die($db->stderr(true)); }