Merge sportsmanager2-dev and fix critical sync bugs

Merge resolution:
- Combined migration 120 (sync_log table + dev branch schema changes)

Bug fixes from intensive code review:
- C1: Fix session_id type mismatch - use datetime format matching
  the staging table schema instead of varchar string (was breaking
  the entire sync receive import)
- C2: Fix staging table cleanup query - use datetime comparison
  matching the original admin import pattern
- W1: Add set_time_limit(300) to prevent timeout during large imports
- W2: Add REDIRECT_HTTP_AUTHORIZATION header support for Apache
  mod_rewrite compatibility
- W4: Add lizenz column parsing and update during sync import
- M1: Tighten export WHERE clause to require both aktueller_verein_id
  and spielernr (consistent with original export behavior)
- M2: Wrap syncGetLastStatus() in try/catch for graceful handling
  when sync_log table doesn't exist yet
This commit is contained in:
Tim
2026-06-04 00:02:56 +02:00
9 changed files with 743 additions and 401 deletions
File diff suppressed because it is too large Load Diff
@@ -5734,6 +5734,28 @@ function updateDatabase(): void
die($db->stderr(true)); die($db->stderr(true));
} }
$columns = $db->getTableColumns('#__sportsmanager_teamspiel_modus');
if (!array_key_exists('spiele_in_spielerstatistik', $columns)){
$query = "ALTER TABLE `#__sportsmanager_teamspiel_modus`"
. "\n ADD `spiele_in_spielerstatistik` INT(4) NOT NULL DEFAULT '0' AFTER `heimtausch`;";
$db->setQuery($query);
if (!$db->execute()) {
die($db->stderr(true));
}
}
$columns = $db->getTableColumns('#__sportsmanager_bestenliste_punkte');
if (!array_key_exists('team_id', $columns)){
$query = "ALTER TABLE `#__sportsmanager_bestenliste_punkte`"
. "\n ADD `team_id` INT(11) NULL DEFAULT NULL AFTER `spieler_2_id`;";
$db->setQuery($query);
if (!$db->execute()) {
die($db->stderr(true));
}
}
$spielerstatistik_aktualisieren = true;
$query = "UPDATE #__sportsmanager_einstellungen" $query = "UPDATE #__sportsmanager_einstellungen"
. "\n SET wert = '120'" . "\n SET wert = '120'"
. "\n WHERE name = 'datenbank_version'"; . "\n WHERE name = 'datenbank_version'";
@@ -1847,7 +1847,7 @@ function getTabelleDirekterVergleich($teams,$veranstaltung,$spieltag)
$spielpunkte_differenz = 1000; $spielpunkte_differenz = 1000;
$spielpunkte_quotient = 1000.0000; $spielpunkte_quotient = 1000.0000;
$platz = 0; $platz = 0;
$punktgleicheMannschaften = []; $punktgleicheMannschaften = [];
$korrekturen = []; $korrekturen = [];
$bufferplatz = []; $bufferplatz = [];
@@ -1855,7 +1855,7 @@ function getTabelleDirekterVergleich($teams,$veranstaltung,$spieltag)
foreach($teams AS $team){ foreach($teams AS $team){
$bufferplatz[$team->team_id]['platz'] = $team->platz; $bufferplatz[$team->team_id]['platz'] = $team->platz;
$unterschied = false; $unterschied = false;
if (($gesamtpunkte != $team->gesamtpunkte) || ($anzahl_spiele != $team->anzahl_spiele)) if (($gesamtpunkte != $team->gesamtpunkte) || ($anzahl_spiele != $team->anzahl_spiele))
$unterschied = true; $unterschied = true;
if ($veranstaltung->direktervergleich >= 2 && in_array($veranstaltung->tabellenwertung, [1,4,7,10]) && $spielpunkte_differenz != $team->spielpunkte_differenz) if ($veranstaltung->direktervergleich >= 2 && in_array($veranstaltung->tabellenwertung, [1,4,7,10]) && $spielpunkte_differenz != $team->spielpunkte_differenz)
@@ -1866,7 +1866,7 @@ function getTabelleDirekterVergleich($teams,$veranstaltung,$spieltag)
$unterschied = true; $unterschied = true;
if ($veranstaltung->direktervergleich == 3 && in_array($veranstaltung->tabellenwertung, [2,5,8,11]) && $punkte_quotient != $team->punkte_quotient) if ($veranstaltung->direktervergleich == 3 && in_array($veranstaltung->tabellenwertung, [2,5,8,11]) && $punkte_quotient != $team->punkte_quotient)
$unterschied = true; $unterschied = true;
if ($unterschied) if ($unterschied)
{ {
$gesamtpunkte = $team->gesamtpunkte; $gesamtpunkte = $team->gesamtpunkte;
@@ -1889,7 +1889,7 @@ function getTabelleDirekterVergleich($teams,$veranstaltung,$spieltag)
foreach($teamsKorrektur AS $teamKorrektur){ foreach($teamsKorrektur AS $teamKorrektur){
$teamKorrektur->platz_alt = $bufferplatz[$teamKorrektur->team_id]['platz']; $teamKorrektur->platz_alt = $bufferplatz[$teamKorrektur->team_id]['platz'];
} }
if ($veranstaltung->tabellenwertung == 1 || $veranstaltung->tabellenwertung == 4 || $veranstaltung->tabellenwertung == 7){ if ($veranstaltung->tabellenwertung == 1 || $veranstaltung->tabellenwertung == 4 || $veranstaltung->tabellenwertung == 7){
usort($teamsKorrektur, fn($a, $b) => 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)$b->begegnungspunkte, (int)$a->anzahl_spiele, (float)$b->spielpunkte_differenz, (float)$b->punkte_differenz, (int)$a->platz_alt]
@@ -1925,7 +1925,7 @@ function getTabelleDirekterVergleich($teams,$veranstaltung,$spieltag)
[(float)$a->begegnungspunkte, (int)$b->anzahl_spiele, (int)$b->platz_alt] [(float)$a->begegnungspunkte, (int)$b->anzahl_spiele, (int)$b->platz_alt]
); );
} }
$neuerPlatz = $key; $neuerPlatz = $key;
foreach ($teamsKorrektur as $teamKorrektur) { foreach ($teamsKorrektur as $teamKorrektur) {
$teamKorrektur->platz = $neuerPlatz++; $teamKorrektur->platz = $neuerPlatz++;
@@ -2604,7 +2604,7 @@ function turnierbaumAnzeigen($veranstaltung): void
else else
$begegnungen[$begegnung['Spieltag_Nr'] + 1][round($begegnung['Spiel_Nr'] / 2)]['gast'] = htmlentities($begegnung['Heim']); $begegnungen[$begegnung['Spieltag_Nr'] + 1][round($begegnung['Spiel_Nr'] / 2)]['gast'] = htmlentities($begegnung['Heim']);
} }
} else } else
if ($begegnung['Heim_Satzpunkte'] < $begegnung['Gast_Satzpunkte']) { if ($begegnung['Heim_Satzpunkte'] < $begegnung['Gast_Satzpunkte']) {
$begegnungen[$begegnung['Spieltag_Nr']][$begegnung['Spiel_Nr']]['sieger'] = 2; $begegnungen[$begegnung['Spieltag_Nr']][$begegnung['Spiel_Nr']]['sieger'] = 2;
if ($begegnung['Spieltag_Nr'] < $anzahlRunden){ if ($begegnung['Spieltag_Nr'] < $anzahlRunden){
@@ -2613,7 +2613,7 @@ function turnierbaumAnzeigen($veranstaltung): void
else else
$begegnungen[$begegnung['Spieltag_Nr'] + 1][round($begegnung['Spiel_Nr'] / 2)]['gast'] = htmlentities($begegnung['Gast']); $begegnungen[$begegnung['Spieltag_Nr'] + 1][round($begegnung['Spiel_Nr'] / 2)]['gast'] = htmlentities($begegnung['Gast']);
} }
} else } else
if ($begegnung['Heim_Satzpunkte'] == $begegnung['Gast_Satzpunkte'] && $begegnung['Heim_Tore'] > $begegnung['Gast_Tore']) { if ($begegnung['Heim_Satzpunkte'] == $begegnung['Gast_Satzpunkte'] && $begegnung['Heim_Tore'] > $begegnung['Gast_Tore']) {
$begegnungen[$begegnung['Spieltag_Nr']][$begegnung['Spiel_Nr']]['sieger'] = 1; $begegnungen[$begegnung['Spieltag_Nr']][$begegnung['Spiel_Nr']]['sieger'] = 1;
if ($begegnung['Spieltag_Nr'] < $anzahlRunden){ if ($begegnung['Spieltag_Nr'] < $anzahlRunden){
@@ -2622,7 +2622,7 @@ function turnierbaumAnzeigen($veranstaltung): void
else else
$begegnungen[$begegnung['Spieltag_Nr'] + 1][round($begegnung['Spiel_Nr'] / 2)]['gast'] = htmlentities($begegnung['Heim']); $begegnungen[$begegnung['Spieltag_Nr'] + 1][round($begegnung['Spiel_Nr'] / 2)]['gast'] = htmlentities($begegnung['Heim']);
} }
} else } else
if ($begegnung['Heim_Satzpunkte'] == $begegnung['Gast_Satzpunkte'] && $begegnung['Heim_Tore'] < $begegnung['Gast_Tore']) { if ($begegnung['Heim_Satzpunkte'] == $begegnung['Gast_Satzpunkte'] && $begegnung['Heim_Tore'] < $begegnung['Gast_Tore']) {
$begegnungen[$begegnung['Spieltag_Nr']][$begegnung['Spiel_Nr']]['sieger'] = 2; $begegnungen[$begegnung['Spieltag_Nr']][$begegnung['Spiel_Nr']]['sieger'] = 2;
if ($begegnung['Spieltag_Nr'] < $anzahlRunden){ if ($begegnung['Spieltag_Nr'] < $anzahlRunden){
@@ -4276,16 +4276,16 @@ function spielverlegungen(): void
global $params; global $params;
$jInput = Factory::getContainer()->get(SiteApplication::class)->input; $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
$filter_status = $jInput->get('filter_status', '', 'RAW'); $filter_status = $jInput->get('filter_status', '', 'RAW');
if (empty($filter_status)) if (empty($filter_status))
$filter_status = "offen,genehmigt"; $filter_status = "offen,genehmigt";
$query = "SELECT saison_id, saisonbezeichnung" $query = "SELECT saison_id, saisonbezeichnung"
. "\n FROM #__sportsmanager_saison" . "\n FROM #__sportsmanager_saison"
. "\n ORDER BY saisonbezeichnung DESC LIMIT 1"; . "\n ORDER BY saisonbezeichnung DESC LIMIT 1";
$saisons = loadObjectList($db, $query); $saisons = loadObjectList($db, $query);
$filter_saison_id = $saisons[0]->saison_id; $filter_saison_id = $saisons[0]->saison_id;
$query = "SELECT t1.begegnung_historie_id AS beantragt_id, t1.begegnung_id AS begegnung_id," $query = "SELECT t1.begegnung_historie_id AS beantragt_id, t1.begegnung_id AS begegnung_id,"
. "\n t1.eingetragen AS beantragt, t1.kommentar AS Begruendung_beantragt, t1.zeitpunkt AS Termin_alt," . "\n t1.eingetragen AS beantragt, t1.kommentar AS Begruendung_beantragt, t1.zeitpunkt AS Termin_alt,"
. "\n t1.team_id as beantragt_verein, t5.bezeichnung AS Liga," . "\n t1.team_id as beantragt_verein, t5.bezeichnung AS Liga,"
@@ -4301,23 +4301,23 @@ function spielverlegungen(): void
. kategorieFilter("AND t5.kategorie IN") . kategorieFilter("AND t5.kategorie IN")
. "\n ORDER BY t1.begegnung_id, t1.zeitpunkt ASC;"; . "\n ORDER BY t1.begegnung_id, t1.zeitpunkt ASC;";
$spielverlegungen = loadObjectList($db, $query); $spielverlegungen = loadObjectList($db, $query);
$last_id = ""; $last_id = "";
foreach ($spielverlegungen as $key => $spielverlegung) { foreach ($spielverlegungen as $key => $spielverlegung) {
if ($spielverlegung->begegnung_id == $last_id) { if ($spielverlegung->begegnung_id == $last_id) {
unset($spielverlegungen[$key]); unset($spielverlegungen[$key]);
} else { } else {
$last_id = $spielverlegung->begegnung_id; $last_id = $spielverlegung->begegnung_id;
$query = "SELECT t1.begegnung_historie_id AS genehmigt_id, t1.eingetragen AS genehmigt," $query = "SELECT t1.begegnung_historie_id AS genehmigt_id, t1.eingetragen AS genehmigt,"
. "\n t1.user_id AS genehmigt_von, t1.team_id as genehmigt_verein, t1.zeitpunkt AS Termin_neu" . "\n t1.user_id AS genehmigt_von, t1.team_id as genehmigt_verein, t1.zeitpunkt AS Termin_neu"
. "\n FROM #__sportsmanager_begegnung_historie AS t1" . "\n FROM #__sportsmanager_begegnung_historie AS t1"
. "\n LEFT JOIN #__sportsmanager_begegnung AS t2 ON t2.begegnung_id = t1.begegnung_id" . "\n LEFT JOIN #__sportsmanager_begegnung AS t2 ON t2.begegnung_id = t1.begegnung_id"
. "\n WHERE t1.aktion = 1 AND t1.begegnung_id = $last_id" . "\n WHERE t1.aktion = 1 AND t1.begegnung_id = $last_id"
. "\n ORDER BY t1.zeitpunkt DESC LIMIT 1;"; . "\n ORDER BY t1.zeitpunkt DESC LIMIT 1;";
$genehmigt = loadObjectList($db, $query); $genehmigt = loadObjectList($db, $query);
if (!empty($genehmigt)) { if (!empty($genehmigt)) {
$spielverlegung->genehmigt_id = $genehmigt[0]->genehmigt_id; $spielverlegung->genehmigt_id = $genehmigt[0]->genehmigt_id;
$spielverlegung->genehmigt = $genehmigt[0]->genehmigt; $spielverlegung->genehmigt = $genehmigt[0]->genehmigt;
@@ -4340,9 +4340,9 @@ function spielverlegungen(): void
. "\n LEFT JOIN #__sportsmanager_begegnung AS t2 ON t2.begegnung_id = t1.begegnung_id" . "\n LEFT JOIN #__sportsmanager_begegnung AS t2 ON t2.begegnung_id = t1.begegnung_id"
. "\n WHERE t1.aktion = 10 AND t1.begegnung_id = $last_id" . "\n WHERE t1.aktion = 10 AND t1.begegnung_id = $last_id"
. "\n ORDER BY t1.zeitpunkt DESC LIMIT 1;"; . "\n ORDER BY t1.zeitpunkt DESC LIMIT 1;";
$abgelehnt = loadObjectList($db, $query); $abgelehnt = loadObjectList($db, $query);
if (!empty($abgelehnt)) { if (!empty($abgelehnt)) {
$spielverlegung->abgelehnt_id = $abgelehnt[0]->abgelehnt_id; $spielverlegung->abgelehnt_id = $abgelehnt[0]->abgelehnt_id;
$spielverlegung->abgelehnt = $abgelehnt[0]->abgelehnt; $spielverlegung->abgelehnt = $abgelehnt[0]->abgelehnt;
@@ -4374,7 +4374,7 @@ function verbandsorgane(): void
$db = getDatabase(); $db = getDatabase();
global $params; global $params;
$jInput = Factory::getContainer()->get(SiteApplication::class)->input; $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
$query = "SELECT t1.*, COUNT(t2.verbandsorgane_id) AS anzahl, t3.veranstalterbezeichnung AS organisation" $query = "SELECT t1.*, COUNT(t2.verbandsorgane_id) AS anzahl, t3.veranstalterbezeichnung AS organisation"
. "\n FROM #__sportsmanager_verbandsorgane t1" . "\n FROM #__sportsmanager_verbandsorgane t1"
. "\n LEFT JOIN #__sportsmanager_mitglied_von_verbandsorgan t2 ON t2.verbandsorgane_id = t1.verbandsorgane_id" . "\n LEFT JOIN #__sportsmanager_mitglied_von_verbandsorgan t2 ON t2.verbandsorgane_id = t1.verbandsorgane_id"
@@ -4383,7 +4383,7 @@ function verbandsorgane(): void
. kategorieFilter("HAVING t1.kategorie IN") . kategorieFilter("HAVING t1.kategorie IN")
. "\n ORDER BY t1.reihenfolge;"; . "\n ORDER BY t1.reihenfolge;";
$verbandsorgane = loadObjectList($db, $query); $verbandsorgane = loadObjectList($db, $query);
$query = "SELECT COUNT(veranstalter_id) AS anzahl" $query = "SELECT COUNT(veranstalter_id) AS anzahl"
. "\n FROM #__sportsmanager_verbandsorgane" . "\n FROM #__sportsmanager_verbandsorgane"
. "\n GROUP BY veranstalter_id" . "\n GROUP BY veranstalter_id"
@@ -4410,16 +4410,16 @@ function verbandsorganeDetails($uebergabe_id = 0): void
$db = getDatabase(); $db = getDatabase();
$app = Factory::getContainer()->get(SiteApplication::class); $app = Factory::getContainer()->get(SiteApplication::class);
$jInput = $app->input; $jInput = $app->input;
global $params; global $params;
$user_id = isExternalDatabase() ? 0 : (isJson() ? getUserID() : $app->getIdentity()->id); $user_id = isExternalDatabase() ? 0 : (isJson() ? getUserID() : $app->getIdentity()->id);
if ($user_id > 0) if ($user_id > 0)
$erweiterte_anzeige = true; $erweiterte_anzeige = true;
else else
$erweiterte_anzeige = false; $erweiterte_anzeige = false;
if ($uebergabe_id == 0) if ($uebergabe_id == 0)
$id = $jInput->get('id', 0, 'INT'); $id = $jInput->get('id', 0, 'INT');
else else
@@ -4436,7 +4436,7 @@ function verbandsorganeDetails($uebergabe_id = 0): void
. "\n WHERE verbandsorgane_id = $id" . "\n WHERE verbandsorgane_id = $id"
. "\n ORDER BY reihenfolge, nachname, vorname"; . "\n ORDER BY reihenfolge, nachname, vorname";
$mitglieder = loadObjectList($db, $query); $mitglieder = loadObjectList($db, $query);
$query = "SELECT zusatzinfo FROM #__sportsmanager_mitglied_von_verbandsorgan" $query = "SELECT zusatzinfo FROM #__sportsmanager_mitglied_von_verbandsorgan"
. "\n WHERE verbandsorgane_id = $id" . "\n WHERE verbandsorgane_id = $id"
. "\n AND zusatzinfo IS NOT NULL AND TRIM(zusatzinfo) <> ''" . "\n AND zusatzinfo IS NOT NULL AND TRIM(zusatzinfo) <> ''"
@@ -4446,7 +4446,7 @@ function verbandsorganeDetails($uebergabe_id = 0): void
$zusatzinfos_vorhanden = true; $zusatzinfos_vorhanden = true;
else else
$zusatzinfos_vorhanden = false; $zusatzinfos_vorhanden = false;
if (isJson()) { if (isJson()) {
echo json_encode($mitglieder); echo json_encode($mitglieder);
} else { } else {
@@ -4458,7 +4458,7 @@ function halloffame(): void
{ {
$db = getDatabase(); $db = getDatabase();
global $params; global $params;
$query = "SELECT t1.*, COUNT(DISTINCT t2.jahr) AS anzahl," $query = "SELECT t1.*, COUNT(DISTINCT t2.jahr) AS anzahl,"
. "\n IF (COUNT(DISTINCT t2.jahr) > 0, CONCAT(min(t2.jahr), ' - ', max(t2.jahr)), '" . Text::_('COM_SPORTSMANAGER_NO_ENTRY') . "') AS zeitspanne" . "\n IF (COUNT(DISTINCT t2.jahr) > 0, CONCAT(min(t2.jahr), ' - ', max(t2.jahr)), '" . Text::_('COM_SPORTSMANAGER_NO_ENTRY') . "') AS zeitspanne"
. "\n FROM #__sportsmanager_halloffame t1" . "\n FROM #__sportsmanager_halloffame t1"
@@ -4467,7 +4467,7 @@ function halloffame(): void
. kategorieFilter("HAVING t1.kategorie IN") . kategorieFilter("HAVING t1.kategorie IN")
. "\n ORDER BY t1.reihenfolge;"; . "\n ORDER BY t1.reihenfolge;";
$halloffame = loadObjectList($db, $query); $halloffame = loadObjectList($db, $query);
if (count($halloffame) == 1){ if (count($halloffame) == 1){
halloffameDetails($halloffame[0]->halloffame_id); halloffameDetails($halloffame[0]->halloffame_id);
} else { } else {
@@ -4484,16 +4484,16 @@ function halloffameDetails($uebergabe_id = 0): void
$db = getDatabase(); $db = getDatabase();
$app = Factory::getContainer()->get(SiteApplication::class); $app = Factory::getContainer()->get(SiteApplication::class);
$jInput = $app->input; $jInput = $app->input;
global $params; global $params;
if ($uebergabe_id == 0) if ($uebergabe_id == 0)
$id = $jInput->get('id', 0, 'INT'); $id = $jInput->get('id', 0, 'INT');
else else
$id = $uebergabe_id; $id = $uebergabe_id;
$mitglieder = null; $mitglieder = null;
$query = "SELECT * FROM #__sportsmanager_halloffame WHERE halloffame_id = $id"; $query = "SELECT * FROM #__sportsmanager_halloffame WHERE halloffame_id = $id";
$rows = loadObjectList($db, $query); $rows = loadObjectList($db, $query);
if (count($rows) < 1) { if (count($rows) < 1) {
@@ -4502,14 +4502,14 @@ function halloffameDetails($uebergabe_id = 0): void
$halloffame = $rows[0]; $halloffame = $rows[0];
$halloffame->platz2_zeigen = 0; $halloffame->platz2_zeigen = 0;
$halloffame->platz3_zeigen = 0; $halloffame->platz3_zeigen = 0;
$query = "SELECT t2.*, t1.halloffame" $query = "SELECT t2.*, t1.halloffame"
. "\n FROM #__sportsmanager_halloffame t1" . "\n FROM #__sportsmanager_halloffame t1"
. "\n LEFT JOIN #__sportsmanager_mitglied_von_halloffame t2 ON t2.halloffame_id = t1.halloffame_id" . "\n LEFT JOIN #__sportsmanager_mitglied_von_halloffame t2 ON t2.halloffame_id = t1.halloffame_id"
. "\n WHERE t2.halloffame_id = $id" . "\n WHERE t2.halloffame_id = $id"
. "\n ORDER BY t2.jahr DESC, platz ASC;"; . "\n ORDER BY t2.jahr DESC, platz ASC;";
$rows = loadObjectList($db, $query); $rows = loadObjectList($db, $query);
if (count($rows) > 0){ if (count($rows) > 0){
$mitglieder = []; $mitglieder = [];
if ($halloffame->spielform == 1){ if ($halloffame->spielform == 1){
@@ -4530,7 +4530,7 @@ function halloffameDetails($uebergabe_id = 0): void
//Suche team_id wenn keine verein_id vorhanden //Suche team_id wenn keine verein_id vorhanden
if (empty($row->verein_id)){ if (empty($row->verein_id)){
$query = "SELECT team_id FROM #__sportsmanager_team WHERE teamname LIKE '$row->teamname%' ORDER BY team_id DESC LIMIT 1;"; $query = "SELECT team_id FROM #__sportsmanager_team WHERE teamname LIKE '$row->teamname%' ORDER BY team_id DESC LIMIT 1;";
$mitglieder[$row->jahr]->$index_teamid = loadResult($db, $query); $mitglieder[$row->jahr]->$index_teamid = loadResult($db, $query);
} else { } else {
$mitglieder[$row->jahr]->$index_teamid = ""; $mitglieder[$row->jahr]->$index_teamid = "";
@@ -4543,7 +4543,7 @@ function halloffameDetails($uebergabe_id = 0): void
$index_spieler1 = "spieler1_" . $row->platz; $index_spieler1 = "spieler1_" . $row->platz;
$index_spieler2id = "spieler2_id_" . $row->platz; $index_spieler2id = "spieler2_id_" . $row->platz;
$index_spieler2 = "spieler2_" . $row->platz; $index_spieler2 = "spieler2_" . $row->platz;
if (!isset($mitglieder[$row->jahr])) { if (!isset($mitglieder[$row->jahr])) {
$mitglieder[$row->jahr] = new stdClass(); $mitglieder[$row->jahr] = new stdClass();
} }
@@ -4559,7 +4559,7 @@ function halloffameDetails($uebergabe_id = 0): void
} }
} }
} }
if (isJson()) { if (isJson()) {
echo json_encode($mitglieder); echo json_encode($mitglieder);
} else { } else {
@@ -4754,10 +4754,10 @@ function begegnungVerlegenForm(): void
$aus_uebersicht = $jInput->get('aus_uebersicht', 0, 'INT'); $aus_uebersicht = $jInput->get('aus_uebersicht', 0, 'INT');
$query = "SELECT #__sportsmanager_veranstaltung.*, initial_ohne_termin, keine_gegenvorschlaege, vorlaufzeit_tage," $query = "SELECT #__sportsmanager_veranstaltung.*, initial_ohne_termin, keine_gegenvorschlaege, vorlaufzeit_tage,"
. "\n termine_minimal, termine_maximal, ablehnen, begruendung_erforderlich" . "\n termine_minimal, termine_maximal, ablehnen, begruendung_erforderlich"
. "\n FROM #__sportsmanager_veranstaltung LEFT JOIN #__sportsmanager_verschieberegel USING (verschieberegel_id)" . "\n FROM #__sportsmanager_veranstaltung LEFT JOIN #__sportsmanager_verschieberegel USING (verschieberegel_id)"
. "\n WHERE veranstaltung_id = $veranstaltungid"; . "\n WHERE veranstaltung_id = $veranstaltungid";
$rows = loadObjectList($db, $query); $rows = loadObjectList($db, $query);
if (count($rows) < 1) if (count($rows) < 1)
die("Wrong id!"); die("Wrong id!");
@@ -5128,7 +5128,7 @@ function begegnungVerlegen(): void
function neueTeamStrafe($teamid, $veranstaltungid, $strafe, $moderator_user_id, $beschreibung) { function neueTeamStrafe($teamid, $veranstaltungid, $strafe, $moderator_user_id, $beschreibung) {
$app = Factory::getContainer()->get(SiteApplication::class); $app = Factory::getContainer()->get(SiteApplication::class);
$db = getDatabase(); $db = getDatabase();
$zeitpunkt = date('Y-m-d H:i:s'); $zeitpunkt = date('Y-m-d H:i:s');
$query = "INSERT INTO #__sportsmanager_team_strafen" $query = "INSERT INTO #__sportsmanager_team_strafen"
. "\n (team_id, zeitpunkt, moderator_user_id, strafe, beschreibung)" . "\n (team_id, zeitpunkt, moderator_user_id, strafe, beschreibung)"
@@ -5324,9 +5324,9 @@ function teamstatistikAktualisieren($geaenderte_veranstaltung_id = 0, $geaendert
$buchholz1_wert = 0; $buchholz1_wert = 0;
$buchholz2_wert = 0; $buchholz2_wert = 0;
foreach ($teams as $team) { foreach ($teams as $team) {
if ($platz == 1 || (($veranstaltung->tabellenwertung <= 9 || $veranstaltung->tabellenwertung >= 21) && $gesamtpunkte != $team->gesamtpunkte) if ($platz == 1 || (($veranstaltung->tabellenwertung <= 9 || $veranstaltung->tabellenwertung >= 21) && $gesamtpunkte != $team->gesamtpunkte)
|| (($veranstaltung->tabellenwertung == 1 || $veranstaltung->tabellenwertung == 4 || $veranstaltung->tabellenwertung == 7 || $veranstaltung->tabellenwertung == 10 || $veranstaltung->tabellenwertung == 21 || $veranstaltung->tabellenwertung == 24 || $veranstaltung->tabellenwertung == 27) && ($spielpunkte_differenz != $team->spielpunkte_differenz || $punkte_differenz != $team->punkte_differenz)) || (($veranstaltung->tabellenwertung == 1 || $veranstaltung->tabellenwertung == 4 || $veranstaltung->tabellenwertung == 7 || $veranstaltung->tabellenwertung == 10 || $veranstaltung->tabellenwertung == 21 || $veranstaltung->tabellenwertung == 24 || $veranstaltung->tabellenwertung == 27) && ($spielpunkte_differenz != $team->spielpunkte_differenz || $punkte_differenz != $team->punkte_differenz))
|| (($veranstaltung->tabellenwertung == 2 || $veranstaltung->tabellenwertung == 5 || $veranstaltung->tabellenwertung == 8 || $veranstaltung->tabellenwertung == 11 || $veranstaltung->tabellenwertung == 22 || $veranstaltung->tabellenwertung == 25 || $veranstaltung->tabellenwertung == 28) && ($spielpunkte_quotient != $team->spielpunkte_quotient || $punkte_quotient != $team->punkte_quotient)) || (($veranstaltung->tabellenwertung == 2 || $veranstaltung->tabellenwertung == 5 || $veranstaltung->tabellenwertung == 8 || $veranstaltung->tabellenwertung == 11 || $veranstaltung->tabellenwertung == 22 || $veranstaltung->tabellenwertung == 25 || $veranstaltung->tabellenwertung == 28) && ($spielpunkte_quotient != $team->spielpunkte_quotient || $punkte_quotient != $team->punkte_quotient))
|| (($veranstaltung->tabellenwertung >= 21) && ($team->buchholz1 != $buchholz1_wert || $team->buchholz2 != $buchholz2_wert))) || (($veranstaltung->tabellenwertung >= 21) && ($team->buchholz1 != $buchholz1_wert || $team->buchholz2 != $buchholz2_wert)))
$tatsaechlicher_platz = $platz; $tatsaechlicher_platz = $platz;
$query = "UPDATE #__sportsmanager_team" $query = "UPDATE #__sportsmanager_team"
@@ -5868,17 +5868,23 @@ function spielerstatistikAktualisieren($geaenderte_spielerstatistik_id = 0, $gea
$punkte = array(); $punkte = array();
foreach ($veranstaltungen as $veranstaltung) { foreach ($veranstaltungen as $veranstaltung) {
$query = "SELECT heim_spieler_1_id, heim_spieler_2_id, gast_spieler_1_id, gast_spieler_2_id, teamspiel_heim_punkte, teamspiel_gast_punkte, teamspiel_heim_spielpunkte, teamspiel_gast_spielpunkte" $query = "SELECT heim_spieler_1_id, heim_spieler_2_id, gast_spieler_1_id, gast_spieler_2_id, heim_team_id, gast_team_id,"
. "\n teamspiel_heim_punkte, teamspiel_gast_punkte, teamspiel_heim_spielpunkte, teamspiel_gast_spielpunkte"
. "\n FROM #__sportsmanager_begegnung" . "\n FROM #__sportsmanager_begegnung"
. "\n LEFT JOIN #__sportsmanager_team ON heim_team_id = #__sportsmanager_team.team_id" . "\n LEFT JOIN #__sportsmanager_team ON heim_team_id = #__sportsmanager_team.team_id"
. "\n LEFT JOIN #__sportsmanager_teamspiel ON #__sportsmanager_begegnung.begegnung_id = #__sportsmanager_teamspiel.begegnung_id" . "\n LEFT JOIN #__sportsmanager_teamspiel ON #__sportsmanager_begegnung.begegnung_id = #__sportsmanager_teamspiel.begegnung_id"
. "\n LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis ON #__sportsmanager_begegnung.begegnung_id = #__sportsmanager_unbestaetigtes_ergebnis.begegnung_id" . "\n LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis ON #__sportsmanager_begegnung.begegnung_id = #__sportsmanager_unbestaetigtes_ergebnis.begegnung_id"
. "\n WHERE ISNULL(unbestaetigtes_ergebnis_id) AND veranstaltung_id = $veranstaltung->veranstaltung_id"; . "\n LEFT JOIN #__sportsmanager_veranstaltung ON #__sportsmanager_team.veranstaltung_id = #__sportsmanager_veranstaltung.veranstaltung_id"
if ($spielerstatistik->typ == 1) . "\n LEFT JOIN #__sportsmanager_teamspiel_modus ON #__sportsmanager_veranstaltung.modus_id = #__sportsmanager_teamspiel_modus.teamspiel_modus_id"
. "\n WHERE ISNULL(unbestaetigtes_ergebnis_id) AND #__sportsmanager_veranstaltung.veranstaltung_id = $veranstaltung->veranstaltung_id"
. "\n AND (#__sportsmanager_teamspiel_modus.spiele_in_spielerstatistik <= 0"
. "\n OR teamspiel_nummer <= #__sportsmanager_teamspiel_modus.spiele_in_spielerstatistik)";
if ($spielerstatistik->typ == 1)
$query .= "\n AND ISNULL(heim_spieler_2_id) AND ISNULL(gast_spieler_2_id)"; $query .= "\n AND ISNULL(heim_spieler_2_id) AND ISNULL(gast_spieler_2_id)";
else if ($spielerstatistik->typ == 2 || $spielerstatistik->typ == 3) else if ($spielerstatistik->typ == 2 || $spielerstatistik->typ == 3)
$query .= "\n AND NOT (ISNULL(heim_spieler_2_id) AND ISNULL(gast_spieler_2_id))"; $query .= "\n AND NOT (ISNULL(heim_spieler_2_id) AND ISNULL(gast_spieler_2_id))";
$begegnungen = loadObjectList($db, $query); $query .= "\n ORDER BY #__sportsmanager_begegnung.zeitpunkt ASC;";
$begegnungen = loadObjectList($db, $query);
foreach ($begegnungen as $begegnung) { foreach ($begegnungen as $begegnung) {
$beteiligte = array(); $beteiligte = array();
@@ -5911,6 +5917,8 @@ function spielerstatistikAktualisieren($geaenderte_spielerstatistik_id = 0, $gea
$gast_punkte = $begegnung->teamspiel_gast_punkte; $gast_punkte = $begegnung->teamspiel_gast_punkte;
$heim_spielpunkte = $begegnung->teamspiel_heim_spielpunkte; $heim_spielpunkte = $begegnung->teamspiel_heim_spielpunkte;
$gast_spielpunkte = $begegnung->teamspiel_gast_spielpunkte; $gast_spielpunkte = $begegnung->teamspiel_gast_spielpunkte;
$heim_team_id = $begegnung->heim_team_id;
$gast_team_id = $begegnung->gast_team_id;
$ergebnis = $heim_punkte > $gast_punkte ? 1 : ($heim_punkte < $gast_punkte ? 2 : 0); $ergebnis = $heim_punkte > $gast_punkte ? 1 : ($heim_punkte < $gast_punkte ? 2 : 0);
$heim_saetze = $ergebnis == 1 ? 1 : 0; $heim_saetze = $ergebnis == 1 ? 1 : 0;
$unentschieden_saetze = $ergebnis == 0 ? 1 : 0; $unentschieden_saetze = $ergebnis == 0 ? 1 : 0;
@@ -5931,6 +5939,10 @@ function spielerstatistikAktualisieren($geaenderte_spielerstatistik_id = 0, $gea
$punkte[$spieler_id]["sv"] = 0; $punkte[$spieler_id]["sv"] = 0;
$punkte[$spieler_id]["pg"] = 0; $punkte[$spieler_id]["pg"] = 0;
$punkte[$spieler_id]["pv"] = 0; $punkte[$spieler_id]["pv"] = 0;
if ($typ == "H")
$punkte[$spieler_id]["team_id"] = $heim_team_id;
else
$punkte[$spieler_id]["team_id"] = $gast_team_id;
} }
if (($ergebnis == 1 && $typ == "H") || ($ergebnis == 2 && $typ != "H")) if (($ergebnis == 1 && $typ == "H") || ($ergebnis == 2 && $typ != "H"))
$punkte[$spieler_id]["s"] += 1; $punkte[$spieler_id]["s"] += 1;
@@ -6057,6 +6069,11 @@ function spielerstatistikAktualisieren($geaenderte_spielerstatistik_id = 0, $gea
$spieler_punkte_saetze_verloren = $spieler_punkte["sv"]; $spieler_punkte_saetze_verloren = $spieler_punkte["sv"];
$spieler_punkte_punkte_gewonnen = $spieler_punkte["pg"]; $spieler_punkte_punkte_gewonnen = $spieler_punkte["pg"];
$spieler_punkte_punkte_verloren = $spieler_punkte["pv"]; $spieler_punkte_punkte_verloren = $spieler_punkte["pv"];
if (!empty($spieler_punkte["team_id"]))
$spieler_team_id = $spieler_punkte["team_id"];
else
$spieler_team_id = "NULL";
$query = "UPDATE #__sportsmanager_bestenliste_punkte" $query = "UPDATE #__sportsmanager_bestenliste_punkte"
. "\n SET siege = $spieler_punkte_siege," . "\n SET siege = $spieler_punkte_siege,"
. "\n unentschieden = $spieler_punkte_unentschieden," . "\n unentschieden = $spieler_punkte_unentschieden,"
@@ -6067,7 +6084,8 @@ function spielerstatistikAktualisieren($geaenderte_spielerstatistik_id = 0, $gea
. "\n saetze_unentschieden = $spieler_punkte_saetze_unentschieden," . "\n saetze_unentschieden = $spieler_punkte_saetze_unentschieden,"
. "\n saetze_verloren = $spieler_punkte_saetze_verloren," . "\n saetze_verloren = $spieler_punkte_saetze_verloren,"
. "\n punkte_gewonnen = $spieler_punkte_punkte_gewonnen," . "\n punkte_gewonnen = $spieler_punkte_punkte_gewonnen,"
. "\n punkte_verloren = $spieler_punkte_punkte_verloren" . "\n punkte_verloren = $spieler_punkte_punkte_verloren,"
. "\n team_id = $spieler_team_id"
. "\n WHERE bestenliste_punkte_id = $row->bestenliste_punkte_id;"; . "\n WHERE bestenliste_punkte_id = $row->bestenliste_punkte_id;";
$db->setQuery($query); $db->setQuery($query);
if (!$db->execute()) { if (!$db->execute()) {
@@ -6094,6 +6112,10 @@ function spielerstatistikAktualisieren($geaenderte_spielerstatistik_id = 0, $gea
$spieler_punkte_saetze_verloren = $spieler_punkte["sv"]; $spieler_punkte_saetze_verloren = $spieler_punkte["sv"];
$spieler_punkte_punkte_gewonnen = $spieler_punkte["pg"]; $spieler_punkte_punkte_gewonnen = $spieler_punkte["pg"];
$spieler_punkte_punkte_verloren = $spieler_punkte["pv"]; $spieler_punkte_punkte_verloren = $spieler_punkte["pv"];
if (!empty($spieler_punkte["team_id"]))
$spieler_team_id = $spieler_punkte["team_id"];
else
$spieler_team_id = "NULL";
$query = "INSERT #__sportsmanager_bestenliste_punkte" $query = "INSERT #__sportsmanager_bestenliste_punkte"
. "\n SET siege = $spieler_punkte_siege," . "\n SET siege = $spieler_punkte_siege,"
. "\n unentschieden = $spieler_punkte_unentschieden," . "\n unentschieden = $spieler_punkte_unentschieden,"
@@ -6107,6 +6129,7 @@ function spielerstatistikAktualisieren($geaenderte_spielerstatistik_id = 0, $gea
. "\n punkte_verloren = $spieler_punkte_punkte_verloren," . "\n punkte_verloren = $spieler_punkte_punkte_verloren,"
. "\n spieler_id = $spieler_1_id," . "\n spieler_id = $spieler_1_id,"
. "\n spieler_2_id = " . ($spieler_2_id != NULL ? "$spieler_2_id" : "NULL") . "," . "\n spieler_2_id = " . ($spieler_2_id != NULL ? "$spieler_2_id" : "NULL") . ","
. "\n team_id = $spieler_team_id,"
. "\n bestenliste_id = $spielerstatistik->bestenliste_id;"; . "\n bestenliste_id = $spielerstatistik->bestenliste_id;";
$db->setQuery($query); $db->setQuery($query);
if (!$db->execute()) { if (!$db->execute()) {
@@ -7355,6 +7378,7 @@ function spielerstatistiken(): void
$details_anzeigen = currentUserHasAccessToDetails(); $details_anzeigen = currentUserHasAccessToDetails();
$filter_saison_id = $jInput->get('filter_saison_id', 0, 'INT'); $filter_saison_id = $jInput->get('filter_saison_id', 0, 'INT');
if ($filter_saison_id == 0) if ($filter_saison_id == 0)
$filter_saison_id = $jInput->cookie->get('sportsmanager_filter_saison_id', 0, 'INT'); $filter_saison_id = $jInput->cookie->get('sportsmanager_filter_saison_id', 0, 'INT');
@@ -7384,25 +7408,53 @@ function spielerstatistiken(): void
. "\n ORDER BY reihenfolge, bezeichnung, kategorie"; . "\n ORDER BY reihenfolge, bezeichnung, kategorie";
$spielerstatistiken = loadObjectList($db, $query); $spielerstatistiken = loadObjectList($db, $query);
HTML_sportsmanager::spielerstatistikenHeader($params->get('titel'), $params->get('beschreibung'), $saisons, $filter_saison_id); HTML_sportsmanager::spielerstatistikenHeader($params->get('titel'), $params->get('beschreibung'), $saisons, $filter_saison_id, "", null, null, null, null);
foreach ($spielerstatistiken as $spielerstatistik) { foreach ($spielerstatistiken as $spielerstatistik) {
$query = "SELECT #__sportsmanager_bestenliste_punkte.*, #__sportsmanager_spieler.nachname, #__sportsmanager_spieler.vorname, #__sportsmanager_spieler.geschlecht, #__sportsmanager_spieler.aktueller_verein_id, #__sportsmanager_spieler.bild_ausblenden, spieler_2.nachname AS nachname_2, spieler_2.vorname AS vorname_2, spieler_2.geschlecht AS geschlecht_2, spieler_2.aktueller_verein_id AS aktueller_verein_id_2, spieler_2.bild_ausblenden AS bild_ausblenden_2"; //Mindestzahl an Spielen
if ($spielerstatistik->tabellenwertung == 1) $spielerstatistik->min_spiele = 0;
if (in_array($spielerstatistik->tabellenwertung, [4, 5])) {
$query = "SELECT siege + unentschieden + niederlagen AS spiele"
. "\n FROM #__sportsmanager_bestenliste_punkte"
. "\n WHERE bestenliste_id = $spielerstatistik->bestenliste_id"
. "\n ORDER BY spiele DESC;";
$max_spiele = loadResult($db, $query);
$spielerstatistik->min_spiele = round($max_spiele/2);
}
$query = "SELECT #__sportsmanager_bestenliste_punkte.*, #__sportsmanager_spieler.nachname, team.teamname,"
. "\n siege + unentschieden + niederlagen AS spiele,"
. "\n #__sportsmanager_spieler.vorname, #__sportsmanager_spieler.geschlecht,"
. "\n #__sportsmanager_spieler.aktueller_verein_id, #__sportsmanager_spieler.bild_ausblenden,"
. "\n spieler_2.nachname AS nachname_2, spieler_2.vorname AS vorname_2,"
. "\n spieler_2.geschlecht AS geschlecht_2, spieler_2.aktueller_verein_id AS aktueller_verein_id_2,"
. "\n spieler_2.bild_ausblenden AS bild_ausblenden_2,"
. "\n IF(siege > 0 OR unentschieden > 0, ROUND(((siege * 2 + unentschieden)*100) / ((siege + unentschieden + niederlagen)*2)), 0) AS quotient";
if ($spielerstatistik->tabellenwertung == 0){
$query .= "\n , 0 AS leistungsindex";
} else if ($spielerstatistik->tabellenwertung == 1){
$query .= ", IF(spielpunkte_gewonnen > 0 OR spielpunkte_verloren > 0, spielpunkte_gewonnen * spielpunkte_gewonnen * 100 / (spielpunkte_gewonnen + spielpunkte_verloren), 0) AS leistungsindex"; $query .= ", IF(spielpunkte_gewonnen > 0 OR spielpunkte_verloren > 0, spielpunkte_gewonnen * spielpunkte_gewonnen * 100 / (spielpunkte_gewonnen + spielpunkte_verloren), 0) AS leistungsindex";
else if ($spielerstatistik->tabellenwertung == 2) } else if ($spielerstatistik->tabellenwertung == 2){
$query .= ", IF(punkte_gewonnen > 0 OR punkte_verloren > 0, siege * punkte_gewonnen * 10 / (punkte_gewonnen + punkte_verloren), 0) AS leistungsindex"; $query .= ", IF(punkte_gewonnen > 0 OR punkte_verloren > 0, ROUND(siege * punkte_gewonnen * 10 / (punkte_gewonnen + punkte_verloren)), 0) AS leistungsindex";
$query .= "\n FROM #__sportsmanager_bestenliste_punkte" } else if ($spielerstatistik->tabellenwertung == 3){
$query .= "\n , IF(punkte_gewonnen > 0 OR punkte_verloren > 0, siege * 2 + unentschieden + punkte_gewonnen - punkte_verloren, 0) AS leistungsindex";
} else if ($spielerstatistik->tabellenwertung == 4){
$query .= "\n , IF(punkte_gewonnen > 0 OR punkte_verloren > 0, ROUND(punkte_gewonnen*100 / (punkte_gewonnen + punkte_verloren),2), 0) AS leistungsindex";
} else if ($spielerstatistik->tabellenwertung == 5){
$query .= "\n , IF(punkte_gewonnen > 0 OR punkte_verloren > 0, ROUND(spielpunkte_gewonnen / (siege + unentschieden + niederlagen),2), 0) AS leistungsindex";
}
$query .= "\n FROM #__sportsmanager_bestenliste_punkte"
. "\n LEFT JOIN #__sportsmanager_spieler USING (spieler_id)" . "\n LEFT JOIN #__sportsmanager_spieler USING (spieler_id)"
. "\n LEFT JOIN (SELECT team_id, teamname FROM #__sportsmanager_team) AS team ON #__sportsmanager_bestenliste_punkte.team_id = team.team_id"
. "\n LEFT JOIN #__sportsmanager_spieler AS spieler_2 ON spieler_2.spieler_id = spieler_2_id" . "\n LEFT JOIN #__sportsmanager_spieler AS spieler_2 ON spieler_2.spieler_id = spieler_2_id"
. "\n WHERE bestenliste_id = $spielerstatistik->bestenliste_id"; . "\n WHERE bestenliste_id = $spielerstatistik->bestenliste_id"
. "\n AND siege + unentschieden + niederlagen >= $spielerstatistik->min_spiele";
if ($spielerstatistik->tabellenwertung == 0) if ($spielerstatistik->tabellenwertung == 0)
$query .= "\n ORDER BY spielpunkte_gewonnen DESC, spielpunkte_verloren, punkte_gewonnen - punkte_verloren DESC, nachname, vorname"; $query .= "\n ORDER BY spielpunkte_gewonnen DESC, spielpunkte_verloren, punkte_gewonnen - punkte_verloren DESC, nachname, vorname";
else else
$query .= "\n ORDER BY leistungsindex DESC, spielpunkte_gewonnen DESC, spielpunkte_verloren, punkte_gewonnen - punkte_verloren DESC, nachname, vorname"; $query .= "\n ORDER BY leistungsindex DESC, quotient DESC, punkte_gewonnen - punkte_verloren DESC, nachname, vorname";
$spielerstatistik_punkte = loadObjectList($db, $query); $spielerstatistik_punkte = loadObjectList($db, $query);
HTML_sportsmanager::spielerstatistik($spielerstatistik, $spielerstatistik_punkte, FALSE, 0, 0, $details_anzeigen); HTML_sportsmanager::spielerstatistik($spielerstatistik, $spielerstatistik_punkte, FALSE, 0, 0, 0, $details_anzeigen);
} }
administrationFooter(); administrationFooter();
@@ -7411,6 +7463,7 @@ function spielerstatistiken(): void
function spielerstatistik(): void function spielerstatistik(): void
{ {
$db = getDatabase(); $db = getDatabase();
global $params;
$jInput = Factory::getContainer()->get(SiteApplication::class)->input; $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
$id = $jInput->get('id', 0, 'INT'); $id = $jInput->get('id', 0, 'INT');
@@ -7426,7 +7479,10 @@ function spielerstatistik(): void
} }
} }
$details_anzeigen = currentUserHasAccessToDetails(); $details_anzeigen = currentUserHasAccessToDetails();
$filter_min_spiele = $jInput->get('filter_min_spiele', 999, 'INT');
$filter_saison_id = $jInput->get('filter_saison_id', 0, 'INT'); $filter_saison_id = $jInput->get('filter_saison_id', 0, 'INT');
$filter_teams = $jInput->get('filter_teams', 0, 'INT');
if ($filter_saison_id == 0) { if ($filter_saison_id == 0) {
$filter_saison_id = $jInput->cookie->get('sportsmanager_filter_saison_id', 0, 'INT'); $filter_saison_id = $jInput->cookie->get('sportsmanager_filter_saison_id', 0, 'INT');
} }
@@ -7462,29 +7518,80 @@ function spielerstatistik(): void
} }
$spielerstatistik = $rows[0]; $spielerstatistik = $rows[0];
//Mindestzahl an Spielen
$spiele = null;
$spielerstatistik->min_spiele = 0;
if (in_array($spielerstatistik->tabellenwertung, [4, 5])) {
$query = "SELECT siege + unentschieden + niederlagen AS spiele"
. "\n FROM #__sportsmanager_bestenliste_punkte"
. "\n WHERE bestenliste_id = $id"
. "\n ORDER BY spiele DESC;";
$max_spiele = loadResult($db, $query);
if ($max_spiele > 0){
$offset = $max_spiele/10;
$spiele[0] = "Alle zeigen";
for($i = 1; $i <= 10; $i++){
$spiele[round($offset*$i)] = $i*10 . "%";
}
}
$spielerstatistik->max_spiele = $max_spiele;
if ($filter_min_spiele == 999)
$spielerstatistik->min_spiele = round($max_spiele/2);
else
$spielerstatistik->min_spiele = $filter_min_spiele;
}
// Spielerstatistikpunkte ermitteln // Spielerstatistikpunkte ermitteln
$query = "SELECT #__sportsmanager_bestenliste_punkte.*, #__sportsmanager_spieler.nachname, #__sportsmanager_spieler.vorname, #__sportsmanager_spieler.geschlecht, #__sportsmanager_spieler.aktueller_verein_id, #__sportsmanager_spieler.bild_ausblenden, spieler_2.nachname AS nachname_2, spieler_2.vorname AS vorname_2, spieler_2.geschlecht AS geschlecht_2, spieler_2.aktueller_verein_id AS aktueller_verein_id_2, spieler_2.bild_ausblenden AS bild_ausblenden_2"; $query = "SELECT #__sportsmanager_bestenliste_punkte.*, #__sportsmanager_spieler.nachname, #__sportsmanager_spieler.vorname, team.teamname,"
if ($spielerstatistik->tabellenwertung == 1) { . "\n siege + unentschieden + niederlagen AS spiele,"
$query .= ", IF(spielpunkte_gewonnen > 0 OR spielpunkte_verloren > 0, spielpunkte_gewonnen * spielpunkte_gewonnen * 100 / (spielpunkte_gewonnen + spielpunkte_verloren), 0) AS leistungsindex"; . "\n #__sportsmanager_spieler.geschlecht, #__sportsmanager_spieler.aktueller_verein_id, #__sportsmanager_spieler.bild_ausblenden,"
} else if ($spielerstatistik->tabellenwertung == 2) { . "\n spieler_2.nachname AS nachname_2, spieler_2.vorname AS vorname_2, spieler_2.geschlecht AS geschlecht_2,"
$query .= ", IF(punkte_gewonnen > 0 OR punkte_verloren > 0, siege * punkte_gewonnen * 10 / (punkte_gewonnen + punkte_verloren), 0) AS leistungsindex"; . "\n spieler_2.aktueller_verein_id AS aktueller_verein_id_2, spieler_2.bild_ausblenden AS bild_ausblenden_2,"
} . "\n IF(siege > 0 OR unentschieden > 0, ROUND(((siege * 2 + unentschieden)*100) / ((siege + unentschieden + niederlagen)*2)), 0) AS quotient";
if ($spielerstatistik->tabellenwertung == 0){
$query .= "\n , spielpunkte_gewonnen AS leistungsindex";
} else if ($spielerstatistik->tabellenwertung == 1){
$query .= "\n , IF(spielpunkte_gewonnen > 0 OR spielpunkte_verloren > 0, spielpunkte_gewonnen * spielpunkte_gewonnen * 100 / (spielpunkte_gewonnen + spielpunkte_verloren), 0) AS leistungsindex";
} else if ($spielerstatistik->tabellenwertung == 2){
$query .= "\n , IF(punkte_gewonnen > 0 OR punkte_verloren > 0, ROUND(siege * punkte_gewonnen * 10 / (punkte_gewonnen + punkte_verloren)), 0) AS leistungsindex";
} else if ($spielerstatistik->tabellenwertung == 3){
$query .= "\n , IF(punkte_gewonnen > 0 OR punkte_verloren > 0, siege * 2 + unentschieden + punkte_gewonnen - punkte_verloren, 0) AS leistungsindex";
} else if ($spielerstatistik->tabellenwertung == 4){
$query .= "\n , IF(punkte_gewonnen > 0 OR punkte_verloren > 0, ROUND(punkte_gewonnen*100 / (punkte_gewonnen + punkte_verloren),2), 0) AS leistungsindex";
} else if ($spielerstatistik->tabellenwertung == 5){
$query .= "\n , IF(punkte_gewonnen > 0 OR punkte_verloren > 0, ROUND(spielpunkte_gewonnen / (siege + unentschieden + niederlagen),2), 0) AS leistungsindex";
}
$query .= "\n FROM #__sportsmanager_bestenliste_punkte" $query .= "\n FROM #__sportsmanager_bestenliste_punkte"
. "\n LEFT JOIN #__sportsmanager_spieler USING (spieler_id)" . "\n LEFT JOIN #__sportsmanager_spieler USING (spieler_id)"
. "\n LEFT JOIN (SELECT team_id, teamname FROM #__sportsmanager_team) AS team ON #__sportsmanager_bestenliste_punkte.team_id = team.team_id"
. "\n LEFT JOIN #__sportsmanager_spieler AS spieler_2 ON spieler_2.spieler_id = spieler_2_id" . "\n LEFT JOIN #__sportsmanager_spieler AS spieler_2 ON spieler_2.spieler_id = spieler_2_id"
. "\n WHERE bestenliste_id = $spielerstatistik->bestenliste_id"; . "\n WHERE bestenliste_id = $spielerstatistik->bestenliste_id"
. "\n AND siege + unentschieden + niederlagen >= $spielerstatistik->min_spiele";
if ($spielerstatistik->tabellenwertung == 0) { if ($spielerstatistik->tabellenwertung == 0) {
$query .= "\n ORDER BY spielpunkte_gewonnen DESC, spielpunkte_verloren, punkte_gewonnen - punkte_verloren DESC, nachname, vorname"; $query .= "\n ORDER BY spielpunkte_gewonnen DESC, spielpunkte_verloren, punkte_gewonnen - punkte_verloren DESC, nachname, vorname";
} else { } else {
$query .= "\n ORDER BY leistungsindex DESC, spielpunkte_gewonnen DESC, spielpunkte_verloren, punkte_gewonnen - punkte_verloren DESC, nachname, vorname"; $query .= "\n ORDER BY leistungsindex DESC, quotient DESC, spielpunkte_gewonnen - spielpunkte_verloren DESC, punkte_gewonnen - punkte_verloren DESC, nachname, vorname";
} }
$spielerstatistik_punkte = loadObjectList($db, $query); $spielerstatistik_punkte = loadObjectList($db, $query);
//Dropdown teams
$query = "SELECT 0 AS team_id, '" . Text::_('COM_SPORTSMANAGER_SELECT_ALL') . "' AS teamname, 0 AS sort_order"
. "\n UNION"
. "\n SELECT team.team_id, team.teamname, 1 AS sort_order"
. "\n FROM #__sportsmanager_bestenliste_punkte"
. "\n LEFT JOIN (SELECT team_id, teamname FROM #__sportsmanager_team) AS team"
. "\n ON #__sportsmanager_bestenliste_punkte.team_id = team.team_id"
. "\n WHERE bestenliste_id = $spielerstatistik->bestenliste_id"
. "\n GROUP BY team.team_id"
. "\n ORDER BY sort_order, teamname;";
$db->setQuery($query);
$teams = $db->loadObjectList('team_id');
// Vorherige und nächste Spielerstatistik ermitteln // Vorherige und nächste Spielerstatistik ermitteln
$query = "SELECT *" $query = "SELECT *"
. "\n FROM #__sportsmanager_bestenliste" . "\n FROM #__sportsmanager_bestenliste"
. "\n WHERE status > 0" . kategorieFilter("AND kategorie IN") . ($filter_saison_id != 0 ? " AND saison_id = $filter_saison_id" : "") . "\n WHERE status > 0" . kategorieFilter("AND kategorie IN") . ($filter_saison_id != 0 ? " AND saison_id = $filter_saison_id" : "")
. "\n ORDER BY reihenfolge, bezeichnung, kategorie"; . "\n ORDER BY reihenfolge, bezeichnung, kategorie";
$rows = loadObjectList($db, $query); $rows = loadObjectList($db, $query);
$n = count($rows); $n = count($rows);
@@ -7506,7 +7613,8 @@ function spielerstatistik(): void
if (isJson()) { if (isJson()) {
JSON_sportsmanager::spielerstatistik($spielerstatistik_punkte); JSON_sportsmanager::spielerstatistik($spielerstatistik_punkte);
} else { } else {
HTML_sportsmanager::spielerstatistik($spielerstatistik, $spielerstatistik_punkte, TRUE, $vorherige_spielerstatistik_id, $naechste_spielerstatistik_id, $details_anzeigen); HTML_sportsmanager::spielerstatistikenHeader($params->get('titel'), $params->get('beschreibung'), $saisons, $filter_saison_id, $id, $spiele, $spielerstatistik->min_spiele, $teams, $filter_teams);
HTML_sportsmanager::spielerstatistik($spielerstatistik, $spielerstatistik_punkte, TRUE, $filter_teams, $vorherige_spielerstatistik_id, $naechste_spielerstatistik_id, $details_anzeigen);
} }
} }
@@ -21,6 +21,8 @@ function syncGetBearerToken(): ?string
$headers = trim($_SERVER["Authorization"]); $headers = trim($_SERVER["Authorization"]);
} elseif (isset($_SERVER['HTTP_AUTHORIZATION'])) { } elseif (isset($_SERVER['HTTP_AUTHORIZATION'])) {
$headers = trim($_SERVER["HTTP_AUTHORIZATION"]); $headers = trim($_SERVER["HTTP_AUTHORIZATION"]);
} elseif (isset($_SERVER['REDIRECT_HTTP_AUTHORIZATION'])) {
$headers = trim($_SERVER["REDIRECT_HTTP_AUTHORIZATION"]);
} elseif (function_exists('apache_request_headers')) { } elseif (function_exists('apache_request_headers')) {
$requestHeaders = apache_request_headers(); $requestHeaders = apache_request_headers();
$requestHeaders = array_combine(array_map('ucwords', array_keys($requestHeaders)), array_values($requestHeaders)); $requestHeaders = array_combine(array_map('ucwords', array_keys($requestHeaders)), array_values($requestHeaders));
@@ -77,40 +79,44 @@ function syncLogEntry(string $direction, string $trigger, string $status, int $s
*/ */
function syncGetLastStatus(): string function syncGetLastStatus(): string
{ {
$db = getDatabase(); try {
$query = "SELECT * FROM #__sportsmanager_sync_log ORDER BY sync_id DESC LIMIT 1"; $db = getDatabase();
$rows = loadObjectList($db, $query); $query = "SELECT * FROM #__sportsmanager_sync_log ORDER BY sync_id DESC LIMIT 1";
if (count($rows) === 0) { $rows = loadObjectList($db, $query);
if (count($rows) === 0) {
return "Noch nie synchronisiert";
}
$row = $rows[0];
$statusClass = $row->sync_status === 'success' ? 'uk-text-success' : 'uk-text-danger';
$statusText = $row->sync_status === 'success' ? 'Erfolgreich' : 'Fehlgeschlagen';
$directionText = $row->sync_direction === 'push' ? 'Export (Push)' : 'Import (Receive)';
$triggerText = $row->sync_trigger === 'manual' ? 'Manuell' : ($row->sync_trigger === 'cron' ? 'Cron' : 'API');
$stats = "";
if ($row->sync_status === 'success') {
$stats = sprintf(
" (Spieler gesamt: %d, Aktualisiert: %d, Hinzugefügt: %d)",
$row->spieler_count,
$row->spieler_updated,
$row->spieler_added
);
} else {
$stats = " (Fehler: " . htmlspecialchars($row->message) . ")";
}
return sprintf(
"<span class='%s'><strong>%s</strong></span> am %s via %s / %s%s",
$statusClass,
$statusText,
date('d.m.Y H:i:s', strtotime($row->sync_timestamp)),
$directionText,
$triggerText,
$stats
);
} catch (Exception $e) {
return "Noch nie synchronisiert"; return "Noch nie synchronisiert";
} }
$row = $rows[0];
$statusClass = $row->sync_status === 'success' ? 'uk-text-success' : 'uk-text-danger';
$statusText = $row->sync_status === 'success' ? 'Erfolgreich' : 'Fehlgeschlagen';
$directionText = $row->sync_direction === 'push' ? 'Export (Push)' : 'Import (Receive)';
$triggerText = $row->sync_trigger === 'manual' ? 'Manuell' : ($row->sync_trigger === 'cron' ? 'Cron' : 'API');
$stats = "";
if ($row->sync_status === 'success') {
$stats = sprintf(
" (Spieler gesamt: %d, Aktualisiert: %d, Hinzugefügt: %d)",
$row->spieler_count,
$row->spieler_updated,
$row->spieler_added
);
} else {
$stats = " (Fehler: " . htmlspecialchars($row->message) . ")";
}
return sprintf(
"<span class='%s'><strong>%s</strong></span> am %s via %s / %s%s",
$statusClass,
$statusText,
date('d.m.Y H:i:s', strtotime($row->sync_timestamp)),
$directionText,
$triggerText,
$stats
);
} }
/** /**
@@ -131,7 +137,7 @@ function syncExportSpielerCSV(): string
$query .= "\n LEFT JOIN #__sportsmanager_mitglied_von_verein ON #__sportsmanager_spieler.spieler_id = #__sportsmanager_mitglied_von_verein.spieler_id AND #__sportsmanager_mitglied_von_verein.verein_id = #__sportsmanager_spieler.aktueller_verein_id" $query .= "\n LEFT JOIN #__sportsmanager_mitglied_von_verein ON #__sportsmanager_spieler.spieler_id = #__sportsmanager_mitglied_von_verein.spieler_id AND #__sportsmanager_mitglied_von_verein.verein_id = #__sportsmanager_spieler.aktueller_verein_id"
. "\n LEFT JOIN #__sportsmanager_verein ON #__sportsmanager_verein.verein_id = #__sportsmanager_spieler.aktueller_verein_id" . "\n LEFT JOIN #__sportsmanager_verein ON #__sportsmanager_verein.verein_id = #__sportsmanager_spieler.aktueller_verein_id"
. "\n LEFT JOIN #__sportsmanager_veranstalter ON #__sportsmanager_veranstalter.veranstalter_id = #__sportsmanager_verein.veranstalter_id"; . "\n LEFT JOIN #__sportsmanager_veranstalter ON #__sportsmanager_veranstalter.veranstalter_id = #__sportsmanager_verein.veranstalter_id";
$query .= "\n WHERE NOT ISNULL(spielernr) AND spielernr != ''"; $query .= "\n WHERE NOT ISNULL(aktueller_verein_id) AND NOT ISNULL(spielernr) AND spielernr != ''";
$query .= "\n ORDER BY nachname, vorname"; $query .= "\n ORDER BY nachname, vorname";
$rows = loadObjectList($db, $query); $rows = loadObjectList($db, $query);
@@ -272,6 +278,9 @@ function syncPushToDtfb(string $csvData): array
*/ */
function syncReceiveSpielerImport(string $csvData): array function syncReceiveSpielerImport(string $csvData): array
{ {
if (!ini_get('safe_mode'))
set_time_limit(300);
$db = getDatabase(); $db = getDatabase();
$lines = explode("\n", str_replace("\r", "", $csvData)); $lines = explode("\n", str_replace("\r", "", $csvData));
@@ -354,6 +363,8 @@ function syncReceiveSpielerImport(string $csvData): array
$spalte["telefon"] = $index; $spalte["telefon"] = $index;
} else if ($bezeichnung === "mobil") { } else if ($bezeichnung === "mobil") {
$spalte["mobil"] = $index; $spalte["mobil"] = $index;
} else if ($bezeichnung === "lizenz") {
$spalte["lizenz"] = $index;
} else if ($bezeichnung === "austritt" || $bezeichnung === "ausgetreten") { } else if ($bezeichnung === "austritt" || $bezeichnung === "ausgetreten") {
$spalte["ausgetreten"] = $index; $spalte["ausgetreten"] = $index;
} else if ($bezeichnung === "mitgliedsstatus") { } else if ($bezeichnung === "mitgliedsstatus") {
@@ -369,10 +380,11 @@ function syncReceiveSpielerImport(string $csvData): array
} }
$lineIdx++; $lineIdx++;
$session_id = 'sync_recv_' . date('Ymd_His') . '_' . bin2hex(random_bytes(4)); $session_id = date('Y-m-d H:i:s');
$organisations = []; $organisations = [];
$rows_to_insert = []; $rows_to_insert = [];
$lizenz_map = [];
for ($i = $lineIdx; $i < count($lines); $i++) { for ($i = $lineIdx; $i < count($lines); $i++) {
$buffer = trim($lines[$i]); $buffer = trim($lines[$i]);
@@ -444,6 +456,7 @@ function syncReceiveSpielerImport(string $csvData): array
} }
$pseudonym = isset($spalte["pseudonym"]) && isset($daten[$spalte["pseudonym"]]) ? $daten[$spalte["pseudonym"]] : ""; $pseudonym = isset($spalte["pseudonym"]) && isset($daten[$spalte["pseudonym"]]) ? $daten[$spalte["pseudonym"]] : "";
$lizenz = isset($spalte["lizenz"]) && isset($daten[$spalte["lizenz"]]) ? $daten[$spalte["lizenz"]] : "";
$organisation = isset($spalte["organisation"]) && isset($daten[$spalte["organisation"]]) ? $daten[$spalte["organisation"]] : ""; $organisation = isset($spalte["organisation"]) && isset($daten[$spalte["organisation"]]) ? $daten[$spalte["organisation"]] : "";
$vereinssitz = isset($spalte["vereinssitz"]) && isset($daten[$spalte["vereinssitz"]]) ? $daten[$spalte["vereinssitz"]] : ""; $vereinssitz = isset($spalte["vereinssitz"]) && isset($daten[$spalte["vereinssitz"]]) ? $daten[$spalte["vereinssitz"]] : "";
$vereinsname = isset($spalte["vereinsname"]) && isset($daten[$spalte["vereinsname"]]) ? $daten[$spalte["vereinsname"]] : ""; $vereinsname = isset($spalte["vereinsname"]) && isset($daten[$spalte["vereinsname"]]) ? $daten[$spalte["vereinsname"]] : "";
@@ -471,6 +484,10 @@ function syncReceiveSpielerImport(string $csvData): array
'mitgliedsstatus' => $mitgliedsstatus, 'mitgliedsstatus' => $mitgliedsstatus,
'geschlecht' => $geschlecht 'geschlecht' => $geschlecht
]; ];
if (!empty($spielernr) && !empty($lizenz)) {
$lizenz_map[$spielernr] = $lizenz;
}
} }
if (empty($rows_to_insert)) { if (empty($rows_to_insert)) {
@@ -519,10 +536,16 @@ function syncReceiveSpielerImport(string $csvData): array
} }
} }
// Clean up older sync runs staging data (older than 5 minutes) // Clean up older staging data (older than 5 minutes)
$query = "DELETE FROM #__sportsmanager_spieler_import WHERE session_id < SUBTIME(NOW(), '00:05:00') AND session_id LIKE 'sync_recv_%'"; $query = "SELECT DISTINCT session_id"
$db->setQuery($query); . "\n FROM #__sportsmanager_spieler_import"
$db->execute(); . "\n WHERE session_id < SUBTIME(NOW(), '00:05:00')";
$old_sessions = loadObjectList($db, $query);
foreach ($old_sessions as $old_session) {
$query = "DELETE FROM #__sportsmanager_spieler_import WHERE session_id = '" . $db->escape($old_session->session_id) . "'";
$db->setQuery($query);
$db->execute();
}
// Fetch staging players with matching ID // Fetch staging players with matching ID
$query = "SELECT #__sportsmanager_spieler_import.*, #__sportsmanager_spieler.spieler_id" $query = "SELECT #__sportsmanager_spieler_import.*, #__sportsmanager_spieler.spieler_id"
@@ -570,6 +593,7 @@ function syncReceiveSpielerImport(string $csvData): array
$vorname = $t->vorname; $vorname = $t->vorname;
$geschlecht = $t->geschlecht; $geschlecht = $t->geschlecht;
$lizenznr = $t->lizenznr; $lizenznr = $t->lizenznr;
$lizenz = $lizenz_map[$t->spielernr] ?? '';
$pseudonym = $t->pseudonym; $pseudonym = $t->pseudonym;
$vereinsname = $t->vereinsname; $vereinsname = $t->vereinsname;
$vereinssitz = $t->vereinssitz; $vereinssitz = $t->vereinssitz;
@@ -593,6 +617,9 @@ function syncReceiveSpielerImport(string $csvData): array
if (!empty($lizenznr)) { if (!empty($lizenznr)) {
$query .= ",\n lizenznr = '" . $db->escape($lizenznr) . "'"; $query .= ",\n lizenznr = '" . $db->escape($lizenznr) . "'";
} }
if (!empty($lizenz)) {
$query .= ",\n lizenz = '" . $db->escape($lizenz) . "'";
}
if ($geburtsjahr !== null) { if ($geburtsjahr !== null) {
$query .= ",\n geburtsjahr = '" . $db->escape($geburtsjahr) . "'"; $query .= ",\n geburtsjahr = '" . $db->escape($geburtsjahr) . "'";
} }
@@ -1093,17 +1093,17 @@ static function begegnungenAnzeigen($veranstaltung, $modus, $rows, $zeitfenster,
$ergebnis_vorhanden = $row->heim_punkte != null || $row->gast_punkte != null; $ergebnis_vorhanden = $row->heim_punkte != null || $row->gast_punkte != null;
if ($zeitfenster == 0 && $veranstaltung != null) { if ($zeitfenster == 0 && $veranstaltung != null) {
if ($veranstaltung->unterteilung == 0 || $veranstaltung->unterteilung == 1) { if ($veranstaltung->unterteilung == 0 || $veranstaltung->unterteilung == 1) {
if ($row->spieltag > 999) if ($row->spieltag > 999)
$Spieltagname = htmlentities_utf8(Rundenbezeichnung($row->spieltag, $veranstaltung->unterteilung == 0, true)); $Spieltagname = htmlentities_utf8(Rundenbezeichnung($row->spieltag, $veranstaltung->unterteilung == 0, true));
else if ($veranstaltung->unterteilung == 1) else if ($veranstaltung->unterteilung == 1)
$Spieltagname = "Runde " . $row->spieltag; $Spieltagname = "Runde " . $row->spieltag;
else else
$Spieltagname = "Spieltag " . $row->spieltag; $Spieltagname = "Spieltag " . $row->spieltag;
if ($row->spieltag < 999 && $veranstaltung->spieltag_titel_zeigen == 1 && $row->spieltag_titel != "") if ($row->spieltag < 999 && $veranstaltung->spieltag_titel_zeigen == 1 && $row->spieltag_titel != "")
$Spieltagname .= " - " . $row->spieltag_titel; $Spieltagname .= " - " . $row->spieltag_titel;
if ($Spieltagname_Buffer != $Spieltagname || $spielort_name != $row->spielort_name) { if ($Spieltagname_Buffer != $Spieltagname || $spielort_name != $row->spielort_name) {
$spieltag = $row->spieltag; $spieltag = $row->spieltag;
$spielort_name = $row->spielort_name; $spielort_name = $row->spielort_name;
@@ -1844,6 +1844,7 @@ static function tabelleAnzeigen($veranstaltung, $modus, $teams, $spieltag, $spie
$punkte_quotient = 0; $punkte_quotient = 0;
$buchholz1_wert = 0; $buchholz1_wert = 0;
$buchholz2_wert = 0; $buchholz2_wert = 0;
$gesamtpunkte_verloren = 0;
$k = 0; $k = 0;
foreach ($teams as $team) { foreach ($teams as $team) {
?> ?>
@@ -1874,6 +1875,12 @@ static function tabelleAnzeigen($veranstaltung, $modus, $teams, $spieltag, $spie
$buchholz1_wert = $team->buchholz1; $buchholz1_wert = $team->buchholz1;
$buchholz2_wert = $team->buchholz2; $buchholz2_wert = $team->buchholz2;
} }
if (in_array($veranstaltung->tabellenwertung, [7,8,9])){
$gesamtpunkte_verloren = $team->niederlagen;
}
if (in_array($veranstaltung->tabellenwertung, [1,2,3])){
$gesamtpunkte_verloren = $team->niederlagen * 2 + $team->unentschieden;
}
?> ?>
<td> <td>
<?php <?php
@@ -1968,8 +1975,15 @@ static function tabelleAnzeigen($veranstaltung, $modus, $teams, $spieltag, $spie
} }
if ($veranstaltung->tabellenwertung <= 9 || $veranstaltung->tabellenwertung >= 21) { if ($veranstaltung->tabellenwertung <= 9 || $veranstaltung->tabellenwertung >= 21) {
?> ?>
<td nowrap style="text-align: center"><?php echo $gesamtpunkte; ?></td> <td nowrap style="text-align: center">
<?php <?php
if (in_array($veranstaltung->tabellenwertung, [7,8,9,1,2,3]))
echo $gesamtpunkte . ":" . $gesamtpunkte_verloren;
else
echo $gesamtpunkte;
?>
</td>
<?PHP
} }
?> ?>
</tr> </tr>
@@ -3962,7 +3976,7 @@ static function spielverlegungen($titel, $beschreibung, $rows): void
<?php <?php
if (count($rows) > 0) { if (count($rows) > 0) {
$k = 0; $k = 0;
foreach ($rows as $row) { foreach ($rows as $row) {
?> ?>
<tr class="sectiontableentry<?php echo $k + 1; <tr class="sectiontableentry<?php echo $k + 1;
$k = ($k + 1) % 2; ?><?php echo $params->get('pageclass_sfx'); ?>"> $k = ($k + 1) % 2; ?><?php echo $params->get('pageclass_sfx'); ?>">
@@ -3970,7 +3984,7 @@ static function spielverlegungen($titel, $beschreibung, $rows): void
<?php echo htmlentities_utf8($row->Liga); ?> <?php echo htmlentities_utf8($row->Liga); ?>
</td> </td>
<td nowrap style='text-align: center;'> <td nowrap style='text-align: center;'>
<?php <?php
if ($row->Heim == $row->beantragt_von) if ($row->Heim == $row->beantragt_von)
echo "<u>" . htmlentities_utf8($row->Heim) . "</u>"; echo "<u>" . htmlentities_utf8($row->Heim) . "</u>";
else else
@@ -4019,7 +4033,7 @@ static function verbandsorgane($titel, $beschreibung, $rows, $organisation_zeige
</div> </div>
<?php <?php
} }
if (count($rows) > 0) { if (count($rows) > 0) {
?> ?>
<div class="uk-overflow-auto"> <div class="uk-overflow-auto">
@@ -4063,8 +4077,8 @@ static function verbandsorgane($titel, $beschreibung, $rows, $organisation_zeige
</table> </table>
</div> </div>
<?php <?php
} }
?> ?>
<span class="article_seperator<?php echo $params->get('pageclass_sfx'); ?>">&nbsp;</span> <span class="article_seperator<?php echo $params->get('pageclass_sfx'); ?>">&nbsp;</span>
<?php <?php
@@ -4091,9 +4105,9 @@ static function verbandsorganeDetails($titel, $beschreibung, $verbandsorgan, $ro
echo "<div class='uk-overflow-auto'>"; echo "<div class='uk-overflow-auto'>";
echo "<H1>" . $verbandsorgan->verbandsorgan . "</H1>"; echo "<H1>" . $verbandsorgan->verbandsorgan . "</H1>";
echo $verbandsorgan->beschreibung; echo $verbandsorgan->beschreibung;
if (count($rows) > 0) { if (count($rows) > 0) {
?> ?>
<h2><?php echo Text::_('COM_SPORTSMANAGER_MEMBERS'); ?></h2> <h2><?php echo Text::_('COM_SPORTSMANAGER_MEMBERS'); ?></h2>
@@ -4231,7 +4245,7 @@ static function halloffameDetails($titel, $beschreibung, $rows, $halloffame): vo
<strong><?php echo Text::_('COM_SPORTSMANAGER_YEAR'); ?></strong> <strong><?php echo Text::_('COM_SPORTSMANAGER_YEAR'); ?></strong>
</th> </th>
<?php <?php
for ($i = 1; $i <= 3; $i++) { for ($i = 1; $i <= 3; $i++) {
if ($i == 2 && !$halloffame->platz2_zeigen) continue; if ($i == 2 && !$halloffame->platz2_zeigen) continue;
if ($i == 3 && !$halloffame->platz3_zeigen) continue; if ($i == 3 && !$halloffame->platz3_zeigen) continue;
@@ -4690,7 +4704,7 @@ global $params;
if ((count($vereine) == 0) && !benutzerZugriff("spieler_aendern") && !benutzerVeranstalterModerator() && !benutzerVereinModerator()) if ((count($vereine) == 0) && !benutzerZugriff("spieler_aendern") && !benutzerVeranstalterModerator() && !benutzerVereinModerator())
{ {
echo "Sie haben keine Berechtigung auf diesen Datensatz!!!"; echo "Sie haben keine Berechtigung auf diesen Datensatz!!!";
die; die;
} }
@@ -4868,7 +4882,7 @@ if ($bild != null) {
<strong><?php echo count($vereine) == 1 ? Text::_('COM_SPORTSMANAGER_CLUB') : Text::_('COM_SPORTSMANAGER_CLUBS'); ?> <strong><?php echo count($vereine) == 1 ? Text::_('COM_SPORTSMANAGER_CLUB') : Text::_('COM_SPORTSMANAGER_CLUBS'); ?>
:</strong></td> :</strong></td>
<td nowrap style="text-align: right"> <td nowrap style="text-align: right">
<?php <?php
foreach ($vereine as $verein) foreach ($vereine as $verein)
echo htmlentities_utf8($verein->vereinsname) . " (" . htmlentities_utf8($verein->status) . ")<br />"; echo htmlentities_utf8($verein->vereinsname) . " (" . htmlentities_utf8($verein->status) . ")<br />";
?> ?>
@@ -6018,9 +6032,10 @@ static function turniervoranmeldungen($disziplin, $meldungenSpielerSortiert, $me
<?php <?php
} }
static function spielerstatistikenHeader($titel, $beschreibung, $saisons, $filter_saison_id): void static function spielerstatistikenHeader($titel, $beschreibung, $saisons, $filter_saison_id, $id, $spiele, $min_spiele, $teams, $filter_teams): void
{ {
global $params; global $params;
//SpielerstatistikenHeader //SpielerstatistikenHeader
if (!empty($titel)) { ?> if (!empty($titel)) { ?>
<div <div
@@ -6036,17 +6051,18 @@ static function spielerstatistikenHeader($titel, $beschreibung, $saisons, $filte
</div> </div>
<?php <?php
} }
if (count($saisons) > 0) { if (!empty($saisons) || !empty($spiele) || !empty($teams)) {
?> ?>
<form action="<?php echo SportsManagerURL(); ?>" method="post" name="adminForm" id="adminForm"> <form action="<?php echo SportsManagerURL(); ?>" method="post" name="adminForm" id="adminForm">
<div class="uk-overflow-auto"> <div class="uk-overflow-auto">
<table class="uk-table <?php echo $params->get('pageclass_sfx'); ?>"> <table class="uk-table <?php echo $params->get('pageclass_sfx'); ?>">
<tr> <tr>
<td nowrap> <td nowrap>
<?PHP if (!empty($saisons)){ ?>
<label <label
for="filter_saison_id"><?php echo Text::_('COM_SPORTSMANAGER_SEASON'); ?> for="filter_saison_id"><?php echo Text::_('COM_SPORTSMANAGER_SEASON'); ?>
:</label> :</label>
<select class="uk-select uk-form-width-medium" name="filter_saison_id" <select class="uk-select uk-form-width-small" name="filter_saison_id"
id="filter_saison_id" size="1" id="filter_saison_id" size="1"
onChange="document.adminForm.submit();"> onChange="document.adminForm.submit();">
<?php <?php
@@ -6054,6 +6070,36 @@ static function spielerstatistikenHeader($titel, $beschreibung, $saisons, $filte
echo "<option value=\"" . $saison->saison_id . "\" " . ($filter_saison_id == $saison->saison_id ? "selected" : "") . ">" . htmlentities_utf8($saison->saisonbezeichnung) . "</option>"; echo "<option value=\"" . $saison->saison_id . "\" " . ($filter_saison_id == $saison->saison_id ? "selected" : "") . ">" . htmlentities_utf8($saison->saisonbezeichnung) . "</option>";
?> ?>
</select> </select>
<?PHP
}
if (!empty($spiele)){
?>
<label
for="filter_min_matches"><?php echo Text::_('COM_SPORTSMANAGER_MIN_MATCHES'); ?>
:</label>
<select class="uk-select uk-form-width-small" name="filter_min_spiele"
id="filter_min_matches" size="1"
onChange="document.adminForm.task.value='spielerstatistik'; document.adminForm.submit();">
<?php
foreach ($spiele as $key => $value)
echo "<option value=\"" . $key . "\" " . ($min_spiele == $key ? "selected" : "") . ">" . htmlentities_utf8($value) . "</option>";
?>
</select>
<?PHP }
if (!empty($teams)){
?>
<label
for="filter_teams"><?php echo Text::_('COM_SPORTSMANAGER_TEAM'); ?>
:</label>
<select class="uk-select uk-form-width-medium" name="filter_teams"
id="filter_teams" size="1" style="width: 300px;"
onChange="document.adminForm.task.value='spielerstatistik'; document.adminForm.submit();">
<?php
foreach ($teams as $key => $value)
echo "<option value=\"" . $key . "\" " . ($filter_teams == $key ? "selected" : "") . ">" . htmlentities_utf8($value->teamname) . "</option>";
?>
</select>
<?PHP } ?>
<input type="submit" name="ok" <input type="submit" name="ok"
value="<?php echo Text::_('COM_SPORTSMANAGER_GO'); ?>" value="<?php echo Text::_('COM_SPORTSMANAGER_GO'); ?>"
class="button uk-button uk-button-primary"/> class="button uk-button uk-button-primary"/>
@@ -6062,12 +6108,13 @@ static function spielerstatistikenHeader($titel, $beschreibung, $saisons, $filte
</table> </table>
</div> </div>
<input type="hidden" name="task" value="spielerstatistiken"/> <input type="hidden" name="task" value="spielerstatistiken"/>
<input type="hidden" name="id" value="<?PHP echo $id; ?>"/>
</form> </form>
<?php <?php
} }
} }
static function spielerstatistik($spielerstatistik, $spielerstatistik_punkte, $allein_angezeigt, $vorherige_spielerstatistik_id, $naechste_spielerstatistik_id, $details_anzeigen): void static function spielerstatistik($spielerstatistik, $spielerstatistik_punkte, $allein_angezeigt, $filter_teams, $vorherige_spielerstatistik_id, $naechste_spielerstatistik_id, $details_anzeigen): void
{ {
global $params; global $params;
if ($allein_angezeigt) { if ($allein_angezeigt) {
@@ -6190,45 +6237,45 @@ static function spielerstatistik($spielerstatistik, $spielerstatistik_punkte, $a
if ($spielerstatistik->tabellenwertung > 0) { if ($spielerstatistik->tabellenwertung > 0) {
?> ?>
<th nowrap <th nowrap
title="<?php echo Text::_('COM_SPORTSMANAGER_PERFORMANCE_INDEX'); ?>"> title="<?php echo Text::_('COM_SPORTSMANAGER_PERFORMANCE_INDEX' . $spielerstatistik->tabellenwertung); ?>">
<strong><?php echo Text::_('COM_SPORTSMANAGER_PERFORMANCE_INDEX_SHORTCUT'); ?></strong> <strong><?php echo Text::_('COM_SPORTSMANAGER_PERFORMANCE_SHORT' . $spielerstatistik->tabellenwertung); ?></strong>
</th> </th>
<?php <?php
} else {
?>
<th nowrap
title="<?php echo Text::_('COM_SPORTSMANAGER_POINTS'); ?>">
<strong><?php echo Text::_('COM_SPORTSMANAGER_POINTS_SHORTCUT'); ?>
+</strong></th>
<th nowrap
title="<?php echo Text::_('COM_SPORTSMANAGER_POINTS'); ?>">
<strong><?php echo Text::_('COM_SPORTSMANAGER_POINTS_SHORTCUT'); ?>
-</strong></th>
<?php
} }
?> ?>
<th nowrap><strong><?php echo Text::_('COM_SPORTSMANAGER_GAMES'); ?></strong></th>
<th nowrap
title="<?php echo Text::_('COM_SPORTSMANAGER_GAME_POINTS'); ?>
<?php echo Text::_('COM_SPORTSMANAGER_WON'); ?>">
<strong><?php echo Text::_('COM_SPORTSMANAGER_GAME_POINTS_SHORTCUT'); ?>
+</strong></th>
<th nowrap
title="<?php echo Text::_('COM_SPORTSMANAGER_GAME_POINTS'); ?>
<?php echo Text::_('COM_SPORTSMANAGER_LOST'); ?>">
<strong><?php echo Text::_('COM_SPORTSMANAGER_GAME_POINTS_SHORTCUT'); ?>
-</strong></th>
<th nowrap
title="<?php echo Text::_('COM_SPORTSMANAGER_POINTS'); ?>
<?php echo Text::_('COM_SPORTSMANAGER_WON'); ?>">
<strong><?php echo Text::_('COM_SPORTSMANAGER_POINTS_SHORTCUT'); ?> +</strong>
</th>
<th nowrap
title="<?php echo Text::_('COM_SPORTSMANAGER_POINTS'); ?>
<?php echo Text::_('COM_SPORTSMANAGER_LOST'); ?>">
<strong><?php echo Text::_('COM_SPORTSMANAGER_POINTS_SHORTCUT'); ?> -</strong>
</th>
<th nowrap <th nowrap
title="<?php echo Text::_('COM_SPORTSMANAGER_RATE'); ?>"> title="<?php echo Text::_('COM_SPORTSMANAGER_RATE'); ?>">
<strong><?php echo Text::_('COM_SPORTSMANAGER_RATE_SHORTCUT'); ?></strong> <strong><?php echo Text::_('COM_SPORTSMANAGER_RATE_SHORTCUT'); ?></strong>
</th> </th>
<th nowrap><strong><?php echo Text::_('COM_SPORTSMANAGER_GAMES'); ?></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>
<th nowrap title="<?php echo Text::_('COM_SPORTSMANAGER_DRAWS'); ?>"> <th nowrap title="<?php echo Text::_('COM_SPORTSMANAGER_DRAWS'); ?>">
<strong><?php echo Text::_('COM_SPORTSMANAGER_DRAWS_SHORTCUT'); ?></strong></th> <strong><?php echo Text::_('COM_SPORTSMANAGER_DRAWS_SHORTCUT'); ?></strong>
</th>
<th nowrap title="<?php echo Text::_('COM_SPORTSMANAGER_DEFEATS'); ?>"> <th nowrap title="<?php echo Text::_('COM_SPORTSMANAGER_DEFEATS'); ?>">
<strong><?php echo Text::_('COM_SPORTSMANAGER_DEFEATS_SHORTCUT'); ?></strong> <strong><?php echo Text::_('COM_SPORTSMANAGER_DEFEATS_SHORTCUT'); ?></strong>
</th> </th>
<th nowrap
title="<?php echo Text::_('COM_SPORTSMANAGER_GOALS'); ?>">
<strong><?php echo Text::_('COM_SPORTSMANAGER_GOALS_SHORTCUT'); ?> +</strong>
</th>
<th nowrap
title="<?php echo Text::_('COM_SPORTSMANAGER_GOALS'); ?>">
<strong><?php echo Text::_('COM_SPORTSMANAGER_GOALS_SHORTCUT'); ?> -</strong>
</th>
</tr> </tr>
<?php <?php
@@ -6236,11 +6283,23 @@ static function spielerstatistik($spielerstatistik, $spielerstatistik_punkte, $a
$tatsaechlicher_platz = 1; $tatsaechlicher_platz = 1;
$k = 0; $k = 0;
foreach ($spielerstatistik_punkte as $row) { foreach ($spielerstatistik_punkte as $row) {
if ($platz == 1 || $spielpunkte_gewonnen != $row->spielpunkte_gewonnen || $spielpunkte_verloren != $row->spielpunkte_verloren || ($punkte_gewonnen - $punkte_verloren) != ($row->punkte_gewonnen - $row->punkte_verloren)) if ($platz == 1
|| $spielpunkte_gewonnen != $row->spielpunkte_gewonnen
|| $spielpunkte_verloren != $row->spielpunkte_verloren
|| ($punkte_gewonnen - $punkte_verloren) != ($row->punkte_gewonnen - $row->punkte_verloren))
$tatsaechlicher_platz = $platz; $tatsaechlicher_platz = $platz;
$spielpunkte_gewonnen = $row->spielpunkte_gewonnen;
$spielpunkte_verloren = $row->spielpunkte_verloren;
$punkte_gewonnen = $row->punkte_gewonnen;
$punkte_verloren = $row->punkte_verloren;
$platz++;
if (!$allein_angezeigt && $tatsaechlicher_platz > 3) if (!$allein_angezeigt && $tatsaechlicher_platz > 3)
break; break;
if (!empty($filter_teams) && $row->team_id != $filter_teams)
continue;
?> ?>
<tr class="sectiontableentry<?php echo $k + 1; <tr class="sectiontableentry<?php echo $k + 1;
$k = ($k + 1) % 2; ?><?php echo $params->get('pageclass_sfx'); ?>"> $k = ($k + 1) % 2; ?><?php echo $params->get('pageclass_sfx'); ?>">
@@ -6270,6 +6329,8 @@ static function spielerstatistik($spielerstatistik, $spielerstatistik_punkte, $a
<?php <?php
} }
} }
if (!empty($row->teamname))
echo "<br>" . htmlentities_utf8($row->teamname);
?> ?>
</td> </td>
<td> <td>
@@ -6293,32 +6354,27 @@ static function spielerstatistik($spielerstatistik, $spielerstatistik_punkte, $a
if ($spielerstatistik->tabellenwertung != 0) { if ($spielerstatistik->tabellenwertung != 0) {
?> ?>
<td nowrap style="text-align: center"> <td nowrap style="text-align: center">
<strong><?php echo round($row->leistungsindex); ?></strong> <strong><?php echo $row->leistungsindex; ?></strong>
</td> </td>
<?php <?php
} else {
?>
<td nowrap style="text-align: center">
<strong><?php echo $row->spielpunkte_gewonnen; ?></strong>
</td>
<td nowrap style="text-align: center"><?php echo $row->spielpunkte_verloren; ?></td>
<?php
} }
$spiele_gesamt = $row->siege + $row->niederlagen + $row->unentschieden;
?> ?>
<td nowrap <td nowrap style="text-align: center"><?php echo $row->quotient . " %"; ?></td>
style="text-align: center"><?php echo $row->siege + $row->niederlagen + $row->unentschieden; ?></td> <td nowrap style="text-align: center"><?php echo $row->siege + $row->niederlagen + $row->unentschieden; ?></td>
<td nowrap
style="text-align: center"><?php echo ($spielerstatistik->tabellenwertung == 0 ? "<strong>" : "") . $row->spielpunkte_gewonnen . ($spielerstatistik->tabellenwertung == 0 ? "<strong>" : ""); ?></strong></td>
<td nowrap
style="text-align: center"><?php echo $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_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>
<td nowrap style="text-align: center"><?php echo $row->punkte_gewonnen; ?></td>
<td nowrap style="text-align: center"><?php echo $row->punkte_verloren; ?></td>
</tr> </tr>
<?php <?php
$spielpunkte_gewonnen = $row->spielpunkte_gewonnen;
$spielpunkte_verloren = $row->spielpunkte_verloren;
$punkte_gewonnen = $row->punkte_gewonnen;
$punkte_verloren = $row->punkte_verloren;
$platz++;
} }
?> ?>
</table> </table>
@@ -2913,7 +2913,7 @@ class HTML_sportsmanager_admin
<span class="article_seperator<?php echo $params->get('pageclass_sfx'); ?>">&nbsp;</span> <span class="article_seperator<?php echo $params->get('pageclass_sfx'); ?>">&nbsp;</span>
<?php <?php
} }
if (!empty($nichtAktualisierteUnterschiede)){ if (!empty($nichtAktualisierteUnterschiede)){
?> ?>
<table class="contentpaneopen<?php echo $params->get('pageclass_sfx'); ?>"> <table class="contentpaneopen<?php echo $params->get('pageclass_sfx'); ?>">
@@ -3566,7 +3566,7 @@ class HTML_sportsmanager_admin
<?php <?php
} }
static function adminVereine($rows, $organisationAnzeigen): void static function adminVereine($rows, $organisationAnzeigen, $ansprechpartner): void
{ {
global $params; global $params;
@@ -3626,6 +3626,8 @@ class HTML_sportsmanager_admin
<th nowrap><strong><?php echo Text::_('COM_SPORTSMANAGER_MEMBERS'); ?></strong></th> <th nowrap><strong><?php echo Text::_('COM_SPORTSMANAGER_MEMBERS'); ?></strong></th>
<th nowrap><strong><?php echo Text::_('COM_SPORTSMANAGER_TEAM_SEAT'); ?></strong></th> <th nowrap><strong><?php echo Text::_('COM_SPORTSMANAGER_TEAM_SEAT'); ?></strong></th>
<th nowrap><strong><?php echo Text::_('COM_SPORTSMANAGER_BEATEN'); ?></strong></th> <th nowrap><strong><?php echo Text::_('COM_SPORTSMANAGER_BEATEN'); ?></strong></th>
<th></th>
<th></th>
</tr> </tr>
<?php <?php
@@ -3688,7 +3690,15 @@ class HTML_sportsmanager_admin
</td> </td>
<td nowrap><?php if (!empty($row->vereinssitz)) echo htmlentities_utf8($row->vereinssitz . (!empty($row->vereinssitz_ortsteil) ? ("-" . $row->vereinssitz_ortsteil) : "")); ?></td> <td nowrap><?php if (!empty($row->vereinssitz)) echo htmlentities_utf8($row->vereinssitz . (!empty($row->vereinssitz_ortsteil) ? ("-" . $row->vereinssitz_ortsteil) : "")); ?></td>
<td nowrap><?php echo $row->ausgetreten ? Text::_('COM_SPORTSMANAGER_YES') : Text::_('COM_SPORTSMANAGER_NO'); ?></td> <td nowrap><?php echo $row->ausgetreten ? Text::_('COM_SPORTSMANAGER_YES') : Text::_('COM_SPORTSMANAGER_NO'); ?></td>
<td nowrap><small><a <td>
<?PHP
if (!empty($ansprechpartner[$row->verein_id])){
$emails = implode(';', $ansprechpartner[$row->verein_id]);
echo "<a href='mailto:" . $emails . "?subject=" . $row->vereinsname . "'>E-Mail</a>&nbsp;";
}
?>
</td>
<td nowrap><small><a
href="<?php echo SportsManagerURL('&task=admin_verein_remove&id=' . $row->verein_id); ?>" href="<?php echo SportsManagerURL('&task=admin_verein_remove&id=' . $row->verein_id); ?>"
onclick="return confirm('<?php echo Text::_('COM_SPORTSMANAGER_WANT_REALLY_REMOVE'); ?>');" onclick="return confirm('<?php echo Text::_('COM_SPORTSMANAGER_WANT_REALLY_REMOVE'); ?>');"
title="<?php echo Text::_('COM_SPORTSMANAGER_REMOVE'); ?>">X</a></small></td> title="<?php echo Text::_('COM_SPORTSMANAGER_REMOVE'); ?>">X</a></small></td>
@@ -4861,6 +4871,29 @@ class HTML_sportsmanager_admin
</select> </select>
</td> </td>
</tr> </tr>
<tr>
<td nowrap style="width: 20%; text-align: right">
<label
for="games_in_statistik"><?php echo Text::_('COM_SPORTSMANAGER_GAMES_IN_STATISTIK'); ?>
:</label>
</td>
<td nowrap>
<select class="uk-select uk-form-width-medium" name="spiele_in_spielerstatistik"
id="games_in_statistik" size="1">
<option value="0"><?php echo Text::_('COM_SPORTSMANAGER_GAMES_IN_STATISTIK_ALL'); ?></option>
<?php
for ($i = 1; $i <= 36; $i++) {
echo "<option value=\"" . $i . "\"" . ($row != null ? ($row->spiele_in_spielerstatistik == $i ? " selected" : "") : "") . ">" . $i . "</option>";
}
?>
</select>
</td>
</tr>
<tr> <tr>
<td nowrap style="width: 20%; text-align: right"> <td nowrap style="width: 20%; text-align: right">
<label for="status"><?php echo Text::_('COM_SPORTSMANAGER_ACTIVE'); ?> <label for="status"><?php echo Text::_('COM_SPORTSMANAGER_ACTIVE'); ?>
@@ -6389,8 +6422,13 @@ class HTML_sportsmanager_admin
<select class="uk-select uk-form-width-large" name="tabellenwertung" <select class="uk-select uk-form-width-large" name="tabellenwertung"
id="table_evaluation" size="1"> id="table_evaluation" size="1">
<?php <?php
$typ = array(Text::_('COM_SPORTSMANAGER_POINTS_WON_LOST_DIFFERENCE'), Text::_('COM_SPORTSMANAGER_PERFORMANCE_INDEX'), Text::_('COM_SPORTSMANAGER_PERFORMANCE_INDEX2')); $typ = array(0 => Text::_('COM_SPORTSMANAGER_PERFORMANCE_INDEX0'),
for ($i = 0; $i <= 2; $i++) { 1 => Text::_('COM_SPORTSMANAGER_PERFORMANCE_INDEX1'),
2 => Text::_('COM_SPORTSMANAGER_PERFORMANCE_INDEX2'),
3 => Text::_('COM_SPORTSMANAGER_PERFORMANCE_INDEX3'),
4 => Text::_('COM_SPORTSMANAGER_PERFORMANCE_INDEX4'),
5 => Text::_('COM_SPORTSMANAGER_PERFORMANCE_INDEX5'));
for ($i = 0; $i <= 5; $i++) {
echo "<option value=\"" . $i . "\"" . ($spielerstatistik != null ? ($spielerstatistik->tabellenwertung == $i ? " selected" : "") : "") . ">" . htmlentities_utf8($typ[$i]) . "</option>"; echo "<option value=\"" . $i . "\"" . ($spielerstatistik != null ? ($spielerstatistik->tabellenwertung == $i ? " selected" : "") : "") . ">" . htmlentities_utf8($typ[$i]) . "</option>";
} }
?> ?>
@@ -6917,12 +6955,12 @@ class HTML_sportsmanager_admin
<?php <?php
} }
static function adminMailto($to,$cc,$bcc,$subject,$message,$backtomail,$backtosender,$vorlage=''): void static function adminMailto($to,$cc,$bcc,$subject,$message,$backtomail,$backtosender,$vorlage=''): void
{ {
global $params; global $params;
?> ?>
<div class="componentheading<?php echo $params->get('pageclass_sfx'); ?>"><?php echo Text::_('COM_SPORTSMANAGER_EMAIL_SEND'); ?></div> <div class="componentheading<?php echo $params->get('pageclass_sfx'); ?>"><?php echo Text::_('COM_SPORTSMANAGER_EMAIL_SEND'); ?></div>
<form id="mailForm"> <form id="mailForm">
<div class="uk-overflow-auto"> <div class="uk-overflow-auto">
<table style="width: 100%"> <table style="width: 100%">
@@ -6971,8 +7009,8 @@ class HTML_sportsmanager_admin
<input type="submit" name="joomlamail" value="<?php echo Text::_('COM_SPORTSMANAGER_EMAIL_SEND'); ?>&nbsp;(joomla)" class="button"/> <input type="submit" name="joomlamail" value="<?php echo Text::_('COM_SPORTSMANAGER_EMAIL_SEND'); ?>&nbsp;(joomla)" class="button"/>
<?php if ($vorlage->name == "Ordnungsstrafe"){ ?> <?php if ($vorlage->name == "Ordnungsstrafe"){ ?>
<input type="submit" name="cancel" value="<?php echo Text::_('COM_SPORTSMANAGER_EDIT_DISCIPLINARY_FINE'); ?>" class="button" <input type="submit" name="cancel" value="<?php echo Text::_('COM_SPORTSMANAGER_EDIT_DISCIPLINARY_FINE'); ?>" class="button"
onclick="const t = this.form.task; t.value = 'admin_ordnungsstrafe_edit';"/> onclick="const t = this.form.task; t.value = 'admin_ordnungsstrafe_edit';"/>
<input type="hidden" name="id" value="<?php echo $vorlage->id; ?>"/> <input type="hidden" name="id" value="<?php echo $vorlage->id; ?>"/>
<?php } ?> <?php } ?>
<input type="submit" name="cancel" value="<?php echo Text::_('COM_SPORTSMANAGER_BACK'); ?>" class="button" <input type="submit" name="cancel" value="<?php echo Text::_('COM_SPORTSMANAGER_BACK'); ?>" class="button"
onclick="const t = this.form.task; t.value = '<?php echo $backtosender; ?>';"/> onclick="const t = this.form.task; t.value = '<?php echo $backtosender; ?>';"/>
@@ -7035,7 +7073,7 @@ class HTML_sportsmanager_admin
<div <div
class="componentheading<?php echo $params->get('pageclass_sfx'); ?>"><?php echo Text::_('COM_SPORTSMANAGER_DISCIPLINARY_FINES'); ?> class="componentheading<?php echo $params->get('pageclass_sfx'); ?>"><?php echo Text::_('COM_SPORTSMANAGER_DISCIPLINARY_FINES'); ?>
: <?php echo Text::_('COM_SPORTSMANAGER_JOOMLA_MANAGEMENT'); ?></div> : <?php echo Text::_('COM_SPORTSMANAGER_JOOMLA_MANAGEMENT'); ?></div>
<table style="border-spacing: 10px"> <table style="border-spacing: 10px">
<tr> <tr>
<td nowrap><a <td nowrap><a
@@ -7056,7 +7094,7 @@ class HTML_sportsmanager_admin
</tr> </tr>
<?php } ?> <?php } ?>
</table> </table>
<?php if (count($saisons) > 0) { <?php if (count($saisons) > 0) {
?> ?>
<form action="<?php echo SportsManagerURL(); ?>" method="post" name="adminForm" id="adminForm"> <form action="<?php echo SportsManagerURL(); ?>" method="post" name="adminForm" id="adminForm">
@@ -7265,12 +7303,12 @@ class HTML_sportsmanager_admin
size="1" style='height: 34px; width: 200px;' readonly size="1" style='height: 34px; width: 200px;' readonly
value="<?php echo (empty($row->versendedatum) ? '' : $row->versendedatum); ?>"/> value="<?php echo (empty($row->versendedatum) ? '' : $row->versendedatum); ?>"/>
<?php if ($row != null){ ?> <?php if ($row != null){ ?>
<input type="submit" name="set_versender" <input type="submit" name="set_versender"
value="<?php echo (empty($row->versendedatum) ? 'set' : 'reset'); ?>" class="button"/> value="<?php echo (empty($row->versendedatum) ? 'set' : 'reset'); ?>" class="button"/>
<?php } ?> <?php } ?>
</td> </td>
</tr> </tr>
<tr> <tr>
<td nowrap style="width: 20%; text-align: right"> <td nowrap style="width: 20%; text-align: right">
<label <label
@@ -7288,7 +7326,7 @@ class HTML_sportsmanager_admin
size="1" style='height: 34px; width: 200px;' readonly size="1" style='height: 34px; width: 200px;' readonly
value="<?php echo (empty($row->rechnungsdatum) ? '' : $row->rechnungsdatum); ?>"/> value="<?php echo (empty($row->rechnungsdatum) ? '' : $row->rechnungsdatum); ?>"/>
<?php if ($row != null && !empty($row->versendedatum)){ ?> <?php if ($row != null && !empty($row->versendedatum)){ ?>
<input type="submit" name="set_rechnung" <input type="submit" name="set_rechnung"
value="<?php echo (empty($row->rechnungsdatum) ? 'set' : 'reset'); ?>" class="button"/> value="<?php echo (empty($row->rechnungsdatum) ? 'set' : 'reset'); ?>" class="button"/>
<?php } ?> <?php } ?>
</td> </td>
@@ -7326,8 +7364,8 @@ class HTML_sportsmanager_admin
<input type="submit" name="save" value="<?php echo Text::_('COM_SPORTSMANAGER_SAVE'); ?>" class="button"/> <input type="submit" name="save" value="<?php echo Text::_('COM_SPORTSMANAGER_SAVE'); ?>" class="button"/>
<?php if ($row != null && benutzerZugriff("benutzerVeranstalterModerator")){ ?> <?php if ($row != null && benutzerZugriff("benutzerVeranstalterModerator")){ ?>
<input type="submit" name="cancel" value="<?php echo Text::_('COM_SPORTSMANAGER_SEND_DISCIPLINARY_FINE'); ?>" class="button" <input type="submit" name="cancel" value="<?php echo Text::_('COM_SPORTSMANAGER_SEND_DISCIPLINARY_FINE'); ?>" class="button"
onclick="const t = this.form.task; t.value = 'admin_ordnungsstrafe_mailen';"/> onclick="const t = this.form.task; t.value = 'admin_ordnungsstrafe_mailen';"/>
<input type="hidden" name="id" value="<?php echo $row->ordnungsstrafen_id; ?>"/> <input type="hidden" name="id" value="<?php echo $row->ordnungsstrafen_id; ?>"/>
<?php } ?> <?php } ?>
<input type="submit" name="cancel" value="<?php echo Text::_('COM_SPORTSMANAGER_CANCEL'); ?>" class="button"/> <input type="submit" name="cancel" value="<?php echo Text::_('COM_SPORTSMANAGER_CANCEL'); ?>" class="button"/>
<input type="hidden" name="task" value="admin_ordnungsstrafe_save"/> <input type="hidden" name="task" value="admin_ordnungsstrafe_save"/>
@@ -7349,7 +7387,7 @@ class HTML_sportsmanager_admin
<div <div
class="componentheading<?php echo $params->get('pageclass_sfx'); ?>"><?php echo Text::_('COM_SPORTSMANAGER_MATCH_RESCHEDULINGS'); ?> class="componentheading<?php echo $params->get('pageclass_sfx'); ?>"><?php echo Text::_('COM_SPORTSMANAGER_MATCH_RESCHEDULINGS'); ?>
: <?php echo Text::_('COM_SPORTSMANAGER_JOOMLA_MANAGEMENT'); ?></div> : <?php echo Text::_('COM_SPORTSMANAGER_JOOMLA_MANAGEMENT'); ?></div>
<table style="border-spacing: 10px"> <table style="border-spacing: 10px">
<tr> <tr>
<td nowrap><a <td nowrap><a
@@ -7409,13 +7447,13 @@ class HTML_sportsmanager_admin
<?php <?php
if (count($rows) > 0) { if (count($rows) > 0) {
$k = 0; $k = 0;
foreach ($rows as $row) { foreach ($rows as $row) {
?> ?>
<tr class="sectiontableentry<?php echo $k + 1; <tr class="sectiontableentry<?php echo $k + 1;
$k = ($k + 1) % 2; ?><?php echo $params->get('pageclass_sfx'); ?>"> $k = ($k + 1) % 2; ?><?php echo $params->get('pageclass_sfx'); ?>">
<td nowrap style='text-align: center;'> <td nowrap style='text-align: center;'>
<a href="<?php <a href="<?php
echo SportsManagerURL('&task=admin_spielverlegung_edit&begegnung_id=' . $row->begegnung_id); echo SportsManagerURL('&task=admin_spielverlegung_edit&begegnung_id=' . $row->begegnung_id);
?>"> ?>">
<?php echo $row->begegnung_id; ?> <?php echo $row->begegnung_id; ?>
</a> </a>
@@ -7424,7 +7462,7 @@ class HTML_sportsmanager_admin
<?php echo htmlentities_utf8($row->Liga); ?> <?php echo htmlentities_utf8($row->Liga); ?>
</td> </td>
<td nowrap style='text-align: center;'> <td nowrap style='text-align: center;'>
<?php <?php
if ($row->Heim == $row->beantragt_von) if ($row->Heim == $row->beantragt_von)
echo "<u>" . htmlentities_utf8($row->Heim) . "</u>"; echo "<u>" . htmlentities_utf8($row->Heim) . "</u>";
else else
@@ -7465,7 +7503,7 @@ class HTML_sportsmanager_admin
</div> </div>
<span class="article_seperator<?php echo $params->get('pageclass_sfx'); ?>">&nbsp;</span> <span class="article_seperator<?php echo $params->get('pageclass_sfx'); ?>">&nbsp;</span>
<?php <?php
} }
static function adminEditSpielverlegung($row,$teams): void static function adminEditSpielverlegung($row,$teams): void
{ {
@@ -7623,7 +7661,7 @@ class HTML_sportsmanager_admin
setTimeout(() => { t.value = 'admin_verbandsorgane'; }, 100);"/> setTimeout(() => { t.value = 'admin_verbandsorgane'; }, 100);"/>
<input type="hidden" name="task" value="admin_verbandsorgane"/> <input type="hidden" name="task" value="admin_verbandsorgane"/>
</form> </form>
<?php <?php
} }
} }
@@ -7949,7 +7987,7 @@ static function adminVerbandsorganMitglieder($rows,$verbandsorgan): void
</td> </td>
</tr> </tr>
</table> </table>
</div> </div>
<input type="submit" name="save" value="<?php echo Text::_('COM_SPORTSMANAGER_SAVE'); ?>" class="button"/> <input type="submit" name="save" value="<?php echo Text::_('COM_SPORTSMANAGER_SAVE'); ?>" class="button"/>
<input type="submit" name="cancel" value="<?php echo Text::_('COM_SPORTSMANAGER_CANCEL'); ?>" class="button"/> <input type="submit" name="cancel" value="<?php echo Text::_('COM_SPORTSMANAGER_CANCEL'); ?>" class="button"/>
@@ -7959,7 +7997,7 @@ static function adminVerbandsorganMitglieder($rows,$verbandsorgan): void
</form> </form>
<?php <?php
} }
static function adminHalloffame($rows): void static function adminHalloffame($rows): void
{ {
global $params; global $params;
@@ -8166,7 +8204,7 @@ static function adminVerbandsorganMitglieder($rows,$verbandsorgan): void
<strong><?php echo Text::_('COM_SPORTSMANAGER_YEAR'); ?></strong> <strong><?php echo Text::_('COM_SPORTSMANAGER_YEAR'); ?></strong>
</th> </th>
<?php <?php
for ($i = 1; $i <= 3; $i++) { for ($i = 1; $i <= 3; $i++) {
if ($i == 2 && !$halloffame->platz2_zeigen) continue; if ($i == 2 && !$halloffame->platz2_zeigen) continue;
if ($i == 3 && !$halloffame->platz3_zeigen) continue; if ($i == 3 && !$halloffame->platz3_zeigen) continue;
@@ -8324,8 +8362,8 @@ static function adminVerbandsorganMitglieder($rows,$verbandsorgan): void
</select> </select>
</td> </td>
</tr> </tr>
<?php <?php
for ($p = 1; $p <= 3; $p++){ for ($p = 1; $p <= 3; $p++){
if ($halloffame->spielform == 1){ if ($halloffame->spielform == 1){
$index_vereinid = "verein_id_" . $p; $index_vereinid = "verein_id_" . $p;
$index_team = "teamname_" . $p; $index_team = "teamname_" . $p;
@@ -8349,9 +8387,9 @@ static function adminVerbandsorganMitglieder($rows,$verbandsorgan): void
value="<?php echo $row != null ? htmlentities_utf8($row->$index_team) : ''; ?>"/> value="<?php echo $row != null ? htmlentities_utf8($row->$index_team) : ''; ?>"/>
</td> </td>
</tr> </tr>
<?php <?php
} }
if ($halloffame->spielform == 2 || $halloffame->spielform == 3){ if ($halloffame->spielform == 2 || $halloffame->spielform == 3){
$index_spieler1id = "spieler1_id_" . $p; $index_spieler1id = "spieler1_id_" . $p;
$index_spieler1 = "spieler1_" . $p; $index_spieler1 = "spieler1_" . $p;
@@ -8391,15 +8429,15 @@ static function adminVerbandsorganMitglieder($rows,$verbandsorgan): void
<?PHP } ?> <?PHP } ?>
</td> </td>
</tr> </tr>
<?php <?php
} }
} }
?> ?>
<tr> <tr>
<td nowrap colspan="2">&nbsp;</td> <td nowrap colspan="2">&nbsp;</td>
</tr> </tr>
</table> </table>
</div> </div>
<input type="submit" name="save" value="<?php echo Text::_('COM_SPORTSMANAGER_SAVE'); ?>" class="button"/> <input type="submit" name="save" value="<?php echo Text::_('COM_SPORTSMANAGER_SAVE'); ?>" class="button"/>
<input type="submit" name="cancel" value="<?php echo Text::_('COM_SPORTSMANAGER_CANCEL'); ?>" class="button"/> <input type="submit" name="cancel" value="<?php echo Text::_('COM_SPORTSMANAGER_CANCEL'); ?>" class="button"/>
@@ -8409,7 +8447,7 @@ static function adminVerbandsorganMitglieder($rows,$verbandsorgan): void
</form> </form>
<?php <?php
} }
static function adminRegelwerke($rows): void static function adminRegelwerke($rows): void
{ {
global $params; global $params;
@@ -9358,7 +9396,7 @@ static function adminVerbandsorganMitglieder($rows,$verbandsorgan): void
</select> </select>
</td> </td>
</tr> </tr>
<?php <?php
if (!einstellungswert("ordnungsstrafen_verwenden")) if (!einstellungswert("ordnungsstrafen_verwenden"))
echo "<tr style='display: none;'>"; echo "<tr style='display: none;'>";
else else
@@ -9711,7 +9749,7 @@ static function adminVerbandsorganMitglieder($rows,$verbandsorgan): void
<?php <?php
} }
static function adminMannschaften($veranstaltung, $rows): void static function adminMannschaften($veranstaltung, $rows, $ansprechpartner): void
{ {
global $params; global $params;
@@ -9761,6 +9799,8 @@ static function adminVerbandsorganMitglieder($rows,$verbandsorgan): void
<th nowrap title="<?php echo Text::_('COM_SPORTSMANAGER_NUM_REQUESTED_SHFITS_TOOLTIP'); ?>"> <th nowrap title="<?php echo Text::_('COM_SPORTSMANAGER_NUM_REQUESTED_SHFITS_TOOLTIP'); ?>">
<strong><?php echo Text::_('COM_SPORTSMANAGER_NUM_REQUESTED_SHIFTS'); ?></strong></th> <strong><?php echo Text::_('COM_SPORTSMANAGER_NUM_REQUESTED_SHIFTS'); ?></strong></th>
<th nowrap><strong><?php echo Text::_('COM_SPORTSMANAGER_HOME_VENUE'); ?></strong></th> <th nowrap><strong><?php echo Text::_('COM_SPORTSMANAGER_HOME_VENUE'); ?></strong></th>
<th></th>
<th></th>
</tr> </tr>
<?php <?php
@@ -9803,6 +9843,14 @@ static function adminVerbandsorganMitglieder($rows,$verbandsorgan): void
</td> </td>
<td nowrap align="center"><?php echo $row->anzahl_verschiebungen; ?></td> <td nowrap align="center"><?php echo $row->anzahl_verschiebungen; ?></td>
<td nowrap><?php if (!empty($row->name)) echo htmlentities_utf8($row->name); ?></td> <td nowrap><?php if (!empty($row->name)) echo htmlentities_utf8($row->name); ?></td>
<td>
<?PHP
if (!empty($ansprechpartner[$row->team_id])){
$emails = implode(';', $ansprechpartner[$row->team_id]);
echo "<a href='mailto:" . $emails . "?subject=" . $row->teamname . "'>E-Mail</a>&nbsp;";
}
?>
</td>
<?php if ($row->begegnungen == 0) { ?> <?php if ($row->begegnungen == 0) { ?>
<td nowrap><small><a <td nowrap><small><a
href="<?php echo SportsManagerURL('&task=admin_team_remove&veranstaltungid=' . $veranstaltung->veranstaltung_id . '&id=' . $row->team_id); ?>" href="<?php echo SportsManagerURL('&task=admin_team_remove&veranstaltungid=' . $veranstaltung->veranstaltung_id . '&id=' . $row->team_id); ?>"
@@ -10299,7 +10347,7 @@ static function adminVerbandsorganMitglieder($rows,$verbandsorgan): void
<th nowrap style="text-align: center"><strong><?php echo JText::_('COM_SPORTSMANAGER_PENALTY'); ?></strong></th> <th nowrap style="text-align: center"><strong><?php echo JText::_('COM_SPORTSMANAGER_PENALTY'); ?></strong></th>
<th nowrap style="text-align: left"><strong><?php echo JText::_('COM_SPORTSMANAGER_DESCRIPTION'); ?></strong></th> <th nowrap style="text-align: left"><strong><?php echo JText::_('COM_SPORTSMANAGER_DESCRIPTION'); ?></strong></th>
</tr> </tr>
<?php <?php
$k = 0; $k = 0;
foreach ($rows as $row) { foreach ($rows as $row) {
@@ -10995,7 +11043,7 @@ static function adminVerbandsorganMitglieder($rows,$verbandsorgan): void
<?php echo Text::_('COM_SPORTSMANAGER_ENCOUNTERS'); ?> <?php echo Text::_('COM_SPORTSMANAGER_ENCOUNTERS'); ?>
'<?php echo htmlentities_utf8($veranstaltung->bezeichnung); ?> '<?php echo htmlentities_utf8($veranstaltung->bezeichnung); ?>
': <?php echo Text::_('COM_SPORTSMANAGER_JOOMLA_MANAGEMENT'); ?></div> ': <?php echo Text::_('COM_SPORTSMANAGER_JOOMLA_MANAGEMENT'); ?></div>
<div class="uk-overflow-auto"> <div class="uk-overflow-auto">
<table style="border-spacing: 10px; width: 100%;"> <table style="border-spacing: 10px; width: 100%;">
<tr> <tr>
@@ -11066,10 +11114,10 @@ static function adminVerbandsorganMitglieder($rows,$verbandsorgan): void
$Spieltagname = "Runde " . $row->spieltag; $Spieltagname = "Runde " . $row->spieltag;
else else
$Spieltagname = "Spieltag " . $row->spieltag; $Spieltagname = "Spieltag " . $row->spieltag;
if ($row->spieltag < 999 && $veranstaltung->spieltag_titel_zeigen == 1 && $row->spieltag_titel != "") if ($row->spieltag < 999 && $veranstaltung->spieltag_titel_zeigen == 1 && $row->spieltag_titel != "")
$Spieltagname .= " - " . $row->spieltag_titel; $Spieltagname .= " - " . $row->spieltag_titel;
if ($Spieltagname_Buffer != $Spieltagname){ if ($Spieltagname_Buffer != $Spieltagname){
?> ?>
<tr class="sectiontableheader<?php echo $params->get('pageclass_sfx'); ?>"> <tr class="sectiontableheader<?php echo $params->get('pageclass_sfx'); ?>">
@@ -11097,12 +11145,12 @@ static function adminVerbandsorganMitglieder($rows,$verbandsorgan): void
<th nowrap><span style="font-size: 70%; "><i> <th nowrap><span style="font-size: 70%; "><i>
<?php echo htmlentities_utf8($monatsbezeichnung); ?></i></span> <?php echo htmlentities_utf8($monatsbezeichnung); ?></i></span>
</th> </th>
</tr> </tr>
<?php <?php
} }
?> ?>
<tr class="sectiontableentry<?php echo $k + 1; <tr class="sectiontableentry<?php echo $k + 1;
$k = ($k + 1) % 2; ?><?php echo $params->get('pageclass_sfx'); ?>"> $k = ($k + 1) % 2; ?><?php echo $params->get('pageclass_sfx'); ?>">
@@ -11322,7 +11370,7 @@ static function adminVerbandsorganMitglieder($rows,$verbandsorgan): void
value="<?php if ($row != null) echo htmlentities_utf8($row->spieltag_titel); ?>"/> value="<?php if ($row != null) echo htmlentities_utf8($row->spieltag_titel); ?>"/>
<datalist id="auswahl_spieltagtitel" > <datalist id="auswahl_spieltagtitel" >
<?php if ($auswahl_spieltagtitel){ ?> <?php if ($auswahl_spieltagtitel){ ?>
<?php foreach($auswahl_spieltagtitel AS $titel){ ?> <?php foreach($auswahl_spieltagtitel AS $titel){ ?>
<option value="<?= htmlspecialchars($titel->spieltag_titel, ENT_QUOTES) ?>"></option> <option value="<?= htmlspecialchars($titel->spieltag_titel, ENT_QUOTES) ?>"></option>
<?php } ?> <?php } ?>
<?php } ?> <?php } ?>
@@ -11341,7 +11389,7 @@ static function adminVerbandsorganMitglieder($rows,$verbandsorgan): void
title="Spielnummer (optional)" name="spiel_nr"> title="Spielnummer (optional)" name="spiel_nr">
<option value=""></option> <option value=""></option>
<?php <?php
for ($i = 1; $i <= 99; $i++) for ($i = 1; $i <= 99; $i++)
{ {
echo "<option value=\"" . $i . "\"" . ($spiel_nr == $i ? " selected" : "") . ">" . $i . "</option>"; echo "<option value=\"" . $i . "\"" . ($spiel_nr == $i ? " selected" : "") . ">" . $i . "</option>";
} }
@@ -11453,7 +11501,7 @@ static function adminVerbandsorganMitglieder($rows,$verbandsorgan): void
</div> </div>
<input type="submit" name="save" value="<?php echo Text::_('COM_SPORTSMANAGER_SAVE'); ?>" class="button" <input type="submit" name="save" value="<?php echo Text::_('COM_SPORTSMANAGER_SAVE'); ?>" class="button"
onclick="if (document.adminForm.heim_team_id.value === document.adminForm.gast_team_id.value) onclick="if (document.adminForm.heim_team_id.value === document.adminForm.gast_team_id.value)
{ alert('<?php echo Text::_('COM_SPORTSMANAGER_HOME_VISITING_TEAMS_DIFFERENT'); ?>'); return false; } return true;"/> { alert('<?php echo Text::_('COM_SPORTSMANAGER_HOME_VISITING_TEAMS_DIFFERENT'); ?>'); return false; } return true;"/>
<input type="submit" name="cancel" value="<?php echo Text::_('COM_SPORTSMANAGER_CANCEL'); ?>" <input type="submit" name="cancel" value="<?php echo Text::_('COM_SPORTSMANAGER_CANCEL'); ?>"
class="button"/> class="button"/>
@@ -12494,7 +12542,7 @@ static function adminVerbandsorganMitglieder($rows,$verbandsorgan): void
value="<?php if ($row != null) echo htmlentities_utf8($row->spieltag_titel); ?>"/> value="<?php if ($row != null) echo htmlentities_utf8($row->spieltag_titel); ?>"/>
<datalist id="auswahl_spieltagtitel" > <datalist id="auswahl_spieltagtitel" >
<?php if ($auswahl_spieltagtitel){ ?> <?php if ($auswahl_spieltagtitel){ ?>
<?php foreach($auswahl_spieltagtitel AS $titel){ ?> <?php foreach($auswahl_spieltagtitel AS $titel){ ?>
<option value="<?= htmlspecialchars($titel->spieltag_titel, ENT_QUOTES) ?>"></option> <option value="<?= htmlspecialchars($titel->spieltag_titel, ENT_QUOTES) ?>"></option>
<?php } ?> <?php } ?>
<?php } ?> <?php } ?>
@@ -12510,11 +12558,11 @@ static function adminVerbandsorganMitglieder($rows,$verbandsorgan): void
<?php if ($teamnr == 1) echo Text::_('COM_SPORTSMANAGER_PAIRINGS') . ":"; ?> <?php if ($teamnr == 1) echo Text::_('COM_SPORTSMANAGER_PAIRINGS') . ":"; ?>
</td> </td>
<td nowrap> <td nowrap>
<select class="uk-select uk-form-width-xsmall" size="1" id="game_nr" <select class="uk-select uk-form-width-xsmall" size="1" id="game_nr"
name="spiel_nr_<?php echo $teamnr; ?>" title="Spielnummer (optional)"> name="spiel_nr_<?php echo $teamnr; ?>" title="Spielnummer (optional)">
<option value=""></option> <option value=""></option>
<?php <?php
for ($i = 1; $i <= 99; $i++) for ($i = 1; $i <= 99; $i++)
{ {
echo "<option value=\"" . $i . "\"" . ($i == $spielnummer ? " selected " : "") . ">" . $i . "</option>"; echo "<option value=\"" . $i . "\"" . ($i == $spielnummer ? " selected " : "") . ">" . $i . "</option>";
} }
@@ -15427,7 +15475,7 @@ static function adminVerbandsorganMitglieder($rows,$verbandsorgan): void
for ($satz = 0; $satz < $saetze_maximal; $satz++) { for ($satz = 0; $satz < $saetze_maximal; $satz++) {
?> ?>
<select class="uk-select uk-form-width-medium" <select class="uk-select uk-form-width-medium"
name="ergebnis_punkte_heim[]" name="ergebnis_punkte_heim[]"
size="1" onchange="punkte_changed(<?php echo $satz; ?>, 1);" size="1" onchange="punkte_changed(<?php echo $satz; ?>, 1);"
aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_POINTS_HOME'); ?>"> aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_POINTS_HOME'); ?>">
<option value=""></option> <option value=""></option>
@@ -157,6 +157,7 @@ COM_SPORTSMANAGER_DEFEAT="Niederlage"
COM_SPORTSMANAGER_DEFEATS="Niederlagen" COM_SPORTSMANAGER_DEFEATS="Niederlagen"
COM_SPORTSMANAGER_DEFEATS_SHORTCUT="N" COM_SPORTSMANAGER_DEFEATS_SHORTCUT="N"
COM_SPORTSMANAGER_GOALS="Tore" COM_SPORTSMANAGER_GOALS="Tore"
COM_SPORTSMANAGER_GOALS_SHORTCUT="T"
COM_SPORTSMANAGER_SETS="S&auml;tze" COM_SPORTSMANAGER_SETS="S&auml;tze"
COM_SPORTSMANAGER_POINT="Punkt" COM_SPORTSMANAGER_POINT="Punkt"
COM_SPORTSMANAGER_POINTS="Punkte" COM_SPORTSMANAGER_POINTS="Punkte"
@@ -169,9 +170,9 @@ COM_SPORTSMANAGER_GAME_POINTS="Spielpunkte"
COM_SPORTSMANAGER_GAME_POINTS_SHORTCUT="SP" COM_SPORTSMANAGER_GAME_POINTS_SHORTCUT="SP"
COM_SPORTSMANAGER_SUFFIX_ONE_TEAM=" (eine Mannschaft)" COM_SPORTSMANAGER_SUFFIX_ONE_TEAM=" (eine Mannschaft)"
COM_SPORTSMANAGER_SUFFIX_TEAMS_TOGETHER=" (Mannschaften zusammen)" COM_SPORTSMANAGER_SUFFIX_TEAMS_TOGETHER=" (Mannschaften zusammen)"
COM_SPORTSMANAGER_DIFFERENCE="Differenz" COM_SPORTSMANAGER_DIFFERENCE="Differenz Tore"
COM_SPORTSMANAGER_DIFFERENCE_IN_POINTS="Punktedifferenz" COM_SPORTSMANAGER_DIFFERENCE_IN_POINTS="Differenz Spielpunkte"
COM_SPORTSMANAGER_POINTS_RATIO="Punkteverh&auml;ltnis" COM_SPORTSMANAGER_POINTS_RATIO="Verh&auml;ltnis Spielpunkte"
COM_SPORTSMANAGER_SCHEDULE_DATE="Zeitpunkt" COM_SPORTSMANAGER_SCHEDULE_DATE="Zeitpunkt"
COM_SPORTSMANAGER_TEAM_HOME="Heim" COM_SPORTSMANAGER_TEAM_HOME="Heim"
COM_SPORTSMANAGER_TEAM_VISITOR="Gast" COM_SPORTSMANAGER_TEAM_VISITOR="Gast"
@@ -296,7 +297,6 @@ COM_SPORTSMANAGER_REQUEST_MESSAGE_PLURAL="Es m&uuml;ssen mindestens %d Termine v
COM_SPORTSMANAGER_REJECT_SHIFT="Verschiebung ablehnen" COM_SPORTSMANAGER_REJECT_SHIFT="Verschiebung ablehnen"
COM_SPORTSMANAGER_TO="bis" COM_SPORTSMANAGER_TO="bis"
COM_SPORTSMANAGER_PLAYER_STATISTICS="Spielerstatistiken" COM_SPORTSMANAGER_PLAYER_STATISTICS="Spielerstatistiken"
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="Siegquote" COM_SPORTSMANAGER_RATE="Siegquote"
@@ -500,6 +500,8 @@ COM_SPORTSMANAGER_WIN_1_POINT="Sieg: 1 Punkt"
COM_SPORTSMANAGER_WIN_2_POINTS="Sieg: 2 Punkte, Unentschieden: 1 Punkt" COM_SPORTSMANAGER_WIN_2_POINTS="Sieg: 2 Punkte, Unentschieden: 1 Punkt"
COM_SPORTSMANAGER_WIN_3_POINTS="Sieg: 3 Punkte, Unentschieden: 1 Punkt" COM_SPORTSMANAGER_WIN_3_POINTS="Sieg: 3 Punkte, Unentschieden: 1 Punkt"
COM_SPORTSMANAGER_MEETING_CONCLUDED_AT="Begegnung abgeschlossen bei" COM_SPORTSMANAGER_MEETING_CONCLUDED_AT="Begegnung abgeschlossen bei"
COM_SPORTSMANAGER_GAMES_IN_STATISTIK="Spiele in Spielerstatistik"
COM_SPORTSMANAGER_GAMES_IN_STATISTIK_ALL="Alle Spiele"
COM_SPORTSMANAGER_GENERALLY="Allgemein" COM_SPORTSMANAGER_GENERALLY="Allgemein"
COM_SPORTSMANAGER_TYPE="Typ" COM_SPORTSMANAGER_TYPE="Typ"
COM_SPORTSMANAGER_ELO_MIN="Elo min." COM_SPORTSMANAGER_ELO_MIN="Elo min."
@@ -555,8 +557,17 @@ COM_SPORTSMANAGER_HEAD_TO_HEAD_OPT_POINTS="bei gleicher Punktzahl"
COM_SPORTSMANAGER_HEAD_TO_HEAD_OPT_SETS="bei gleicher Punktzahl, Satzpunkte" COM_SPORTSMANAGER_HEAD_TO_HEAD_OPT_SETS="bei gleicher Punktzahl, Satzpunkte"
COM_SPORTSMANAGER_HEAD_TO_HEAD_OPT_GOALS="bei gleicher Punktzahl, Satzpunkte, Tore" COM_SPORTSMANAGER_HEAD_TO_HEAD_OPT_GOALS="bei gleicher Punktzahl, Satzpunkte, Tore"
COM_SPORTSMANAGER_POINTS_WON_LOST_DIFFERENCE="Spielpunkte gewonnen, Spielpunkte verloren, Punktedifferenz" COM_SPORTSMANAGER_POINTS_WON_LOST_DIFFERENCE="Spielpunkte gewonnen, Spielpunkte verloren, Punktedifferenz"
COM_SPORTSMANAGER_PERFORMANCE_INDEX="Leistungsindex (SP+ * SP+ * 100) / (SP+ + SP-), Spielpunkte gewonnen, ..." COM_SPORTSMANAGER_PERFORMANCE_INDEX0="Spielpunkte gewonnen, Spielpunkte verloren, Punktedifferenz"
COM_SPORTSMANAGER_PERFORMANCE_INDEX1="Leistungsindex (SP+ * SP+ * 100) / (SP+ + SP-), Spielpunkte gewonnen, ..."
COM_SPORTSMANAGER_PERFORMANCE_INDEX2="Leistungsindex (S * P+ * 10) / (P+ + P-), Spielpunkte gewonnen, ..." COM_SPORTSMANAGER_PERFORMANCE_INDEX2="Leistungsindex (S * P+ * 10) / (P+ + P-), Spielpunkte gewonnen, ..."
COM_SPORTSMANAGER_PERFORMANCE_INDEX3="Race Performance Index (Siege*2 + Unentschieden + Tordifferenz)"
COM_SPORTSMANAGER_PERFORMANCE_INDEX4="Effizienzindex (T+ / (T+ + T-))"
COM_SPORTSMANAGER_PERFORMANCE_INDEX5="Punkteschnitt (P+ / Anzahl Sätze)"
COM_SPORTSMANAGER_PERFORMANCE_SHORT1="LI"
COM_SPORTSMANAGER_PERFORMANCE_SHORT2="LI"
COM_SPORTSMANAGER_PERFORMANCE_SHORT3="RPI"
COM_SPORTSMANAGER_PERFORMANCE_SHORT4="EI"
COM_SPORTSMANAGER_PERFORMANCE_SHORT5="AVG"
COM_SPORTSMANAGER_INDIVIDUAL_STATISTICS="Einzelstatistik aus allen Spielen" COM_SPORTSMANAGER_INDIVIDUAL_STATISTICS="Einzelstatistik aus allen Spielen"
COM_SPORTSMANAGER_INDIVIDUAL_STATISTICS_SINGLES="Einzelstatistik aus Einzel-Spielen" COM_SPORTSMANAGER_INDIVIDUAL_STATISTICS_SINGLES="Einzelstatistik aus Einzel-Spielen"
COM_SPORTSMANAGER_INDIVIDUAL_STATISTICS_DOUBLES="Einzelstatistik aus Doppel-Spielen" COM_SPORTSMANAGER_INDIVIDUAL_STATISTICS_DOUBLES="Einzelstatistik aus Doppel-Spielen"
@@ -1102,4 +1113,6 @@ COM_SPORTSMANAGER_SWAP_MATCH="Heimrechttausch"
COM_SPORTSMANAGER_REALLY_DELETE_MATCH_REPORT="Der Spielbericht wird zusammen mit allen historischen Eintr&auml;gen gel&ouml;scht. Willst du den Spielbericht wirklich l&ouml;schen?" COM_SPORTSMANAGER_REALLY_DELETE_MATCH_REPORT="Der Spielbericht wird zusammen mit allen historischen Eintr&auml;gen gel&ouml;scht. Willst du den Spielbericht wirklich l&ouml;schen?"
COM_SPORTSMANAGER_MATCH_REPORT_DELETED="Spielbericht gel&ouml;scht" COM_SPORTSMANAGER_MATCH_REPORT_DELETED="Spielbericht gel&ouml;scht"
COM_SPORTSMANAGER_MATCH_REPORT_WAS_DELETED="Der Spielbericht wurde erfolgreich gel&ouml;scht!" COM_SPORTSMANAGER_MATCH_REPORT_WAS_DELETED="Der Spielbericht wurde erfolgreich gel&ouml;scht!"
COM_SPORTSMANAGER_MATCH_REPORT_CORRECTED="Spielberichtskorrektur" COM_SPORTSMANAGER_MATCH_REPORT_CORRECTED="Spielberichtskorrektur"
COM_SPORTSMANAGER_MIN_MATCHES="Mindestzahl Spiele"
COM_SPORTSMANAGER_SELECT_ALL="Alle"
@@ -157,6 +157,7 @@ COM_SPORTSMANAGER_DEFEAT="Defeat"
COM_SPORTSMANAGER_DEFEATS="Defeats" COM_SPORTSMANAGER_DEFEATS="Defeats"
COM_SPORTSMANAGER_DEFEATS_SHORTCUT="F" COM_SPORTSMANAGER_DEFEATS_SHORTCUT="F"
COM_SPORTSMANAGER_GOALS="Goals" COM_SPORTSMANAGER_GOALS="Goals"
COM_SPORTSMANAGER_GOALS_SHORTCUT="G"
COM_SPORTSMANAGER_SETS="Sets" COM_SPORTSMANAGER_SETS="Sets"
COM_SPORTSMANAGER_POINT="Point" COM_SPORTSMANAGER_POINT="Point"
COM_SPORTSMANAGER_POINTS="Points" COM_SPORTSMANAGER_POINTS="Points"
@@ -169,9 +170,9 @@ COM_SPORTSMANAGER_GAME_POINTS="Game points"
COM_SPORTSMANAGER_GAME_POINTS_SHORTCUT="GP" COM_SPORTSMANAGER_GAME_POINTS_SHORTCUT="GP"
COM_SPORTSMANAGER_SUFFIX_ONE_TEAM=" (one team)" COM_SPORTSMANAGER_SUFFIX_ONE_TEAM=" (one team)"
COM_SPORTSMANAGER_SUFFIX_TEAMS_TOGETHER=" (teams together)" COM_SPORTSMANAGER_SUFFIX_TEAMS_TOGETHER=" (teams together)"
COM_SPORTSMANAGER_DIFFERENCE="Difference" COM_SPORTSMANAGER_DIFFERENCE="Goal difference"
COM_SPORTSMANAGER_DIFFERENCE_IN_POINTS="Difference in points" COM_SPORTSMANAGER_DIFFERENCE_IN_POINTS="Difference in game points"
COM_SPORTSMANAGER_POINTS_RATIO="Points ratio" COM_SPORTSMANAGER_POINTS_RATIO="Game points ratio"
COM_SPORTSMANAGER_SCHEDULE_DATE="Appointment date" COM_SPORTSMANAGER_SCHEDULE_DATE="Appointment date"
COM_SPORTSMANAGER_TEAM_HOME="Home" COM_SPORTSMANAGER_TEAM_HOME="Home"
COM_SPORTSMANAGER_TEAM_VISITOR="Visitor" COM_SPORTSMANAGER_TEAM_VISITOR="Visitor"
@@ -296,7 +297,6 @@ COM_SPORTSMANAGER_REQUEST_MESSAGE_PLURAL="At least %d dates must be given comple
COM_SPORTSMANAGER_REJECT_SHIFT="Reject shift" COM_SPORTSMANAGER_REJECT_SHIFT="Reject shift"
COM_SPORTSMANAGER_TO="until" COM_SPORTSMANAGER_TO="until"
COM_SPORTSMANAGER_PLAYER_STATISTICS="Player statistics" COM_SPORTSMANAGER_PLAYER_STATISTICS="Player statistics"
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="Winning rate" COM_SPORTSMANAGER_RATE="Winning rate"
@@ -500,6 +500,8 @@ COM_SPORTSMANAGER_WIN_1_POINT="Win: 1 point"
COM_SPORTSMANAGER_WIN_2_POINTS="Win: 2 points, draw: 1 point" COM_SPORTSMANAGER_WIN_2_POINTS="Win: 2 points, draw: 1 point"
COM_SPORTSMANAGER_WIN_3_POINTS="Win: 3 points, draw: 1 point" COM_SPORTSMANAGER_WIN_3_POINTS="Win: 3 points, draw: 1 point"
COM_SPORTSMANAGER_MEETING_CONCLUDED_AT="Match won at" COM_SPORTSMANAGER_MEETING_CONCLUDED_AT="Match won at"
COM_SPORTSMANAGER_GAMES_IN_STATISTIK="Games in player statistics"
COM_SPORTSMANAGER_GAMES_IN_STATISTIK_ALL="All games"
COM_SPORTSMANAGER_GENERALLY="Generally" COM_SPORTSMANAGER_GENERALLY="Generally"
COM_SPORTSMANAGER_TYPE="Type" COM_SPORTSMANAGER_TYPE="Type"
COM_SPORTSMANAGER_ELO_MIN="Elo min." COM_SPORTSMANAGER_ELO_MIN="Elo min."
@@ -555,8 +557,17 @@ COM_SPORTSMANAGER_HEAD_TO_HEAD_OPT_POINTS="Tie: pts"
COM_SPORTSMANAGER_HEAD_TO_HEAD_OPT_SETS="Tie: pts, set points" COM_SPORTSMANAGER_HEAD_TO_HEAD_OPT_SETS="Tie: pts, set points"
COM_SPORTSMANAGER_HEAD_TO_HEAD_OPT_GOALS="Tie: pts, set points, goals" COM_SPORTSMANAGER_HEAD_TO_HEAD_OPT_GOALS="Tie: pts, set points, goals"
COM_SPORTSMANAGER_POINTS_WON_LOST_DIFFERENCE="Game points won, game points lost, point difference" COM_SPORTSMANAGER_POINTS_WON_LOST_DIFFERENCE="Game points won, game points lost, point difference"
COM_SPORTSMANAGER_PERFORMANCE_INDEX="Performance index (GP+ * GP+ * 100) / (GP+ + GP-), game points won, ..." COM_SPORTSMANAGER_PERFORMANCE_INDEX0="Game points won, game points lost, point difference"
COM_SPORTSMANAGER_PERFORMANCE_INDEX1="Performance index (GP+ * GP+ * 100) / (GP+ + GP-), game points won, ..."
COM_SPORTSMANAGER_PERFORMANCE_INDEX2="Performance index (games * P+ * 10) / (P+ + P-), game points won, ..." COM_SPORTSMANAGER_PERFORMANCE_INDEX2="Performance index (games * P+ * 10) / (P+ + P-), game points won, ..."
COM_SPORTSMANAGER_PERFORMANCE_INDEX3="Race Performance Index (victories*2 + draws + goal difference)"
COM_SPORTSMANAGER_PERFORMANCE_INDEX4="Efficency index (G+ / (G+ + G-))"
COM_SPORTSMANAGER_PERFORMANCE_INDEX5="Set point average (P+ / count sets)"
COM_SPORTSMANAGER_PERFORMANCE_SHORT1="LI"
COM_SPORTSMANAGER_PERFORMANCE_SHORT2="LI"
COM_SPORTSMANAGER_PERFORMANCE_SHORT3="RPI"
COM_SPORTSMANAGER_PERFORMANCE_SHORT4="EI"
COM_SPORTSMANAGER_PERFORMANCE_SHORT5="AVG"
COM_SPORTSMANAGER_INDIVIDUAL_STATISTICS="Individual statistics of all games" COM_SPORTSMANAGER_INDIVIDUAL_STATISTICS="Individual statistics of all games"
COM_SPORTSMANAGER_INDIVIDUAL_STATISTICS_SINGLES="Individual statistics of singles games" COM_SPORTSMANAGER_INDIVIDUAL_STATISTICS_SINGLES="Individual statistics of singles games"
COM_SPORTSMANAGER_INDIVIDUAL_STATISTICS_DOUBLES="Individual statistics of doubles games" COM_SPORTSMANAGER_INDIVIDUAL_STATISTICS_DOUBLES="Individual statistics of doubles games"
@@ -1102,4 +1113,6 @@ COM_SPORTSMANAGER_SWAP_MATCH="Swap home advantage"
COM_SPORTSMANAGER_REALLY_DELETE_MATCH_REPORT="The match report and all its history will be deleted. Are you sure you want to delete the match report?" COM_SPORTSMANAGER_REALLY_DELETE_MATCH_REPORT="The match report and all its history will be deleted. Are you sure you want to delete the match report?"
COM_SPORTSMANAGER_MATCH_REPORT_DELETED="Match report deleted" COM_SPORTSMANAGER_MATCH_REPORT_DELETED="Match report deleted"
COM_SPORTSMANAGER_MATCH_REPORT_WAS_DELETED="The match report has been successfully deleted!" COM_SPORTSMANAGER_MATCH_REPORT_WAS_DELETED="The match report has been successfully deleted!"
COM_SPORTSMANAGER_MATCH_REPORT_CORRECTED="Match report corrected" COM_SPORTSMANAGER_MATCH_REPORT_CORRECTED="Match report corrected"
COM_SPORTSMANAGER_MIN_MATCHES="Min count matches"
COM_SPORTSMANAGER_SELECT_ALL="All"
+19 -17
View File
@@ -526,6 +526,7 @@ return new class () implements InstallerScriptInterface
. "\n `bestenliste_id` int(11) NOT NULL DEFAULT '0'," . "\n `bestenliste_id` int(11) NOT NULL DEFAULT '0',"
. "\n `spieler_id` int(11) NOT NULL DEFAULT '0'," . "\n `spieler_id` int(11) NOT NULL DEFAULT '0',"
. "\n `spieler_2_id` int(11) DEFAULT NULL," . "\n `spieler_2_id` int(11) DEFAULT NULL,"
. "\n `team_id` INT(11) DEFAULT NULL,"
. "\n `siege` smallint(6) DEFAULT NULL," . "\n `siege` smallint(6) DEFAULT NULL,"
. "\n `unentschieden` smallint(6) DEFAULT NULL," . "\n `unentschieden` smallint(6) DEFAULT NULL,"
. "\n `niederlagen` smallint(6) DEFAULT NULL," . "\n `niederlagen` smallint(6) DEFAULT NULL,"
@@ -789,6 +790,7 @@ return new class () implements InstallerScriptInterface
. "\n `spielpunkte_bedingung` tinyint(4) NOT NULL DEFAULT '0'," . "\n `spielpunkte_bedingung` tinyint(4) NOT NULL DEFAULT '0',"
. "\n `spielernamen` tinyint(4) NOT NULL DEFAULT '0'," . "\n `spielernamen` tinyint(4) NOT NULL DEFAULT '0',"
. "\n `heimtausch` tinyint(4) NOT NULL DEFAULT '0'," . "\n `heimtausch` tinyint(4) NOT NULL DEFAULT '0',"
. "\n `spiele_in_spielerstatistik` tinyint(4) NOT NULL DEFAULT '0',"
. "\n `modus` varchar(200) NOT NULL DEFAULT ''," . "\n `modus` varchar(200) NOT NULL DEFAULT '',"
. "\n `status` tinyint(4) NOT NULL DEFAULT '0'," . "\n `status` tinyint(4) NOT NULL DEFAULT '0',"
. "\n PRIMARY KEY (`teamspiel_modus_id`)" . "\n PRIMARY KEY (`teamspiel_modus_id`)"
@@ -1147,7 +1149,7 @@ return new class () implements InstallerScriptInterface
. "\n ) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;"; . "\n ) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;";
$db->setQuery( $query ); $db->setQuery( $query );
if (!$db->execute()) { die($db->stderr(true)); } if (!$db->execute()) { die($db->stderr(true)); }
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_verstoesse` (" $query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_verstoesse` ("
. "\n `verstoesse_id` int(11) NOT NULL AUTO_INCREMENT," . "\n `verstoesse_id` int(11) NOT NULL AUTO_INCREMENT,"
. "\n `regelwerke_id` int(11) NOT NULL DEFAULT 0," . "\n `regelwerke_id` int(11) NOT NULL DEFAULT 0,"
@@ -1163,7 +1165,7 @@ return new class () implements InstallerScriptInterface
. "\n ) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;"; . "\n ) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;";
$db->setQuery( $query ); $db->setQuery( $query );
if (!$db->execute()) { die($db->stderr(true)); } if (!$db->execute()) { die($db->stderr(true)); }
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_ordnungsstrafen` (" $query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_ordnungsstrafen` ("
. "\n `ordnungsstrafen_id` int(11) NOT NULL AUTO_INCREMENT," . "\n `ordnungsstrafen_id` int(11) NOT NULL AUTO_INCREMENT,"
. "\n `verstoesse_id` int(11) NOT NULL DEFAULT 0," . "\n `verstoesse_id` int(11) NOT NULL DEFAULT 0,"
@@ -1181,7 +1183,7 @@ return new class () implements InstallerScriptInterface
. "\n ) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;"; . "\n ) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;";
$db->setQuery( $query ); $db->setQuery( $query );
if (!$db->execute()) { die($db->stderr(true)); } if (!$db->execute()) { die($db->stderr(true)); }
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_email_vorlagen` (" $query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_email_vorlagen` ("
. "\n `email_vorlagen_id` int(11) NOT NULL AUTO_INCREMENT," . "\n `email_vorlagen_id` int(11) NOT NULL AUTO_INCREMENT,"
. "\n `vorlage` varchar(64) NOT NULL," . "\n `vorlage` varchar(64) NOT NULL,"
@@ -1210,7 +1212,7 @@ return new class () implements InstallerScriptInterface
. "\n ) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;"; . "\n ) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;";
$db->setQuery( $query ); $db->setQuery( $query );
if (!$db->execute()) { die($db->stderr(true)); } if (!$db->execute()) { die($db->stderr(true)); }
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_mitglied_von_verbandsorgan` (" $query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_mitglied_von_verbandsorgan` ("
. "\n `mitglied_von_verbandsorgan_id` int(11) NOT NULL AUTO_INCREMENT," . "\n `mitglied_von_verbandsorgan_id` int(11) NOT NULL AUTO_INCREMENT,"
. "\n `verbandsorgane_id` int(11) DEFAULT NULL," . "\n `verbandsorgane_id` int(11) DEFAULT NULL,"
@@ -1272,7 +1274,7 @@ return new class () implements InstallerScriptInterface
$db->setQuery( $query ); $db->setQuery( $query );
if (!$db->execute()) { die($db->stderr(true)); } if (!$db->execute()) { die($db->stderr(true)); }
$query = "INSERT IGNORE #__sportsmanager_einstellungen SET name = 'datenbank_version', wert = '119';"; $query = "INSERT IGNORE #__sportsmanager_einstellungen SET name = 'datenbank_version', wert = '120';";
$db->setQuery( $query ); $db->setQuery( $query );
if (!$db->execute()) { die($db->stderr(true)); } if (!$db->execute()) { die($db->stderr(true)); }
@@ -1303,11 +1305,11 @@ return new class () implements InstallerScriptInterface
$query = "INSERT IGNORE #__sportsmanager_einstellungen SET name = 'turnierbaum_zeigen', wert = '0';"; $query = "INSERT IGNORE #__sportsmanager_einstellungen SET name = 'turnierbaum_zeigen', wert = '0';";
$db->setQuery( $query ); $db->setQuery( $query );
if (!$db->execute()) { die($db->stderr(true)); } if (!$db->execute()) { die($db->stderr(true)); }
$query = "INSERT IGNORE #__sportsmanager_einstellungen SET name = 'ordnungsstrafen_verwenden', wert = '0';"; $query = "INSERT IGNORE #__sportsmanager_einstellungen SET name = 'ordnungsstrafen_verwenden', wert = '0';";
$db->setQuery( $query ); $db->setQuery( $query );
if (!$db->execute()) { die($db->stderr(true)); } if (!$db->execute()) { die($db->stderr(true)); }
$query = "INSERT IGNORE #__sportsmanager_einstellungen SET name = 'spalte_mitglieder_zeigen', wert = '1';"; $query = "INSERT IGNORE #__sportsmanager_einstellungen SET name = 'spalte_mitglieder_zeigen', wert = '1';";
$db->setQuery( $query ); $db->setQuery( $query );
if (!$db->execute()) { die($db->stderr(true)); } if (!$db->execute()) { die($db->stderr(true)); }
@@ -1320,7 +1322,7 @@ return new class () implements InstallerScriptInterface
. "\n VALUES ('Beliebig', '0', '0', '0', '1', '3', '0');"; . "\n VALUES ('Beliebig', '0', '0', '0', '1', '3', '0');";
$db->setQuery($query); $db->setQuery($query);
if (!$db->execute()) { die($db->stderr(true)); } if (!$db->execute()) { die($db->stderr(true)); }
$query = "INSERT IGNORE INTO `#__sportsmanager_email_vorlagen` (`email_vorlagen_id`, `vorlage`) VALUES (NULL, 'Ordnungsstrafe');"; $query = "INSERT IGNORE INTO `#__sportsmanager_email_vorlagen` (`email_vorlagen_id`, `vorlage`) VALUES (NULL, 'Ordnungsstrafe');";
$db->setQuery($query); $db->setQuery($query);
if (!$db->execute()) { die($db->stderr(true)); } if (!$db->execute()) { die($db->stderr(true)); }
@@ -1328,7 +1330,7 @@ return new class () implements InstallerScriptInterface
$query = "INSERT IGNORE INTO `#__sportsmanager_email_vorlagen` (`email_vorlagen_id`, `vorlage`) VALUES (NULL, 'Spielverlegung');"; $query = "INSERT IGNORE INTO `#__sportsmanager_email_vorlagen` (`email_vorlagen_id`, `vorlage`) VALUES (NULL, 'Spielverlegung');";
$db->setQuery($query); $db->setQuery($query);
if (!$db->execute()) { die($db->stderr(true)); } if (!$db->execute()) { die($db->stderr(true)); }
$query = "INSERT #__sportsmanager_rangliste_system" $query = "INSERT #__sportsmanager_rangliste_system"
. "\n SET systembezeichnung = 'Klostermann/Wahle (1 Punkt für letzten Platz)'," . "\n SET systembezeichnung = 'Klostermann/Wahle (1 Punkt für letzten Platz)',"
. "\n status = '1'," . "\n status = '1',"
@@ -1820,35 +1822,35 @@ return new class () implements InstallerScriptInterface
$query = "DROP TABLE IF EXISTS `#__sportsmanager_verteiler`;"; $query = "DROP TABLE IF EXISTS `#__sportsmanager_verteiler`;";
$db->setQuery( $query ); $db->setQuery( $query );
if (!$db->execute()) { die($db->stderr(true)); } if (!$db->execute()) { die($db->stderr(true)); }
$query = "DROP TABLE IF EXISTS `#__sportsmanager_regelwerke`;"; $query = "DROP TABLE IF EXISTS `#__sportsmanager_regelwerke`;";
$db->setQuery( $query ); $db->setQuery( $query );
if (!$db->execute()) { die($db->stderr(true)); } if (!$db->execute()) { die($db->stderr(true)); }
$query = "DROP TABLE IF EXISTS `#__sportsmanager_verstoesse`;"; $query = "DROP TABLE IF EXISTS `#__sportsmanager_verstoesse`;";
$db->setQuery( $query ); $db->setQuery( $query );
if (!$db->execute()) { die($db->stderr(true)); } if (!$db->execute()) { die($db->stderr(true)); }
$query = "DROP TABLE IF EXISTS `#__sportsmanager_ordnungsstrafen`;"; $query = "DROP TABLE IF EXISTS `#__sportsmanager_ordnungsstrafen`;";
$db->setQuery( $query ); $db->setQuery( $query );
if (!$db->execute()) { die($db->stderr(true)); } if (!$db->execute()) { die($db->stderr(true)); }
$query = "DROP TABLE IF EXISTS `#__sportsmanager_email_vorlagen`;"; $query = "DROP TABLE IF EXISTS `#__sportsmanager_email_vorlagen`;";
$db->setQuery( $query ); $db->setQuery( $query );
if (!$db->execute()) { die($db->stderr(true)); } if (!$db->execute()) { die($db->stderr(true)); }
$query = "DROP TABLE IF EXISTS `#__sportsmanager_verbandsorgane`;"; $query = "DROP TABLE IF EXISTS `#__sportsmanager_verbandsorgane`;";
$db->setQuery( $query ); $db->setQuery( $query );
if (!$db->execute()) { die($db->stderr(true)); } if (!$db->execute()) { die($db->stderr(true)); }
$query = "DROP TABLE IF EXISTS `#__sportsmanager_mitglied_von_verbandsorgan`;"; $query = "DROP TABLE IF EXISTS `#__sportsmanager_mitglied_von_verbandsorgan`;";
$db->setQuery( $query ); $db->setQuery( $query );
if (!$db->execute()) { die($db->stderr(true)); } if (!$db->execute()) { die($db->stderr(true)); }
$query = "DROP TABLE IF EXISTS `#__sportsmanager_halloffame`;"; $query = "DROP TABLE IF EXISTS `#__sportsmanager_halloffame`;";
$db->setQuery( $query ); $db->setQuery( $query );
if (!$db->execute()) { die($db->stderr(true)); } if (!$db->execute()) { die($db->stderr(true)); }
$query = "DROP TABLE IF EXISTS `#__sportsmanager_mitglied_von_halloffame`;"; $query = "DROP TABLE IF EXISTS `#__sportsmanager_mitglied_von_halloffame`;";
$db->setQuery( $query ); $db->setQuery( $query );
if (!$db->execute()) { die($db->stderr(true)); } if (!$db->execute()) { die($db->stderr(true)); }