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(); $rows = $db->loadObjectList();
if (count($rows) < 1) die ("Wrong id"); if (count($rows) < 1) die ("Wrong id");
$rangliste = $rows[0]; $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"; $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'); $maxalter = $jinput->get('maxalter', 0, 'INT');
$ohnealter = $jinput->get('ohnealter', 0, 'INT'); $ohnealter = $jinput->get('ohnealter', 0, 'INT');
$geschlecht = $jinput->get('geschlecht', 0, 'INT'); $geschlecht = $jinput->get('geschlecht', 0, 'INT');
$lizenzen = $jinput->get('lizenzen', [], 'ARRAY');
$status = $jinput->get('status', 0, 'INT'); $status = $jinput->get('status', 0, 'INT');
$reihenfolge = $jinput->get('reihenfolge', 0, 'INT'); $reihenfolge = $jinput->get('reihenfolge', 0, 'INT');
$kategorie = $jinput->get('kategorie', 0, 'INT'); $kategorie = $jinput->get('kategorie', 0, 'INT');
if ($id == 0) 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 { else {
$query = "UPDATE #__sportsmanager_rangliste" $query = "UPDATE #__sportsmanager_rangliste"
. "\n SET bezeichnung = '$bezeichnung'," . "\n SET bezeichnung = '$bezeichnung',"
@@ -6108,6 +6114,7 @@ function adminSaveRangliste() {
. "\n system_id = '$system_id'," . "\n system_id = '$system_id',"
. "\n streichergebnisse = '$maximal_gewertet_zahl'," . "\n streichergebnisse = '$maximal_gewertet_zahl',"
. "\n geschlecht = " . ($geschlecht != null ? "'$geschlecht'," : "NULL,") . "\n geschlecht = " . ($geschlecht != null ? "'$geschlecht'," : "NULL,")
. "\n lizenzen = " . (count((array) $lizenzen) ? "'" . implode(',', $lizenzen) . "',": "NULL,")
. "\n minalter = " . ($minalter != null ? "'$minalter'," : "NULL,") . "\n minalter = " . ($minalter != null ? "'$minalter'," : "NULL,")
. "\n maxalter = " . ($maxalter != null ? "'$maxalter'," : "NULL,") . "\n maxalter = " . ($maxalter != null ? "'$maxalter'," : "NULL,")
. "\n ohnealter = '$ohnealter'," . "\n ohnealter = '$ohnealter',"
@@ -5524,6 +5524,7 @@ function teamSpielplanXML() {
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);
$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)"
@@ -5576,7 +5577,7 @@ function teamSpielplanXML() {
$system = $systeme[$systemid]; $system = $systeme[$systemid];
$systempunkte = $systemepunkte[$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 FROM #__sportsmanager_turniermeldung"
. "\n INNER JOIN #__sportsmanager_turniermeldung_spieler USING (turniermeldung_id)" . "\n INNER JOIN #__sportsmanager_turniermeldung_spieler USING (turniermeldung_id)"
. "\n LEFT JOIN #__sportsmanager_spieler USING (spieler_id)" . "\n LEFT JOIN #__sportsmanager_spieler USING (spieler_id)"
@@ -5626,6 +5627,10 @@ function teamSpielplanXML() {
if ($rangliste->geschlecht == 2 && $turnierplatzierung->geschlecht == 'M') if ($rangliste->geschlecht == 2 && $turnierplatzierung->geschlecht == 'M')
continue; 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; $meldung_einzelner_doppelspieler_gewertet = FALSE;
if (!isset($meldungen[$turnierplatzierung->turniermeldung_id])) { if (!isset($meldungen[$turnierplatzierung->turniermeldung_id])) {
@@ -5650,6 +5655,7 @@ function teamSpielplanXML() {
if ($rangliste->geschlecht == 2 && $naechste_turnierplatzierung->geschlecht == 'M') if ($rangliste->geschlecht == 2 && $naechste_turnierplatzierung->geschlecht == 'M')
$meldung_einzelner_doppelspieler_gewertet = TRUE; $meldung_einzelner_doppelspieler_gewertet = TRUE;
} }
// TODO @TimWedemann muss hier was beachtet werden bzgl. Lizenzen?
} }
} else } else
$meldung_einzelner_doppelspieler_gewertet = TRUE; $meldung_einzelner_doppelspieler_gewertet = TRUE;
@@ -5319,6 +5319,21 @@ class HTML_sportsmanager_admin
</select> </select>
</td> </td>
</tr> </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> <tr>
<td nowrap width="20%" align="right"> <td nowrap width="20%" align="right">
<?php echo JText::_('COM_SPORTSMANAGER_MINIMUM_AGE'); ?>: <?php echo JText::_('COM_SPORTSMANAGER_MINIMUM_AGE'); ?>: