mirror of
https://github.com/Deutscher-Tischfussballbund/com_sportsmanager.git
synced 2026-06-10 06:27:52 +00:00
Fehlerkorrektur Direkter Vergleich
This commit is contained in:
@@ -1832,14 +1832,15 @@ function tabelle($veranstaltung, $spieltag, $alleine_angezeigt, $praesentation =
|
||||
|
||||
function getTabelleDirekterVergleich($teams,$veranstaltung,$spieltag)
|
||||
{
|
||||
|
||||
$gesamtpunkte = 1000;
|
||||
$anzahlSpiele = 1000;
|
||||
$platz = 0;
|
||||
$punktgleicheMannschaften = [];
|
||||
$korrekturen = [];
|
||||
$bufferplatz = [];
|
||||
|
||||
foreach($teams AS $team){
|
||||
$bufferplatz[$team->team_id]['platz'] = $team->platz;
|
||||
if (($gesamtpunkte != $team->gesamtpunkte) OR ($anzahlSpiele != $team->anzahl_spiele)){
|
||||
$gesamtpunkte = $team->gesamtpunkte;
|
||||
$anzahlSpiele = $team->anzahl_spiele;
|
||||
@@ -1851,10 +1852,54 @@ function getTabelleDirekterVergleich($teams,$veranstaltung,$spieltag)
|
||||
$korrekturen[$platz] = $punktgleicheMannschaften[$platz];
|
||||
}
|
||||
}
|
||||
|
||||
if (!empty($korrekturen)){
|
||||
foreach($korrekturen AS $key => $korrektur){
|
||||
$teamsKorrektur = getTabelleSpieltag($veranstaltung,$spieltag,$korrektur,$key-1);
|
||||
foreach($teamsKorrektur AS $teamKorrektur){
|
||||
$teamKorrektur->platz_alt = $bufferplatz[$teamKorrektur->team_id]['platz'];
|
||||
}
|
||||
|
||||
if ($veranstaltung->tabellenwertung == 1 || $veranstaltung->tabellenwertung == 4 || $veranstaltung->tabellenwertung == 7){
|
||||
usort($teamsKorrektur, fn($a, $b) =>
|
||||
[$b->begegnungspunkte, $a->anzahl_spiele, (int)$b->spielpunkte_differenz, (int)$b->punkte_differenz, $a->platz_alt]
|
||||
<=>
|
||||
[$a->begegnungspunkte, $b->anzahl_spiele, (int)$a->spielpunkte_differenz, (int)$a->punkte_differenz, $b->platz_alt]
|
||||
);
|
||||
}
|
||||
else if ($veranstaltung->tabellenwertung == 2 || $veranstaltung->tabellenwertung == 5 || $veranstaltung->tabellenwertung == 8){
|
||||
usort($teamsKorrektur, fn($a, $b) =>
|
||||
[$b->begegnungspunkte, $a->anzahl_spiele, (float)$b->spielpunkte_quotient, (float)$b->punkte_quotient, $a->platz_alt]
|
||||
<=>
|
||||
[$a->begegnungspunkte, $b->anzahl_spiele, (float)$a->spielpunkte_quotient, (float)$a->punkte_quotient, $b->platz_alt]
|
||||
);
|
||||
}
|
||||
else if ($veranstaltung->tabellenwertung == 10){
|
||||
usort($teamsKorrektur, fn($a, $b) =>
|
||||
[(int)$b->spielpunkte_differenz, (int)$b->punkte_differenz, $a->platz_alt]
|
||||
<=>
|
||||
[(int)$a->spielpunkte_differenz, (int)$a->punkte_differenz, $b->platz_alt]
|
||||
);
|
||||
}
|
||||
else if ($veranstaltung->tabellenwertung == 11){
|
||||
usort($teamsKorrektur, fn($a, $b) =>
|
||||
[(float)$b->spielpunkte_quotient, (float)$b->punkte_quotient, $a->platz_alt]
|
||||
<=>
|
||||
[(float)$a->spielpunkte_quotient, (float)$a->punkte_quotient, $b->platz_alt]
|
||||
);
|
||||
}
|
||||
else {
|
||||
usort($teamsKorrektur, fn($a, $b) =>
|
||||
[$b->begegnungspunkte, $a->anzahl_spiele, $a->platz_alt]
|
||||
<=>
|
||||
[$a->begegnungspunkte, $b->anzahl_spiele, $b->platz_alt]
|
||||
);
|
||||
}
|
||||
|
||||
$neuerPlatz = $key;
|
||||
foreach ($teamsKorrektur as $teamKorrektur) {
|
||||
$teamKorrektur->platz = $neuerPlatz++;
|
||||
}
|
||||
|
||||
foreach($teamsKorrektur AS $teamKorrektur){
|
||||
foreach($teams AS $team){
|
||||
if ($team->team_id == $teamKorrektur->team_id){
|
||||
|
||||
@@ -1709,7 +1709,7 @@ static function tabelleAnzeigen($veranstaltung, $modus, $teams, $spieltag, $spie
|
||||
<select
|
||||
aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_MATCHDAY_SELECT'); ?>"
|
||||
class="uk-select uk-form-width-medium" name="spieltag" size="1"
|
||||
onChange="document.adminForm.submit();">
|
||||
onChange="this.form.submit();">
|
||||
<?php
|
||||
foreach ($spieltage as $s) {
|
||||
echo "<option value=\"" . $s->spieltag . "\"" . ($s->spieltag == $spieltag ? " selected" : "") . ">" . htmlentities_utf8(Rundenbezeichnung($s->spieltag, $veranstaltung->unterteilung == 0)) . "</option>";
|
||||
|
||||
Reference in New Issue
Block a user