Please update Database see updates.sql
This commit is contained in:
Niels Nübel
2022-11-29 15:39:41 +01:00
parent 30bb952790
commit 81020b66ba
4 changed files with 31 additions and 2 deletions
+1
View File
@@ -0,0 +1 @@
ALTER TABLE `#__sportsmanager_rangliste` ADD COLUMN `lizenzen` varchar(50) NULL DEFAULT '';
@@ -6034,6 +6034,11 @@ function adminEditRangliste() {
$rows = $db->loadObjectList();
if (count($rows) < 1) die ("Wrong id");
$rangliste = $rows[0];
if(isset($rangliste->lizenzen))
{
$rangliste->lizenzen = explode(',', $rangliste->lizenzen);
}
}
$query = "SELECT * FROM #__sportsmanager_rangliste_system WHERE status > 0 " . ($id != 0 ? "OR rangliste_system_id = $rangliste->system_id " : "") . "ORDER BY systembezeichnung";
@@ -6094,11 +6099,12 @@ function adminSaveRangliste() {
$maxalter = $jinput->get('maxalter', 0, 'INT');
$ohnealter = $jinput->get('ohnealter', 0, 'INT');
$geschlecht = $jinput->get('geschlecht', 0, 'INT');
$lizenzen = $jinput->get('lizenzen', [], 'ARRAY');
$status = $jinput->get('status', 0, 'INT');
$reihenfolge = $jinput->get('reihenfolge', 0, 'INT');
$kategorie = $jinput->get('kategorie', 0, 'INT');
if ($id == 0)
$query = "INSERT INTO #__sportsmanager_rangliste (bezeichnung, saison_id, erster_tag, " . ($letzter_tag != null ? "letzter_tag, " : "") . "system_id, streichergebnisse, geschlecht, minalter, maxalter, ohnealter, status, reihenfolge, kategorie) VALUES ('$bezeichnung', '$saison_id', '$erster_tag', " . ($letzter_tag != null ? "'$letzter_tag', " : "") . "'$system_id', '$maximal_gewertet_zahl', " . ($geschlecht == null ? "null" : "'$geschlecht'") . ", " . ($minalter == null ? "null" : "'$minalter'") . ", " . ($maxalter == null ? "null" : "'$maxalter'") . ", '$ohnealter', '$status', '$reihenfolge', '$kategorie');";
$query = "INSERT INTO #__sportsmanager_rangliste (bezeichnung, saison_id, erster_tag, " . ($letzter_tag != null ? "letzter_tag, " : "") . "system_id, streichergebnisse, geschlecht, lizenzen, minalter, maxalter, ohnealter, status, reihenfolge, kategorie) VALUES ('$bezeichnung', '$saison_id', '$erster_tag', " . ($letzter_tag != null ? "'$letzter_tag', " : "") . "'$system_id', '$maximal_gewertet_zahl', " . ($geschlecht == null ? "null" : "'$geschlecht'") . ", " . (count((array) $lizenzen) ? implode(',', $lizenzen) : "null") . ", " . ($minalter == null ? "null" : "'$minalter'") . ", " . ($maxalter == null ? "null" : "'$maxalter'") . ", '$ohnealter', '$status', '$reihenfolge', '$kategorie');";
else {
$query = "UPDATE #__sportsmanager_rangliste"
. "\n SET bezeichnung = '$bezeichnung',"
@@ -6108,6 +6114,7 @@ function adminSaveRangliste() {
. "\n system_id = '$system_id',"
. "\n streichergebnisse = '$maximal_gewertet_zahl',"
. "\n geschlecht = " . ($geschlecht != null ? "'$geschlecht'," : "NULL,")
. "\n lizenzen = " . (count((array) $lizenzen) ? "'" . implode(',', $lizenzen) . "',": "NULL,")
. "\n minalter = " . ($minalter != null ? "'$minalter'," : "NULL,")
. "\n maxalter = " . ($maxalter != null ? "'$maxalter'," : "NULL,")
. "\n ohnealter = '$ohnealter',"
@@ -5524,6 +5524,7 @@ function teamSpielplanXML() {
foreach ($ranglisten as $rangliste_index => $rangliste) {
$rangliste_id = $rangliste->rangliste_id;
$rangliste->lizenzen = explode(',', $rangliste->lizenzen);
$query = "SELECT *"
. "\n FROM #__sportsmanager_rangliste_turnierdisziplin"
. "\n INNER JOIN #__sportsmanager_turnierdisziplin USING (turnierdisziplin_id)"
@@ -5576,7 +5577,7 @@ function teamSpielplanXML() {
$system = $systeme[$systemid];
$systempunkte = $systemepunkte[$systemid];
$query = "SELECT turniermeldung_id, platz, spieler_id, geburtsjahr, geschlecht"
$query = "SELECT turniermeldung_id, platz, spieler_id, geburtsjahr, geschlecht, lizenz"
. "\n FROM #__sportsmanager_turniermeldung"
. "\n INNER JOIN #__sportsmanager_turniermeldung_spieler USING (turniermeldung_id)"
. "\n LEFT JOIN #__sportsmanager_spieler USING (spieler_id)"
@@ -5626,6 +5627,10 @@ function teamSpielplanXML() {
if ($rangliste->geschlecht == 2 && $turnierplatzierung->geschlecht == 'M')
continue;
}
if (!empty($rangliste->lizenzen) && count($rangliste->lizenzen)) {
if (!in_array($turnierplatzierung->lizenz, $rangliste->lizenzen))
continue; // TODO @TimWedemann prüfen
}
$meldung_einzelner_doppelspieler_gewertet = FALSE;
if (!isset($meldungen[$turnierplatzierung->turniermeldung_id])) {
@@ -5650,6 +5655,7 @@ function teamSpielplanXML() {
if ($rangliste->geschlecht == 2 && $naechste_turnierplatzierung->geschlecht == 'M')
$meldung_einzelner_doppelspieler_gewertet = TRUE;
}
// TODO @TimWedemann muss hier was beachtet werden bzgl. Lizenzen?
}
} else
$meldung_einzelner_doppelspieler_gewertet = TRUE;
@@ -5319,6 +5319,21 @@ class HTML_sportsmanager_admin
</select>
</td>
</tr>
<tr>
<td nowrap width="20%" align="right">
<?php echo JText::_('COM_SPORTSMANAGER_LIZENZ') ?>:
</td>
<td nowrap>
<?php
$lizenzen = ['A', 'B', 'C'];
foreach ($lizenzen as $lizenz)
{
$checked = (in_array($lizenz, $rangliste->lizenzen)) ? ' checked': '';
echo '<label><input class="uk-checkbox" name="lizenzen[]" id="lizenzen[]" value="' . $lizenz. '" type="checkbox"' . $checked. '> ' . $lizenz. '</label><br>';
}
?>
</td>
</tr>
<tr>
<td nowrap width="20%" align="right">
<?php echo JText::_('COM_SPORTSMANAGER_MINIMUM_AGE'); ?>: