Merge branch 'sportsmanager2-dev' into sportsmanager2-issue068

This commit is contained in:
Marvin Flock
2025-08-05 21:30:57 +02:00
5 changed files with 817 additions and 864 deletions
-4
View File
@@ -83,7 +83,3 @@ JConfig: `./data/joomla_data/configuration.php`
7. Click on "Start Listening for PHP Debug Connections" in the top row of intellij 7. Click on "Start Listening for PHP Debug Connections" in the top row of intellij
8. (Not sure if optional) Install a browser extension by Jetbrains 8. (Not sure if optional) Install a browser extension by Jetbrains
https://chromewebstore.google.com/detail/xdebug-helper-by-jetbrain/aoelhdemabeimdhedkidlnbkfhnhgnhm https://chromewebstore.google.com/detail/xdebug-helper-by-jetbrain/aoelhdemabeimdhedkidlnbkfhnhgnhm
=======
Test
@@ -5707,8 +5707,8 @@ function adminEditRangliste(): void
if (count($rows) < 1) die("Wrong id!"); if (count($rows) < 1) die("Wrong id!");
$rangliste = $rows[0]; $rangliste = $rows[0];
$query = "INSERT INTO #__sportsmanager_rangliste (saison_id, system_id, streichergebnisse, geschlecht, minalter, maxalter, ohnealter, bezeichnung, erster_tag, letzter_tag, status, reihenfolge, kategorie)" $query = "INSERT INTO #__sportsmanager_rangliste (saison_id, system_id, streichergebnisse, geschlecht, lizenzen, minalter, maxalter, ohnealter, bezeichnung, erster_tag, letzter_tag, status, reihenfolge, kategorie)"
. "\n VALUES ('$rangliste->saison_id', " . ($rangliste->system_id == null ? "null" : "'$rangliste->system_id'") . ", '" . $db->escape($rangliste->streichergebnisse) . "', " . ($rangliste->geschlecht == null ? "null" : "'$rangliste->geschlecht'") . ", " . ($rangliste->minalter == null ? "null" : "'$rangliste->minalter'") . ", " . ($rangliste->maxalter == null ? "null" : "'$rangliste->maxalter'") . ", '$rangliste->ohnealter', '" . $db->escape($rangliste->bezeichnung . " (Kopie)") . "', '" . $db->escape($rangliste->erster_tag) . "', '" . $db->escape($rangliste->letzter_tag) . "', '0', '" . $db->escape($rangliste->reihenfolge) . "', '" . $db->escape($rangliste->kategorie) . "');"; . "\n VALUES ('$rangliste->saison_id', " . ($rangliste->system_id == null ? "null" : "'$rangliste->system_id'") . ", '" . $db->escape($rangliste->streichergebnisse) . "', " . ($rangliste->geschlecht == null ? "null" : "'$rangliste->geschlecht'") . ", " . ($rangliste->lizenzen == null ? "null" : "'$rangliste->lizenzen'") . "," . ($rangliste->minalter == null ? "null" : "'$rangliste->minalter'") . ", " . ($rangliste->maxalter == null ? "null" : "'$rangliste->maxalter'") . ", '$rangliste->ohnealter', '" . $db->escape($rangliste->bezeichnung . " (Kopie)") . "', '" . $db->escape($rangliste->erster_tag) . "', '" . $db->escape($rangliste->letzter_tag) . "', '0', '" . $db->escape($rangliste->reihenfolge) . "', '" . $db->escape($rangliste->kategorie) . "');";
$db->setQuery($query); $db->setQuery($query);
if (!$db->execute()) { if (!$db->execute()) {
die($db->stderr(true)); die($db->stderr(true));
@@ -8887,9 +8887,9 @@ function adminBegegnungen(): void
$query = "SELECT t1.*, t2.teamname AS heim_name, t3.teamname AS gast_name, t4.unbestaetigtes_ergebnis_id, t4.zwischenergebnis, t2.nichtraucherschutz AS heim_nichtraucherschutz, t3.nichtraucherschutz AS gast_nichtraucherschutz," $query = "SELECT t1.*, t2.teamname AS heim_name, t3.teamname AS gast_name, t4.unbestaetigtes_ergebnis_id, t4.zwischenergebnis, t2.nichtraucherschutz AS heim_nichtraucherschutz, t3.nichtraucherschutz AS gast_nichtraucherschutz,"
. "\n EXISTS(SELECT * FROM #__sportsmanager_begegnung_historie USE INDEX (begegnung_id) WHERE #__sportsmanager_begegnung_historie.begegnung_id = t1.begegnung_id AND aktion IN (1, 5)) AS verlegt," . "\n EXISTS(SELECT * FROM #__sportsmanager_begegnung_historie USE INDEX (begegnung_id) WHERE #__sportsmanager_begegnung_historie.begegnung_id = t1.begegnung_id AND aktion IN (1, 5)) AS verlegt,"
. "\n (SELECT IF(#__sportsmanager_begegnung_historie.aktion NOT IN (0, 3, 4), NULL, #__sportsmanager_begegnung_historie.eingetragen) AS eingetragen FROM #__sportsmanager_begegnung_historie USE INDEX (begegnung_id) WHERE #__sportsmanager_begegnung_historie.begegnung_id = t1.begegnung_id ORDER BY begegnung_historie_id DESC LIMIT 1) AS verlegung_eingetragen," . "\n (SELECT IF(#__sportsmanager_begegnung_historie.aktion NOT IN (0, 3, 4), NULL, #__sportsmanager_begegnung_historie.eingetragen) AS eingetragen FROM #__sportsmanager_begegnung_historie USE INDEX (begegnung_id) WHERE #__sportsmanager_begegnung_historie.begegnung_id = t1.begegnung_id ORDER BY begegnung_historie_id DESC LIMIT 1) AS verlegung_eingetragen,"
. "\n UNIX_TIMESTAMP(t1.zeitpunkt) AS termin_spiel," . "\n UNIX_TIMESTAMP(t1.zeitpunkt) AS termin_spiel,"
. "\n (" . "\n ("
. "\n SELECT UNIX_TIMESTAMP(zeitpunkt)" . "\n SELECT UNIX_TIMESTAMP(zeitpunkt)"
. "\n FROM #__sportsmanager_begegnung_historie" . "\n FROM #__sportsmanager_begegnung_historie"
@@ -8897,7 +8897,7 @@ function adminBegegnungen(): void
. "\n ORDER BY begegnung_historie_id ASC" . "\n ORDER BY begegnung_historie_id ASC"
. "\n LIMIT 1" . "\n LIMIT 1"
. "\n ) AS termin_original," . "\n ) AS termin_original,"
. "\n (" . "\n ("
. "\n SELECT team_id" . "\n SELECT team_id"
. "\n FROM #__sportsmanager_begegnung_historie" . "\n FROM #__sportsmanager_begegnung_historie"
@@ -8905,7 +8905,7 @@ function adminBegegnungen(): void
. "\n ORDER BY begegnung_historie_id ASC" . "\n ORDER BY begegnung_historie_id ASC"
. "\n LIMIT 1" . "\n LIMIT 1"
. "\n ) AS verantwortliches_team," . "\n ) AS verantwortliches_team,"
. "\n (" . "\n ("
. "\n SELECT UNIX_TIMESTAMP(zeitpunkt)" . "\n SELECT UNIX_TIMESTAMP(zeitpunkt)"
. "\n FROM #__sportsmanager_begegnung_historie" . "\n FROM #__sportsmanager_begegnung_historie"
@@ -8913,7 +8913,7 @@ function adminBegegnungen(): void
. "\n ORDER BY begegnung_historie_id ASC" . "\n ORDER BY begegnung_historie_id ASC"
. "\n LIMIT 1" . "\n LIMIT 1"
. "\n ) AS termin_akzeptiert," . "\n ) AS termin_akzeptiert,"
. "\n (" . "\n ("
. "\n SELECT UNIX_TIMESTAMP(eingetragen)" . "\n SELECT UNIX_TIMESTAMP(eingetragen)"
. "\n FROM #__sportsmanager_begegnung_historie" . "\n FROM #__sportsmanager_begegnung_historie"
@@ -8921,7 +8921,7 @@ function adminBegegnungen(): void
. "\n ORDER BY begegnung_historie_id ASC" . "\n ORDER BY begegnung_historie_id ASC"
. "\n LIMIT 1" . "\n LIMIT 1"
. "\n ) AS ergebnis_vorgeschlagen," . "\n ) AS ergebnis_vorgeschlagen,"
. "\n (" . "\n ("
. "\n SELECT UNIX_TIMESTAMP(eingetragen)" . "\n SELECT UNIX_TIMESTAMP(eingetragen)"
. "\n FROM #__sportsmanager_begegnung_historie" . "\n FROM #__sportsmanager_begegnung_historie"
@@ -8929,13 +8929,13 @@ function adminBegegnungen(): void
. "\n ORDER BY begegnung_historie_id ASC" . "\n ORDER BY begegnung_historie_id ASC"
. "\n LIMIT 1" . "\n LIMIT 1"
. "\n ) AS ergebnis_akzeptiert," . "\n ) AS ergebnis_akzeptiert,"
. "\n (" . "\n ("
. "\n SELECT COUNT(*) FROM #__sportsmanager_teamspiel" . "\n SELECT COUNT(*) FROM #__sportsmanager_teamspiel"
. "\n WHERE begegnung_id = t1.begegnung_id" . "\n WHERE begegnung_id = t1.begegnung_id"
. "\n AND (heim_spieler_1_id = 0 OR heim_spieler_2_id = 0 OR gast_spieler_1_id = 0 OR gast_spieler_2_id = 0)" . "\n AND (heim_spieler_1_id = 0 OR heim_spieler_2_id = 0 OR gast_spieler_1_id = 0 OR gast_spieler_2_id = 0)"
. "\n ) AS fehlende_spieler" . "\n ) AS fehlende_spieler"
. "\n FROM #__sportsmanager_begegnung AS t1" . "\n FROM #__sportsmanager_begegnung AS t1"
. "\n LEFT JOIN #__sportsmanager_team AS t2 ON t1.heim_team_id = t2.team_id" . "\n LEFT JOIN #__sportsmanager_team AS t2 ON t1.heim_team_id = t2.team_id"
. "\n LEFT JOIN #__sportsmanager_team AS t3 ON t1.gast_team_id = t3.team_id" . "\n LEFT JOIN #__sportsmanager_team AS t3 ON t1.gast_team_id = t3.team_id"
@@ -16336,9 +16336,9 @@ function termineEmailBenachrichtigung($termin_aktion_id, $ueberarbeiten = false)
$terminaktion->url = adminCheckRelativerPfad($terminaktion->url); $terminaktion->url = adminCheckRelativerPfad($terminaktion->url);
if (!str_contains($terminaktion->url, "://")) { if (!str_contains($terminaktion->url, "://")) {
$termin_url_anzeige = $terminaktion->url; $termin_url_anzeige = $terminaktion->url;
$termin_url = "http://" . $terminaktion->url; $termin_url = "https://" . $terminaktion->url;
} else { } else {
$termin_url_anzeige = str_starts_with($terminaktion->url, "http://") ? substr($terminaktion->url, 7) : $terminaktion->url; $termin_url_anzeige = str_starts_with($terminaktion->url, "https://") ? substr($terminaktion->url, 8) : $terminaktion->url;
$termin_url = $terminaktion->url; $termin_url = $terminaktion->url;
} }
$termin_beschreibung .= "<tr>\r\n" $termin_beschreibung .= "<tr>\r\n"
@@ -16367,9 +16367,9 @@ function termineEmailBenachrichtigung($termin_aktion_id, $ueberarbeiten = false)
$terminaktion->ergebnisse_url = adminCheckRelativerPfad($terminaktion->ergebnisse_url); $terminaktion->ergebnisse_url = adminCheckRelativerPfad($terminaktion->ergebnisse_url);
if (!str_contains($terminaktion->ergebnisse_url, "://")) { if (!str_contains($terminaktion->ergebnisse_url, "://")) {
$termin_url_anzeige = $terminaktion->ergebnisse_url; $termin_url_anzeige = $terminaktion->ergebnisse_url;
$termin_url = "http://" . $terminaktion->ergebnisse_url; $termin_url = "https://" . $terminaktion->ergebnisse_url;
} else { } else {
$termin_url_anzeige = str_starts_with($terminaktion->ergebnisse_url, "http://") ? substr($terminaktion->ergebnisse_url, 7) : $terminaktion->ergebnisse_url; $termin_url_anzeige = str_starts_with($terminaktion->ergebnisse_url, "https://") ? substr($terminaktion->ergebnisse_url, 8) : $terminaktion->ergebnisse_url;
$termin_url = $terminaktion->ergebnisse_url; $termin_url = $terminaktion->ergebnisse_url;
} }
$termin_beschreibung .= "<tr>\r\n" $termin_beschreibung .= "<tr>\r\n"
@@ -5155,7 +5155,12 @@ function ranglisteAktualisieren($geaenderte_rangliste_id = 0, $geaenderte_turnie
foreach ($ranglisten as $rangliste_index => $rangliste) { foreach ($ranglisten as $rangliste_index => $rangliste) {
$rangliste_id = $rangliste->rangliste_id; $rangliste_id = $rangliste->rangliste_id;
$rangliste->lizenzen = explode(',', $rangliste->lizenzen); if(!isset($rangliste->lizenzen) || $rangliste->lizenzen == "" || $rangliste->lizenzen == NULL) {
$rangliste->lizenzen = NULL;
} else {
$rangliste->lizenzen = explode(',', $rangliste->lizenzen);
}
$query = "SELECT *" $query = "SELECT *"
. "\n FROM #__sportsmanager_rangliste_turnierdisziplin" . "\n FROM #__sportsmanager_rangliste_turnierdisziplin"
. "\n INNER JOIN #__sportsmanager_turnierdisziplin USING (turnierdisziplin_id)" . "\n INNER JOIN #__sportsmanager_turnierdisziplin USING (turnierdisziplin_id)"
@@ -382,7 +382,7 @@ function yoothemeBild($typ, $id, $alternativ, $resize = '', $zusatz = ""): ?stri
else else
return null; return null;
$bildpfad = "/images/sportsmanager/" . $typ . "/" . $typ_prefix . $id . "." . $ext; $bildpfad = SPORTSMANAGER_JOOMLA_URL . "images/sportsmanager/" . $typ . "/" . $typ_prefix . $id . "." . $ext;
return '<img class="el-image" data-src="' . $bildpfad . $resize . '" ' . $zusatz . ' uk-img />'; return '<img class="el-image" data-src="' . $bildpfad . $resize . '" ' . $zusatz . ' uk-img />';
} }
File diff suppressed because it is too large Load Diff