Merge pull request #41 from Deutscher-Tischfussballbund/dev

Release Jan 2023
This commit is contained in:
Tim
2023-01-16 15:19:27 +01:00
committed by GitHub
4 changed files with 64 additions and 11 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',"
@@ -5512,6 +5512,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)"
@@ -5564,7 +5565,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)"
@@ -5614,6 +5615,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])) {
@@ -5638,6 +5643,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', 'D'];
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'); ?>:
@@ -10858,13 +10873,25 @@ class HTML_sportsmanager_admin
<select class="uk-select uk-form-width-medium" <select class="uk-select uk-form-width-medium"
name="rangliste_wertung_<?php echo $i; ?>" size="1"> name="rangliste_wertung_<?php echo $i; ?>" size="1">
<?php <?php
for ($j = 10; $j >= 0.75; $j -= 0.25) $wertungen = [];
echo "<option value=\"" . $j . "\"" . ($rangliste_wertung != 0 ? ($rangliste_wertung == $j ? " selected" : "") : ($j == 1 ? " selected" : "")) . ">" . htmlentities_utf8($j . "-fach") . "</option>"; for ($j = 10; $j >= 0.75; $j -= 0.25) {
for ($j = -0.75; $j >= -10; $j -= 0.25) $wertungen[] = $j;
{ }
if ($i == -1) for ($j = -0.75; $j >= -10; $j -= 0.25) {
continue; $wertungen[] = $j;
echo "<option value=\"" . $j . "\"" . ($rangliste_wertung != 0 ? ($rangliste_wertung == $j ? " selected" : "") : "") . ">" . htmlentities_utf8("1/" . abs($j) . "-fach") . "</option>"; }
$wertungen[] = 0.7;
$wertungen[] = 1.3;
$wertungen[] = 1.7;
$wertungen[] = -0.7;
$wertungen[] = -1.3;
$wertungen[] = -1.7;
asort($wertungen);
foreach ($wertungen as $wertung) {
echo "<option value=\"" . $wertung . "\"" . ($rangliste_wertung != 0 ? ($rangliste_wertung == $wertung ? " selected" : "") : ($wertung == 1 ? " selected" : "")) . ">" . htmlentities_utf8($wertung . "-fach") . "</option>";
} }
?> ?>
</select> </select>
@@ -10874,8 +10901,20 @@ class HTML_sportsmanager_admin
<option value="1"><?php echo JText::_('COM_SPORTSMANAGER_FULL_RATING'); ?></option> <option value="1"><?php echo JText::_('COM_SPORTSMANAGER_FULL_RATING'); ?></option>
<option value="0"<?php if (!empty($row) && $i < $n && $rangliste_doppel_teilwertung == 0) echo " selected"; ?>><?php echo JText::_('COM_SPORTSMANAGER_NO_RATING'); ?></option> <option value="0"<?php if (!empty($row) && $i < $n && $rangliste_doppel_teilwertung == 0) echo " selected"; ?>><?php echo JText::_('COM_SPORTSMANAGER_NO_RATING'); ?></option>
<?php <?php
for ($j = -1.25; $j >= -10; $j -= 0.25) $wertungen = [];
echo "<option value=\"" . $j . "\" " . (!empty($row) && $i < $n && $rangliste_doppel_teilwertung == $j ? "selected" : "") . ">" . htmlentities_utf8("1/" . abs($j) . "-fach") . "</option>"; for ($j = -1.25; $j >= -10; $j -= 0.25) {
$wertungen[] = $j;
}
$wertungen[] = 0.7;
$wertungen[] = 1.3;
$wertungen[] = 1.7;
asort($wertungen);
foreach ($wertungen as $wertung) {
echo "<option value=\"" . $wertung . "\" " . (!empty($row) && $i < $n && $rangliste_doppel_teilwertung == $wertung ? "selected" : "") . ">" . htmlentities_utf8("1/" . abs($wertung) . "-fach") . "</option>";
}
?> ?>
</select> </select>
</td> </td>