mirror of
https://github.com/Deutscher-Tischfussballbund/com_sportsmanager.git
synced 2026-06-10 14:37:52 +00:00
Compare commits
15 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| f430c7d35d | |||
| 73c352f6cf | |||
| c8c19ef8e0 | |||
| cb0db3833c | |||
| 29e7ea7ffa | |||
| 426a582844 | |||
| 507861fd56 | |||
| 168ad7dab4 | |||
| c8483b077e | |||
| c23ed24962 | |||
| f70048f90f | |||
| 572ccee6fd | |||
| fa03965b17 | |||
| 0376b46470 | |||
| ba50b0d6a4 |
@@ -9280,10 +9280,16 @@ function heimspieltag_aktualisieren($team_id): void
|
|||||||
$query = "SELECT begegnung_id, zeitpunkt"
|
$query = "SELECT begegnung_id, zeitpunkt"
|
||||||
. "\n FROM #__sportsmanager_begegnung"
|
. "\n FROM #__sportsmanager_begegnung"
|
||||||
. "\n LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis USING (begegnung_id)"
|
. "\n LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis USING (begegnung_id)"
|
||||||
. "\n WHERE heim_team_id = $team_id AND COALESCE(heim_spielpunkte, 0) = 0 AND COALESCE(gast_spielpunkte, 0) = 0 AND NOT ISNULL(zeitpunkt) AND ISNULL(spielort_id) AND ISNULL(#__sportsmanager_unbestaetigtes_ergebnis.begegnung_id) AND NOT EXISTS(SELECT * FROM #__sportsmanager_begegnung_historie WHERE #__sportsmanager_begegnung_historie.begegnung_id = #__sportsmanager_begegnung.begegnung_id)"
|
. "\n WHERE heim_team_id = $team_id AND COALESCE(heim_spielpunkte, 0) = 0"
|
||||||
|
. "\n AND COALESCE(gast_spielpunkte, 0) = 0 AND NOT ISNULL(zeitpunkt) AND ISNULL(spielort_id)"
|
||||||
|
. "\n AND ISNULL(#__sportsmanager_unbestaetigtes_ergebnis.begegnung_id)"
|
||||||
|
. "\n AND NOT EXISTS("
|
||||||
|
. "\n SELECT * FROM #__sportsmanager_begegnung_historie"
|
||||||
|
. "\n WHERE #__sportsmanager_begegnung_historie.begegnung_id = #__sportsmanager_begegnung.begegnung_id"
|
||||||
|
. "\n AND #__sportsmanager_begegnung_historie.aktion NOT IN (11,12))"
|
||||||
. "\n ORDER BY spieltag DESC";
|
. "\n ORDER BY spieltag DESC";
|
||||||
$begegnungen = loadObjectList($db, $query);
|
$begegnungen = loadObjectList($db, $query);
|
||||||
foreach ($begegnungen as $begegnung) {
|
foreach ($begegnungen as $begegnung) {
|
||||||
$ts = getdate(geaenderterWochentag(strtotime($begegnung->zeitpunkt), $team->heimspiel_wochentag - 1));
|
$ts = getdate(geaenderterWochentag(strtotime($begegnung->zeitpunkt), $team->heimspiel_wochentag - 1));
|
||||||
$neuer_zeitpunkt = sprintf("%04d-%02d-%02d %02d:%02d", $ts["year"], $ts["mon"], $ts["mday"], floor($team->heimspiel_uhrzeit / 100), $team->heimspiel_uhrzeit % 100);
|
$neuer_zeitpunkt = sprintf("%04d-%02d-%02d %02d:%02d", $ts["year"], $ts["mon"], $ts["mday"], floor($team->heimspiel_uhrzeit / 100), $team->heimspiel_uhrzeit % 100);
|
||||||
$query = "UPDATE #__sportsmanager_begegnung"
|
$query = "UPDATE #__sportsmanager_begegnung"
|
||||||
@@ -9303,7 +9309,13 @@ function termin_aktualisieren($begegnung_id): void
|
|||||||
$query = "SELECT heim_team_id, zeitpunkt"
|
$query = "SELECT heim_team_id, zeitpunkt"
|
||||||
. "\n FROM #__sportsmanager_begegnung"
|
. "\n FROM #__sportsmanager_begegnung"
|
||||||
. "\n LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis USING (begegnung_id)"
|
. "\n LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis USING (begegnung_id)"
|
||||||
. "\n WHERE begegnung_id = $begegnung_id AND COALESCE(heim_spielpunkte, 0) = 0 AND COALESCE(gast_spielpunkte, 0) = 0 AND NOT ISNULL(zeitpunkt) AND ISNULL(spielort_id) AND ISNULL(#__sportsmanager_unbestaetigtes_ergebnis.begegnung_id) AND NOT EXISTS(SELECT * FROM #__sportsmanager_begegnung_historie WHERE #__sportsmanager_begegnung_historie.begegnung_id = #__sportsmanager_begegnung.begegnung_id)"
|
. "\n WHERE begegnung_id = $begegnung_id AND COALESCE(heim_spielpunkte, 0) = 0"
|
||||||
|
. "\n AND COALESCE(gast_spielpunkte, 0) = 0 AND NOT ISNULL(zeitpunkt) AND ISNULL(spielort_id)"
|
||||||
|
. "\n AND ISNULL(#__sportsmanager_unbestaetigtes_ergebnis.begegnung_id)"
|
||||||
|
. "\n AND NOT EXISTS("
|
||||||
|
. "\n SELECT * FROM #__sportsmanager_begegnung_historie"
|
||||||
|
. "\n WHERE #__sportsmanager_begegnung_historie.begegnung_id = #__sportsmanager_begegnung.begegnung_id"
|
||||||
|
. "\n AND #__sportsmanager_begegnung_historie.aktion NOT IN (11,12))"
|
||||||
. "\n ORDER BY spieltag DESC";
|
. "\n ORDER BY spieltag DESC";
|
||||||
$begegnungen = loadObjectList($db, $query);
|
$begegnungen = loadObjectList($db, $query);
|
||||||
if (count($begegnungen) < 1)
|
if (count($begegnungen) < 1)
|
||||||
@@ -10407,7 +10419,7 @@ function adminRemoveBegegnung(): void
|
|||||||
if (!$db->execute()) {
|
if (!$db->execute()) {
|
||||||
die($db->stderr(true));
|
die($db->stderr(true));
|
||||||
}
|
}
|
||||||
|
|
||||||
termin_aktualisieren($id);
|
termin_aktualisieren($id);
|
||||||
|
|
||||||
redirectSportsManagerURL('&task=admin_begegnungen&veranstaltungid=' . $veranstaltungId . '#id' . $id);
|
redirectSportsManagerURL('&task=admin_begegnungen&veranstaltungid=' . $veranstaltungId . '#id' . $id);
|
||||||
|
|||||||
@@ -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) =>
|
||||||
|
[(float)$b->begegnungspunkte, (int)$a->anzahl_spiele, (float)$b->spielpunkte_differenz, (float)$b->punkte_differenz, (int)$a->platz_alt]
|
||||||
|
<=>
|
||||||
|
[(float)$a->begegnungspunkte, (int)$b->anzahl_spiele, (float)$a->spielpunkte_differenz, (float)$a->punkte_differenz, (int)$b->platz_alt]
|
||||||
|
);
|
||||||
|
}
|
||||||
|
else if ($veranstaltung->tabellenwertung == 2 || $veranstaltung->tabellenwertung == 5 || $veranstaltung->tabellenwertung == 8){
|
||||||
|
usort($teamsKorrektur, fn($a, $b) =>
|
||||||
|
[(float)$b->begegnungspunkte, (int)$a->anzahl_spiele, (float)$b->spielpunkte_quotient, (float)$b->punkte_quotient, (int)$a->platz_alt]
|
||||||
|
<=>
|
||||||
|
[(float)$a->begegnungspunkte, (int)$b->anzahl_spiele, (float)$a->spielpunkte_quotient, (float)$a->punkte_quotient, (int)$b->platz_alt]
|
||||||
|
);
|
||||||
|
}
|
||||||
|
else if ($veranstaltung->tabellenwertung == 10){
|
||||||
|
usort($teamsKorrektur, fn($a, $b) =>
|
||||||
|
[(float)$b->spielpunkte_differenz, (float)$b->punkte_differenz, (int)$a->platz_alt]
|
||||||
|
<=>
|
||||||
|
[(float)$a->spielpunkte_differenz, (float)$a->punkte_differenz, (int)$b->platz_alt]
|
||||||
|
);
|
||||||
|
}
|
||||||
|
else if ($veranstaltung->tabellenwertung == 11){
|
||||||
|
usort($teamsKorrektur, fn($a, $b) =>
|
||||||
|
[(float)$b->spielpunkte_quotient, (float)$b->punkte_quotient, (int)$a->platz_alt]
|
||||||
|
<=>
|
||||||
|
[(float)$a->spielpunkte_quotient, (float)$a->punkte_quotient, (int)$b->platz_alt]
|
||||||
|
);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
usort($teamsKorrektur, fn($a, $b) =>
|
||||||
|
[(float)$b->begegnungspunkte, (int)$a->anzahl_spiele, (int)$a->platz_alt]
|
||||||
|
<=>
|
||||||
|
[(float)$a->begegnungspunkte, (int)$b->anzahl_spiele, (int)$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>";
|
||||||
@@ -6205,10 +6205,6 @@ static function spielerstatistik($spielerstatistik, $spielerstatistik_punkte, $a
|
|||||||
<?php echo Text::_('COM_SPORTSMANAGER_LOST'); ?>">
|
<?php echo Text::_('COM_SPORTSMANAGER_LOST'); ?>">
|
||||||
<strong><?php echo Text::_('COM_SPORTSMANAGER_GAME_POINTS_SHORTCUT'); ?>
|
<strong><?php echo Text::_('COM_SPORTSMANAGER_GAME_POINTS_SHORTCUT'); ?>
|
||||||
-</strong></th>
|
-</strong></th>
|
||||||
<th nowrap
|
|
||||||
title="<?php echo Text::_('COM_SPORTSMANAGER_GAME_POINTS'); ?>
|
|
||||||
<?php echo Text::_('COM_SPORTSMANAGER_RATE'); ?>">
|
|
||||||
<strong><?php echo Text::_('COM_SPORTSMANAGER_RATE_SHORTCUT'); ?></strong></th>
|
|
||||||
<th nowrap
|
<th nowrap
|
||||||
title="<?php echo Text::_('COM_SPORTSMANAGER_POINTS'); ?>
|
title="<?php echo Text::_('COM_SPORTSMANAGER_POINTS'); ?>
|
||||||
<?php echo Text::_('COM_SPORTSMANAGER_WON'); ?>">
|
<?php echo Text::_('COM_SPORTSMANAGER_WON'); ?>">
|
||||||
@@ -6219,6 +6215,10 @@ static function spielerstatistik($spielerstatistik, $spielerstatistik_punkte, $a
|
|||||||
<?php echo Text::_('COM_SPORTSMANAGER_LOST'); ?>">
|
<?php echo Text::_('COM_SPORTSMANAGER_LOST'); ?>">
|
||||||
<strong><?php echo Text::_('COM_SPORTSMANAGER_POINTS_SHORTCUT'); ?> -</strong>
|
<strong><?php echo Text::_('COM_SPORTSMANAGER_POINTS_SHORTCUT'); ?> -</strong>
|
||||||
</th>
|
</th>
|
||||||
|
<th nowrap
|
||||||
|
title="<?php echo Text::_('COM_SPORTSMANAGER_RATE'); ?>">
|
||||||
|
<strong><?php echo Text::_('COM_SPORTSMANAGER_RATE_SHORTCUT'); ?></strong>
|
||||||
|
</th>
|
||||||
<th nowrap title="<?php echo Text::_('COM_SPORTSMANAGER_VICTORIES'); ?>">
|
<th nowrap title="<?php echo Text::_('COM_SPORTSMANAGER_VICTORIES'); ?>">
|
||||||
<strong><?php echo Text::_('COM_SPORTSMANAGER_VICTORIES_SHORTCUT'); ?></strong>
|
<strong><?php echo Text::_('COM_SPORTSMANAGER_VICTORIES_SHORTCUT'); ?></strong>
|
||||||
</th>
|
</th>
|
||||||
@@ -6295,6 +6295,7 @@ static function spielerstatistik($spielerstatistik, $spielerstatistik_punkte, $a
|
|||||||
</td>
|
</td>
|
||||||
<?php
|
<?php
|
||||||
}
|
}
|
||||||
|
$spiele_gesamt = $row->siege + $row->niederlagen + $row->unentschieden;
|
||||||
?>
|
?>
|
||||||
<td nowrap
|
<td nowrap
|
||||||
style="text-align: center"><?php echo $row->siege + $row->niederlagen + $row->unentschieden; ?></td>
|
style="text-align: center"><?php echo $row->siege + $row->niederlagen + $row->unentschieden; ?></td>
|
||||||
@@ -6302,10 +6303,10 @@ static function spielerstatistik($spielerstatistik, $spielerstatistik_punkte, $a
|
|||||||
style="text-align: center"><?php echo ($spielerstatistik->tabellenwertung == 0 ? "<strong>" : "") . $row->spielpunkte_gewonnen . ($spielerstatistik->tabellenwertung == 0 ? "<strong>" : ""); ?></strong></td>
|
style="text-align: center"><?php echo ($spielerstatistik->tabellenwertung == 0 ? "<strong>" : "") . $row->spielpunkte_gewonnen . ($spielerstatistik->tabellenwertung == 0 ? "<strong>" : ""); ?></strong></td>
|
||||||
<td nowrap
|
<td nowrap
|
||||||
style="text-align: center"><?php echo $row->spielpunkte_verloren; ?></td>
|
style="text-align: center"><?php echo $row->spielpunkte_verloren; ?></td>
|
||||||
<td nowrap
|
|
||||||
style="text-align: center"><?php echo ($row->spielpunkte_gewonnen > 0 || $row->spielpunkte_verloren > 0) ? round($row->spielpunkte_gewonnen * 100 / ($row->spielpunkte_gewonnen + $row->spielpunkte_verloren)) . "%" : "-"; ?></td>
|
|
||||||
<td nowrap style="text-align: center"><?php echo $row->punkte_gewonnen; ?></td>
|
<td nowrap style="text-align: center"><?php echo $row->punkte_gewonnen; ?></td>
|
||||||
<td nowrap style="text-align: center"><?php echo $row->punkte_verloren; ?></td>
|
<td nowrap style="text-align: center"><?php echo $row->punkte_verloren; ?></td>
|
||||||
|
<td nowrap
|
||||||
|
style="text-align: center"><?php echo ($spiele_gesamt > 0) ? round((($row->siege * 2 + $row->unentschieden) / ($spiele_gesamt * 2)) * 100) . "%" : "-"; ?></td>
|
||||||
<td nowrap style="text-align: center"><?php echo $row->siege; ?></td>
|
<td nowrap style="text-align: center"><?php echo $row->siege; ?></td>
|
||||||
<td nowrap style="text-align: center"><?php echo $row->unentschieden; ?></td>
|
<td nowrap style="text-align: center"><?php echo $row->unentschieden; ?></td>
|
||||||
<td nowrap style="text-align: center"><?php echo $row->niederlagen; ?></td>
|
<td nowrap style="text-align: center"><?php echo $row->niederlagen; ?></td>
|
||||||
|
|||||||
@@ -299,7 +299,7 @@ COM_SPORTSMANAGER_PLAYER_STATISTICS="Spielerstatistiken"
|
|||||||
COM_SPORTSMANAGER_PERFORMANCE_INDEX_SHORTCUT="LI"
|
COM_SPORTSMANAGER_PERFORMANCE_INDEX_SHORTCUT="LI"
|
||||||
COM_SPORTSMANAGER_WON="gewonnen"
|
COM_SPORTSMANAGER_WON="gewonnen"
|
||||||
COM_SPORTSMANAGER_LOST="verloren"
|
COM_SPORTSMANAGER_LOST="verloren"
|
||||||
COM_SPORTSMANAGER_RATE="Quote"
|
COM_SPORTSMANAGER_RATE="Siegquote"
|
||||||
COM_SPORTSMANAGER_RATE_SHORTCUT="Q"
|
COM_SPORTSMANAGER_RATE_SHORTCUT="Q"
|
||||||
COM_SPORTSMANAGER_NO_CLUB="Kein Verein"
|
COM_SPORTSMANAGER_NO_CLUB="Kein Verein"
|
||||||
COM_SPORTSMANAGER_RATING="Wertung"
|
COM_SPORTSMANAGER_RATING="Wertung"
|
||||||
|
|||||||
@@ -299,7 +299,7 @@ COM_SPORTSMANAGER_PLAYER_STATISTICS="Player statistics"
|
|||||||
COM_SPORTSMANAGER_PERFORMANCE_INDEX_SHORTCUT="PI"
|
COM_SPORTSMANAGER_PERFORMANCE_INDEX_SHORTCUT="PI"
|
||||||
COM_SPORTSMANAGER_WON="won"
|
COM_SPORTSMANAGER_WON="won"
|
||||||
COM_SPORTSMANAGER_LOST="lost"
|
COM_SPORTSMANAGER_LOST="lost"
|
||||||
COM_SPORTSMANAGER_RATE="Rate"
|
COM_SPORTSMANAGER_RATE="Winning rate"
|
||||||
COM_SPORTSMANAGER_RATE_SHORTCUT="R"
|
COM_SPORTSMANAGER_RATE_SHORTCUT="R"
|
||||||
COM_SPORTSMANAGER_NO_CLUB="No club"
|
COM_SPORTSMANAGER_NO_CLUB="No club"
|
||||||
COM_SPORTSMANAGER_RATING="Rating"
|
COM_SPORTSMANAGER_RATING="Rating"
|
||||||
|
|||||||
Reference in New Issue
Block a user