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)
|
function getTabelleDirekterVergleich($teams,$veranstaltung,$spieltag)
|
||||||
{
|
{
|
||||||
|
|
||||||
$gesamtpunkte = 1000;
|
$gesamtpunkte = 1000;
|
||||||
$anzahlSpiele = 1000;
|
$anzahlSpiele = 1000;
|
||||||
$platz = 0;
|
$platz = 0;
|
||||||
$punktgleicheMannschaften = [];
|
$punktgleicheMannschaften = [];
|
||||||
$korrekturen = [];
|
$korrekturen = [];
|
||||||
|
$bufferplatz = [];
|
||||||
|
|
||||||
foreach($teams AS $team){
|
foreach($teams AS $team){
|
||||||
|
$bufferplatz[$team->team_id]['platz'] = $team->platz;
|
||||||
if (($gesamtpunkte != $team->gesamtpunkte) OR ($anzahlSpiele != $team->anzahl_spiele)){
|
if (($gesamtpunkte != $team->gesamtpunkte) OR ($anzahlSpiele != $team->anzahl_spiele)){
|
||||||
$gesamtpunkte = $team->gesamtpunkte;
|
$gesamtpunkte = $team->gesamtpunkte;
|
||||||
$anzahlSpiele = $team->anzahl_spiele;
|
$anzahlSpiele = $team->anzahl_spiele;
|
||||||
@@ -1851,10 +1852,54 @@ function getTabelleDirekterVergleich($teams,$veranstaltung,$spieltag)
|
|||||||
$korrekturen[$platz] = $punktgleicheMannschaften[$platz];
|
$korrekturen[$platz] = $punktgleicheMannschaften[$platz];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!empty($korrekturen)){
|
if (!empty($korrekturen)){
|
||||||
foreach($korrekturen AS $key => $korrektur){
|
foreach($korrekturen AS $key => $korrektur){
|
||||||
$teamsKorrektur = getTabelleSpieltag($veranstaltung,$spieltag,$korrektur,$key-1);
|
$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($teamsKorrektur AS $teamKorrektur){
|
||||||
foreach($teams AS $team){
|
foreach($teams AS $team){
|
||||||
if ($team->team_id == $teamKorrektur->team_id){
|
if ($team->team_id == $teamKorrektur->team_id){
|
||||||
|
|||||||
@@ -1709,7 +1709,7 @@ static function tabelleAnzeigen($veranstaltung, $modus, $teams, $spieltag, $spie
|
|||||||
<select
|
<select
|
||||||
aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_MATCHDAY_SELECT'); ?>"
|
aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_MATCHDAY_SELECT'); ?>"
|
||||||
class="uk-select uk-form-width-medium" name="spieltag" size="1"
|
class="uk-select uk-form-width-medium" name="spieltag" size="1"
|
||||||
onChange="document.adminForm.submit();">
|
onChange="this.form.submit();">
|
||||||
<?php
|
<?php
|
||||||
foreach ($spieltage as $s) {
|
foreach ($spieltage as $s) {
|
||||||
echo "<option value=\"" . $s->spieltag . "\"" . ($s->spieltag == $spieltag ? " selected" : "") . ">" . htmlentities_utf8(Rundenbezeichnung($s->spieltag, $veranstaltung->unterteilung == 0)) . "</option>";
|
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