\r\n"
@@ -16509,11 +14925,7 @@ function termineEmailBenachrichtigung($termin_aktion_id, $ueberarbeiten = false)
. "\n FROM #__sportsmanager_termin"
. "\n INNER JOIN #__sportsmanager_termin_aktion USING (termin_id)"
. "\n WHERE termin_aktion_id = $id";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if (count($rows) < 1) die ("Wrong id");
$terminaktion = $rows[0];
$termin_bezug_id = $terminaktion->termin_bezug_id;
@@ -16528,12 +14940,7 @@ function termineEmailBenachrichtigung($termin_aktion_id, $ueberarbeiten = false)
. "\n FROM #__sportsmanager_termin_aktion"
. "\n INNER JOIN #__sportsmanager_termin USING (termin_id)"
. "\n WHERE termin_bezug_id = $termin_bezug_id AND status = 0;";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
-
+ $rows = loadObjectList($db, $query);
foreach ($rows as $row) {
$dokumente = Folder::files($bilder_pfad, '^' . $row->termin_id . ' ');
foreach ($dokumente as $dokument)
@@ -16612,12 +15019,7 @@ function adminTermineVerlauf($admin_uebersicht): void
. "\n ORDER BY aktion_zeitpunkt DESC, bezeichnung"
. "\n LIMIT 1000";
}
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $terminaktionen = $db->loadObjectList();
-
+ $terminaktionen = loadObjectList($db, $query);
HTML_sportsmanager_admin::adminTermineVerlauf($terminaktionen, $nur_beantragte, $admin_uebersicht);
}
@@ -16640,11 +15042,7 @@ function adminTermineVerlauf($admin_uebersicht): void
. "\n FROM #__sportsmanager_termin"
. "\n INNER JOIN #__sportsmanager_termin_aktion USING (termin_id)"
. "\n WHERE termin_bezug_id = $bezug_id AND status = 0 AND (typ = 0 OR typ = 1)";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
$termin_vorhanden = count($rows) > 0;
if ($termin_vorhanden)
$id = $rows[0]->termin_id;
@@ -16653,11 +15051,7 @@ function adminTermineVerlauf($admin_uebersicht): void
. "\n FROM #__sportsmanager_termin"
. "\n INNER JOIN #__sportsmanager_termin_aktion USING (termin_id)"
. "\n WHERE termin_id = $id" . ($zugriffsebene == 0 ? " AND status = 0 AND (typ = 0 OR typ = 1)" : "") . "), 1, 0)";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $termin_vorhanden = $db->loadResult();
+ $termin_vorhanden = loadResult($db, $query);
}
if (!$termin_vorhanden)
@@ -16721,11 +15115,7 @@ function adminTerminDetails($admin_uebersicht): void
. "\n WHERE termin_aktion_id = $id"
. "\n GROUP BY #__sportsmanager_termin_aktion.termin_aktion_id";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if (count($rows) < 1) die ("Wrong id");
$terminaktion = $rows[0];
@@ -16738,12 +15128,7 @@ function adminTerminDetails($admin_uebersicht): void
. "\n WHERE termin_bezug_id = $terminaktion->termin_bezug_id"
. "\n GROUP BY #__sportsmanager_termin_aktion.termin_aktion_id"
. "\n ORDER BY aktion_zeitpunkt DESC, bezeichnung";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $terminaktionen = $db->loadObjectList();
-
+ $terminaktionen = loadObjectList($db, $query);
HTML_sportsmanager_admin::adminTerminDetails($terminaktion, $terminaktionen, $nur_beantragte, $admin_uebersicht, $uebersicht, isExternalDatabase());
}
@@ -16757,12 +15142,7 @@ function adminTermineBezeichnungen($admin_uebersicht): void
$query = "SELECT *"
. "\n FROM #__sportsmanager_termin_bezeichnung"
. "\n ORDER BY bezeichnung";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $bezeichnungen = $db->loadObjectList();
-
+ $bezeichnungen = loadObjectList($db, $query);
HTML_sportsmanager_admin::adminTermineBezeichnungen($bezeichnungen, $admin_uebersicht);
}
@@ -16780,11 +15160,7 @@ function adminEditTermineBezeichnung($admin_uebersicht): void
$bezeichnung = null;
} else {
$query = "SELECT * FROM #__sportsmanager_termin_bezeichnung WHERE termin_bezeichnung_id = $id";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if (count($rows) < 1) die ("Wrong id");
$bezeichnung = $rows[0];
}
@@ -16810,11 +15186,7 @@ function adminEditTermineBezeichnung($admin_uebersicht): void
if (!empty($id) && $termine_umbenennen) {
$query = "SELECT * FROM #__sportsmanager_termin_bezeichnung WHERE termin_bezeichnung_id = $id";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if (count($rows) < 1) die ("Wrong id");
$alte_bezeichnung = $db->escape($rows[0]->bezeichnung);
@@ -16828,11 +15200,7 @@ function adminEditTermineBezeichnung($admin_uebersicht): void
}
$query = "SELECT * FROM #__sportsmanager_termin_bezeichnung WHERE bezeichnung = '$bezeichnung' AND termin_bezeichnung_id != $id";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
// Datenbankeintrag verwerfen, falls Bezeichnung schon existiert
if (count($rows) > 0) {
if (!empty($id)) {
@@ -16889,12 +15257,7 @@ function adminTermineBezeichnungszusaetze($admin_uebersicht): void
$query = "SELECT *"
. "\n FROM #__sportsmanager_termin_bezeichnungszusatz"
. "\n ORDER BY bezeichnungszusatz";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $bezeichnungszusaetze = $db->loadObjectList();
-
+ $bezeichnungszusaetze = loadObjectList($db, $query);
HTML_sportsmanager_admin::adminTermineBezeichnungszusaetze($bezeichnungszusaetze, $admin_uebersicht);
}
@@ -16912,11 +15275,7 @@ function adminEditTermineBezeichnungszusatz($admin_uebersicht): void
$bezeichnungszusatz = null;
} else {
$query = "SELECT * FROM #__sportsmanager_termin_bezeichnungszusatz WHERE termin_bezeichnungszusatz_id = $id";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if (count($rows) < 1) die ("Wrong id");
$bezeichnungszusatz = $rows[0];
}
@@ -16943,11 +15302,7 @@ function adminEditTermineBezeichnungszusatz($admin_uebersicht): void
if (!empty($id) && $termine_umbenennen) {
$query = "SELECT * FROM #__sportsmanager_termin_bezeichnungszusatz WHERE termin_bezeichnungszusatz_id = $id";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if (count($rows) < 1) die ("Wrong id");
$alter_bezeichnungszusatz = $db->escape($rows[0]->bezeichnungszusatz);
@@ -16961,11 +15316,7 @@ function adminEditTermineBezeichnungszusatz($admin_uebersicht): void
}
$query = "SELECT * FROM #__sportsmanager_termin_bezeichnungszusatz WHERE bezeichnungszusatz = '$bezeichnungszusatz' AND termin_bezeichnungszusatz_id != $id";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
// Datenbankeintrag verwerfen, falls Bezeichnungszusatz schon existiert
if (count($rows) > 0) {
if (!empty($id)) {
@@ -17024,12 +15375,7 @@ function adminTermineBundeslaender($admin_uebersicht): void
$query = "SELECT *"
. "\n FROM #__sportsmanager_termin_bundesland"
. "\n ORDER BY bundesland";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $bundeslaender = $db->loadObjectList();
-
+ $bundeslaender = loadObjectList($db, $query);
HTML_sportsmanager_admin::adminTermineBundeslaender($bundeslaender, $admin_uebersicht);
}
@@ -17047,11 +15393,7 @@ function adminEditTermineBundesland($admin_uebersicht): void
$bundesland = null;
} else {
$query = "SELECT * FROM #__sportsmanager_termin_bundesland WHERE termin_bundesland_id = $id";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if (count($rows) < 1) die ("Wrong id");
$bundesland = $rows[0];
}
@@ -17077,11 +15419,7 @@ function adminEditTermineBundesland($admin_uebersicht): void
if ($termine_umbenennen) {
$query = "SELECT * FROM #__sportsmanager_termin_bundesland WHERE termin_bundesland_id = $id";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if (count($rows) < 1) die ("Wrong id");
$altes_bundesland = $db->escape($rows[0]->bundesland);
@@ -17095,11 +15433,7 @@ function adminEditTermineBundesland($admin_uebersicht): void
}
$query = "SELECT * FROM #__sportsmanager_termin_bundesland WHERE bundesland = '$bundesland' AND termin_bundesland_id != $id";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
// Datenbankeintrag verwerfen, falls Bundesland schon existiert
if (count($rows) > 0) {
if (!empty($id)) {
@@ -17156,12 +15490,7 @@ function adminTermineLaender($admin_uebersicht): void
$query = "SELECT *"
. "\n FROM #__sportsmanager_termin_land"
. "\n ORDER BY land";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $laender = $db->loadObjectList();
-
+ $laender = loadObjectList($db, $query);
HTML_sportsmanager_admin::adminTermineLaender($laender, $admin_uebersicht);
}
@@ -17179,11 +15508,7 @@ function adminEditTermineLand($admin_uebersicht): void
$land = null;
} else {
$query = "SELECT * FROM #__sportsmanager_termin_land WHERE termin_land_id = $id";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if (count($rows) < 1) die ("Wrong id");
$land = $rows[0];
}
@@ -17210,11 +15535,7 @@ function adminEditTermineLand($admin_uebersicht): void
if ($termine_umbenennen) {
$query = "SELECT * FROM #__sportsmanager_termin_land WHERE termin_land_id = $id";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if (count($rows) < 1) die ("Wrong id");
$altes_land = $db->escape($rows[0]->land);
@@ -17228,11 +15549,7 @@ function adminEditTermineLand($admin_uebersicht): void
}
$query = "SELECT * FROM #__sportsmanager_termin_land WHERE land = '$land' AND termin_land_id != $id";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
// Datenbankeintrag verwerfen, falls Bundesland schon existiert
if (count($rows) > 0) {
if (!empty($id)) {
@@ -17289,12 +15606,7 @@ function adminTermineSymbole($admin_uebersicht): void
$query = "SELECT *"
. "\n FROM #__sportsmanager_termin_symbol"
. "\n ORDER BY status DESC, symboltitel";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $symbole = $db->loadObjectList();
-
+ $symbole = loadObjectList($db, $query);
HTML_sportsmanager_admin::adminTermineSymbole($symbole, $admin_uebersicht);
}
@@ -17312,11 +15624,7 @@ function adminEditTermineSymbol($admin_uebersicht): void
$symbol = null;
} else {
$query = "SELECT * FROM #__sportsmanager_termin_symbol WHERE termin_symbol_id = $id";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if (count($rows) < 1) die ("Wrong id");
$symbol = $rows[0];
}
@@ -17427,58 +15735,30 @@ function adminEditIndividualwettbewerb(): void
$row = null;
else {
$query = "SELECT * FROM #__sportsmanager_individualwettbewerb WHERE individualwettbewerb_id = $id";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if (count($rows) < 1) die("Wrong id!");
$row = $rows[0];
}
$query = "SELECT * FROM #__sportsmanager_veranstalter ORDER BY veranstalterbezeichnung";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $veranstalter = $db->loadObjectList();
-
+ $veranstalter = loadObjectList($db, $query);
$query = "SELECT nummer, bezeichnung FROM #__sportsmanager_kategorie WHERE typ = 6 ORDER BY nummer";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows_kategorien = $db->loadObjectList();
-
+ $rows_kategorien = loadObjectList($db, $query);
$kategorien = array();
foreach ($rows_kategorien as $kategorie)
$kategorien[$kategorie->nummer] = $kategorie->bezeichnung;
$query = "SELECT * FROM #__sportsmanager_saison ORDER BY saisonbezeichnung DESC";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $saisons = $db->loadObjectList();
-
+ $saisons = loadObjectList($db, $query);
if (empty($id)) {
$berechtigt_fuer_individualwettbewerb = array();
} else {
$query = "SELECT #__sportsmanager_berechtigt_fuer_individualwettbewerb.* FROM #__sportsmanager_berechtigt_fuer_individualwettbewerb, #__users WHERE berechtigt_user_id = id AND berechtigt_individualwettbewerb_id = $id ORDER BY username, name";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $berechtigt_fuer_individualwettbewerb = $db->loadObjectList();
+ $berechtigt_fuer_individualwettbewerb = loadObjectList($db, $query);
}
$query = "SELECT * FROM #__users ORDER BY name, username";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $users = $db->loadObjectList();
-
+ $users = loadObjectList($db, $query);
HTML_sportsmanager_admin::adminEditIndividualwettbewerb($row, $veranstalter, $kategorien, $saisons, $users, $berechtigt_fuer_individualwettbewerb, $vorlage);
}
@@ -17512,12 +15792,7 @@ function adminEditIndividualwettbewerb(): void
$elo_aktualisieren = false;
if ($vorlage) {
$query = "SELECT * FROM #__sportsmanager_individualwettbewerb_platzierung WHERE individualwettbewerb_id = $id";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
-
+ $rows = loadObjectList($db, $query);
$query = "INSERT #__sportsmanager_individualwettbewerb"
. "\n SET veranstalter_id = '$veranstalterId',"
. "\n bezeichnung = '$bezeichnung',"
@@ -17564,11 +15839,7 @@ function adminEditIndividualwettbewerb(): void
$id = $db->insertid();
} else {
$query = "SELECT * FROM #__sportsmanager_individualwettbewerb WHERE individualwettbewerb_id = $id";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if (count($rows) < 1) {
redirectSportsManagerURL('&task=admin_uebersicht', "Der Individualwettbewerb existiert nicht mehr!");
}
@@ -17604,12 +15875,7 @@ function adminEditIndividualwettbewerb(): void
}
$query = "SELECT * FROM #__sportsmanager_berechtigt_fuer_individualwettbewerb WHERE berechtigt_individualwettbewerb_id = $id";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
-
+ $rows = loadObjectList($db, $query);
foreach ($rows as $row) {
$index = array_search($row->berechtigt_user_id, $berechtigt_fuer_individualwettbewerb_user_ids);
if ($index !== false) {
@@ -17626,11 +15892,7 @@ function adminEditIndividualwettbewerb(): void
}
$query = "SELECT DATE(MIN(zeitpunkt)) FROM #__sportsmanager_individualwettbewerb_spiel WHERE individualwettbewerb_id = $id";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $aktualisieren_ab_datum = $db->loadResult();
+ $aktualisieren_ab_datum = loadResult($db, $query);
if ($elo_aktualisieren && $aktualisieren_ab_datum != null) {
eloAktualisieren($aktualisieren_ab_datum);
@@ -17650,12 +15912,7 @@ function individualwettbewerbTabelleAktualisieren($id = null): void
$query = "SELECT * FROM #__sportsmanager_individualwettbewerb";
if (!empty($id))
$query .= "\n WHERE individualwettbewerb_id = $id";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $individualwettbewerbe = $db->loadObjectList();
-
+ $individualwettbewerbe = loadObjectList($db, $query);
foreach ($individualwettbewerbe as $individualwettbewerb) {
$individualwettbewerb_id = $individualwettbewerb->individualwettbewerb_id;
if ($individualwettbewerb->tabellenwertung == 0) {
@@ -17671,22 +15928,12 @@ function individualwettbewerbTabelleAktualisieren($id = null): void
$query = "SELECT heim_spieler_1_id, heim_spieler_2_id, gast_spieler_1_id, gast_spieler_2_id, ergebnis FROM #__sportsmanager_individualwettbewerb_spiel"
. "\n WHERE individualwettbewerb_id = $individualwettbewerb_id"
. "\n ORDER BY zeitpunkt, individualwettbewerb_spiel_id";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $spiele = $db->loadObjectList();
-
+ $spiele = loadObjectList($db, $query);
$query = "SELECT *"
. "\n FROM #__sportsmanager_individualwettbewerb_ausgangsplatzierung"
. "\n WHERE individualwettbewerb_id = $individualwettbewerb_id"
. "\n ORDER BY platz";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $ausgangsplatzierungen = $db->loadObjectList();
-
+ $ausgangsplatzierungen = loadObjectList($db, $query);
$platzierungen = array();
foreach ($ausgangsplatzierungen as $ausgangsplatzierung)
$platzierungen[] = $ausgangsplatzierung->spieler_id;
@@ -17714,12 +15961,7 @@ function individualwettbewerbTabelleAktualisieren($id = null): void
$query = "SELECT * FROM #__sportsmanager_individualwettbewerb_platzierung"
. "\n WHERE individualwettbewerb_id = $individualwettbewerb_id";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $platzierungen_vorhanden = $db->loadObjectList();
-
+ $platzierungen_vorhanden = loadObjectList($db, $query);
$platzierungen_uebrig = $platzierungen;
foreach ($platzierungen_vorhanden as $platzierung_vorhanden) {
$index = array_search($platzierung_vorhanden->spieler_id, $platzierungen);
@@ -17772,22 +16014,14 @@ function individualwettbewerbTabelleAktualisieren($id = null): void
$id = $jInput->get('id', 0, 'INT');
$query = "SELECT * FROM #__sportsmanager_individualwettbewerb WHERE individualwettbewerb_id = $id";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if (count($rows) < 1) {
redirectSportsManagerURL('&task=admin_uebersicht', "Der Individualwettbewerb existiert nicht mehr!");
}
$row = $rows[0];
$query = "SELECT DATE(MIN(zeitpunkt)) FROM #__sportsmanager_individualwettbewerb_spiel WHERE individualwettbewerb_id = $id";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $aktualisieren_ab_datum = $db->loadResult();
+ $aktualisieren_ab_datum = loadResult($db, $query);
$query = "DELETE FROM #__sportsmanager_berechtigt_fuer_individualwettbewerb WHERE berechtigt_individualwettbewerb_id = $id";
$db->setQuery($query);
@@ -17839,11 +16073,7 @@ function adminIndividualwettbewerbSpiele(): void
keinZugriff(true);
$query = "SELECT * FROM #__sportsmanager_individualwettbewerb WHERE individualwettbewerb_id = $individualwettbewerbId";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if (count($rows) < 1) die("Wrong id!");
$row = $rows[0];
@@ -17862,12 +16092,7 @@ function adminIndividualwettbewerbSpiele(): void
. "\n LEFT JOIN #__sportsmanager_spieler AS tgast2 ON tgast2.spieler_id = gast_spieler_2_id"
. "\n WHERE individualwettbewerb_id = $individualwettbewerbId"
. "\n ORDER BY zeitpunkt DESC, individualwettbewerb_spiel_id DESC";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $spiele = $db->loadObjectList();
-
+ $spiele = loadObjectList($db, $query);
if ($row->tabellenwertung) {
$query = "SELECT spieler_id, nachname, vorname, vereinsname, aktueller_verein_id, platz, bild_ausblenden"
. "\n FROM #__sportsmanager_individualwettbewerb_ausgangsplatzierung"
@@ -17875,11 +16100,7 @@ function adminIndividualwettbewerbSpiele(): void
. "\n LEFT JOIN #__sportsmanager_verein ON aktueller_verein_id = verein_id"
. "\n WHERE individualwettbewerb_id = $individualwettbewerbId"
. "\n ORDER BY platz, nachname, vorname";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $ausgangsplatzierungen = $db->loadObjectList();
+ $ausgangsplatzierungen = loadObjectList($db, $query);
} else {
$ausgangsplatzierungen = null;
}
@@ -17897,11 +16118,7 @@ function adminEditIndividualwettbewerbSpiel(): void
$individualwettbewerbId = $jInput->get('individualwettbewerbid', 0, 'INT');
$query = "SELECT * FROM #__sportsmanager_individualwettbewerb WHERE individualwettbewerb_id = $individualwettbewerbId";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if (count($rows) < 1) die("Wrong id!");
$individualwettbewerb = $rows[0];
@@ -17916,11 +16133,7 @@ function adminEditIndividualwettbewerbSpiel(): void
$spiel_spieler_ids = null;
} else {
$query = "SELECT * FROM #__sportsmanager_individualwettbewerb_spiel WHERE individualwettbewerb_spiel_id = $id AND individualwettbewerb_id = $individualwettbewerbId";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if (count($rows) < 1) die("Wrong id!");
$row = $rows[0];
@@ -17934,12 +16147,7 @@ function adminEditIndividualwettbewerbSpiel(): void
. "\n FROM #__sportsmanager_spieler"
. "\n WHERE NOT ISNULL(aktueller_verein_id)" . (!empty($spiel_spieler_ids) ? (" OR spieler_id IN (" . implode(", ", $spiel_spieler_ids) . ")") : "")
. "\n ORDER BY nachname, vorname";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $spieler = $db->loadObjectList();
-
+ $spieler = loadObjectList($db, $query);
HTML_sportsmanager_admin::adminEditIndividualwettbewerbSpiel($row, $typ, $individualwettbewerb, $spieler);
}
@@ -17995,11 +16203,7 @@ function adminEditIndividualwettbewerbSpiel(): void
if (!empty($id)) {
$query = "SELECT * FROM #__sportsmanager_individualwettbewerb_spiel WHERE individualwettbewerb_spiel_id = $id AND individualwettbewerb_id = $individualwettbewerbId";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if (count($rows) < 1) die("Wrong id!");
$spiel = $rows[0];
@@ -18011,11 +16215,7 @@ function adminEditIndividualwettbewerbSpiel(): void
}
$query = "SELECT * FROM #__sportsmanager_individualwettbewerb WHERE individualwettbewerb_id = $individualwettbewerbId";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if (count($rows) < 1) die("Wrong id!");
$individualwettbewerb = $rows[0];
@@ -18076,20 +16276,12 @@ function adminEditIndividualwettbewerbSpiel(): void
keinZugriff(true);
$query = "SELECT * FROM #__sportsmanager_individualwettbewerb WHERE individualwettbewerb_id = $individualwettbewerbId";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if (count($rows) < 1) die("Wrong id!");
$individualwettbewerb = $rows[0];
$query = "SELECT * FROM #__sportsmanager_individualwettbewerb_spiel WHERE individualwettbewerb_spiel_id = $id AND individualwettbewerb_id = $individualwettbewerbId";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if (count($rows) < 1) die("Wrong id!");
$spiel = $rows[0];
@@ -18124,11 +16316,7 @@ function adminEditIndividualwettbewerbAusgangsplatzierung(): void
$individualwettbewerbId = $jInput->get('individualwettbewerbid', 0, 'INT');
$query = "SELECT * FROM #__sportsmanager_individualwettbewerb WHERE individualwettbewerb_id = $individualwettbewerbId";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if (count($rows) < 1) die("Wrong id!");
$individualwettbewerb = $rows[0];
@@ -18145,12 +16333,7 @@ function adminEditIndividualwettbewerbAusgangsplatzierung(): void
. "\n LEFT JOIN #__sportsmanager_verein ON aktueller_verein_id = verein_id"
. "\n WHERE individualwettbewerb_id = $individualwettbewerbId"
. "\n ORDER BY platz, nachname, vorname";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $ausgangsplatzierungen = $db->loadObjectList();
-
+ $ausgangsplatzierungen = loadObjectList($db, $query);
$row = null;
if (!empty($id)) {
foreach ($ausgangsplatzierungen as $ausgangsplatzierung) {
@@ -18166,12 +16349,7 @@ function adminEditIndividualwettbewerbAusgangsplatzierung(): void
. "\n FROM #__sportsmanager_spieler"
. "\n WHERE NOT ISNULL(aktueller_verein_id)" . (!empty($spiel_spieler_ids) ? (" OR spieler_id IN (" . implode($spiel_spieler_ids, ", ") . ")") : "")
. "\n ORDER BY nachname, vorname";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $spieler = $db->loadObjectList();
-
+ $spieler = loadObjectList($db, $query);
HTML_sportsmanager_admin::adminEditIndividualwettbewerbAusgangsplatzierung($row, $individualwettbewerb, $ausgangsplatzierungen, $spieler);
}
@@ -18196,23 +16374,14 @@ function adminEditIndividualwettbewerbAusgangsplatzierung(): void
}
$query = "SELECT * FROM #__sportsmanager_spieler WHERE spieler_id = $id";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if (count($rows) < 1) die("Wrong id!");
$query = "SELECT *"
. "\n FROM #__sportsmanager_individualwettbewerb_ausgangsplatzierung"
. "\n WHERE individualwettbewerb_id = $individualwettbewerbId"
. "\n ORDER BY platz";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $ausgangsplatzierungen = $db->loadObjectList();
-
+ $ausgangsplatzierungen = loadObjectList($db, $query);
$platzierungen = array();
foreach ($ausgangsplatzierungen as $ausgangsplatzierung)
$platzierungen[] = $ausgangsplatzierung->spieler_id;
@@ -18280,23 +16449,14 @@ function adminEditIndividualwettbewerbAusgangsplatzierung(): void
keinZugriff(true);
$query = "SELECT * FROM #__sportsmanager_individualwettbewerb WHERE individualwettbewerb_id = $individualwettbewerbId";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if (count($rows) < 1) die("Wrong id!");
$query = "SELECT *"
. "\n FROM #__sportsmanager_individualwettbewerb_ausgangsplatzierung"
. "\n WHERE individualwettbewerb_id = $individualwettbewerbId"
. "\n ORDER BY platz";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $ausgangsplatzierungen = $db->loadObjectList();
-
+ $ausgangsplatzierungen = loadObjectList($db, $query);
$platzierungen = array();
foreach ($ausgangsplatzierungen as $ausgangsplatzierung)
$platzierungen[] = $ausgangsplatzierung->spieler_id;
diff --git a/src/structure/components/com_sportsmanager/api.php b/src/structure/components/com_sportsmanager/api.php
index 95fb11f..f8dcc08 100644
--- a/src/structure/components/com_sportsmanager/api.php
+++ b/src/structure/components/com_sportsmanager/api.php
@@ -4,10 +4,8 @@
*/
use JetBrains\PhpStorm\NoReturn;
-use Joomla\CMS\Application\AdministratorApplication;
use Joomla\CMS\Application\SiteApplication;
use Joomla\CMS\Factory;
-use Joomla\CMS\User\UserFactory;
use Joomla\CMS\User\UserFactoryInterface;
use Joomla\Registry\Registry;
@@ -43,8 +41,7 @@ function notifyChange($data): void
try {
$db = getDatabase();
$query = "SELECT wert from #__sportsmanager_einstellungen WHERE name='api_push_key'";
- $db->setQuery($query);
- $push_key = $db->loadResult();
+ $push_key = loadResult($db, $query);
$push_server = !empty($push_key) && isset(_payload($push_key)->aud) ? _payload($push_key)->aud : '';
if ($push_server != '' && $push_key != '') {
$url = $push_server . (str_ends_with($push_server, '/') ? '' : '/') . 'v1/notifications/send';
@@ -137,11 +134,8 @@ function begegnungVerlegenNotify($begegnung, $users, $vorschlagendes_team_id, $h
$expires->modify('+16 hours');
$db = getDatabase();
$query = "SELECT berechtigt_team_id from #__sportsmanager_berechtigt_fuer_team where berechtigt_user_id = $user_id";
- $db->setQuery($query);
- if (!$db->execute()) {
- abortWithError($db->stderr(true));
- }
- $team_id = $db->loadObjectList();
+ $team_id = loadObjectList($db, $query);
+
JSON_sportsmanager::JSON([
'token' => jwt_token([
'sub' => $user_id,
@@ -180,8 +174,7 @@ function begegnungVerlegenNotify($begegnung, $users, $vorschlagendes_team_id, $h
$db = getDatabase();
$query = $db->getQuery(true);
$query->select('id')->from('#__users')->where('username = "' . $username . '"')->setLimit(1);
- $db->setQuery($query);
- $user_id = $db->loadResult();
+ $user_id = loadResult($db, $query);
$user = $container->get(UserFactoryInterface::class)->loadUserById($user_id);
//TODO: pw verification modernising: use php native methods, however this also needs new pw hashing. maybe force a pw reset on all accounts
diff --git a/src/structure/components/com_sportsmanager/database/init.php b/src/structure/components/com_sportsmanager/database/init.php
index 77b57b1..6ccbaa5 100644
--- a/src/structure/components/com_sportsmanager/database/init.php
+++ b/src/structure/components/com_sportsmanager/database/init.php
@@ -7,6 +7,8 @@ use Joomla\Database\DatabaseInterface;
use Joomla\Database\Mysql\MysqlDriver;
use Joomla\Database\Mysqli\MysqliDriver;
+require_once JPATH_SITE . '/components/com_sportsmanager/database/util.php';
+
function initDatabase(): void
{
global $sportsmanager_database_local;
@@ -22,11 +24,7 @@ function initDatabase(): void
$sportsmanager_database_local = Factory::getContainer()->get(DatabaseInterface::class);
$query = "SELECT * FROM #__sportsmanager_einstellungen";
- $sportsmanager_database_local->setQuery($query);
- if (!$sportsmanager_database_local->execute()) {
- die($sportsmanager_database_local->stderr(true));
- }
- $rows = $sportsmanager_database_local->loadObjectList();
+ $rows = loadObjectList($sportsmanager_database_local, $query);
$database_driver = "mysql";
$database_host = "";
@@ -75,14 +73,13 @@ function initDatabase(): void
if ($sportsmanager_database_external === NULL) {
echo "" . Text::_('COM_SPORTSMANAGER_CONNECTION_EXTERNAL_DB_FAILURE') . "
";
} else {
- $query = "SELECT wert FROM #__sportsmanager_einstellungen WHERE name = 'datenbank_version'";
- $sportsmanager_database_external->setQuery($query);
try {
if (!$sportsmanager_database_external->execute()) {
echo "" . Text::_('COM_SPORTSMANAGER_EXTERNAL_DB_NO_SM_TABLES') . "
";
$sportsmanager_database_external = NULL;
} else {
- $db_version = $sportsmanager_database_external->loadResult();
+ $query = "SELECT wert FROM #__sportsmanager_einstellungen WHERE name = 'datenbank_version'";
+ $db_version = loadResult($sportsmanager_database_external, $query);
if ($db_version < 38) {
echo "" . Text::_('COM_SPORTSMANAGER_EXTERNAL_DB_NO_SM_VERSION') . "
";
$sportsmanager_database_external = NULL;
diff --git a/src/structure/components/com_sportsmanager/database/update.php b/src/structure/components/com_sportsmanager/database/update.php
index b39b2d4..9b3055b 100644
--- a/src/structure/components/com_sportsmanager/database/update.php
+++ b/src/structure/components/com_sportsmanager/database/update.php
@@ -20,27 +20,15 @@ function updateDatabase(): void
$termin_aktionen_email_setzen = false;
$query = "SHOW TABLE STATUS WHERE name = '" . $db->getPrefix() . "tsleague_basis' || name = '" . $db->getPrefix() . "tsleague_einstellungen'";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if (count($rows) > 0) {
$query = "SHOW TABLE STATUS WHERE name = '" . $db->getPrefix() . "tsleague_basis'";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if (count($rows) > 0) {
$query = "SELECT * FROM #__tsleague_basis";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if (count($rows) == 0)
die(Text::_('COM_SPORTSMANAGER_EXTERNAL_DB_INCONSISTENCY'));
@@ -337,11 +325,7 @@ function updateDatabase(): void
if ($datenbank_version < 9) {
$query = "SELECT spieler_id, geschlecht"
. "\n FROM #__tsleague_spieler";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $spieler = $db->loadObjectList();
+ $spieler = loadObjectList($db, $query);
$query = "ALTER TABLE #__tsleague_spieler CHANGE geschlecht geschlecht char(1)";
$db->setQuery($query);
@@ -855,11 +839,7 @@ function updateDatabase(): void
}
$query = "SELECT * FROM #__tsleague_einstellungen WHERE name = 'datenbank_version'";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if (count($rows) == 0)
die(Text::_('COM_SPORTSMANAGER_EXTERNAL_DB_INCONSISTENCY'));
@@ -1728,11 +1708,7 @@ function updateDatabase(): void
}
$query = "SELECT * FROM #__sportsmanager_einstellungen WHERE name = 'datenbank_version'";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if (count($rows) == 0)
die(Text::_('COM_SPORTSMANAGER_EXTERNAL_DB_INCONSISTENCY'));
@@ -2174,11 +2150,7 @@ function updateDatabase(): void
. "\n SELECT YEAR(erster_tag) AS jahr FROM #__sportsmanager_bestenliste WHERE NOT ISNULL(erster_tag)"
. "\n GROUP BY jahr"
. "\n ORDER BY jahr";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $jahre = $db->loadObjectList();
+ $jahre = loadObjectList($db, $query);
if (count($jahre) > 0) {
foreach ($jahre as $jahr) {
@@ -2199,11 +2171,7 @@ function updateDatabase(): void
}
$query = "SELECT * FROM #__sportsmanager_saison ORDER BY saisonbezeichnung DESC LIMIT 1";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $saisons = $db->loadObjectList();
+ $saisons = loadObjectList($db, $query);
$aktuelle_saison_id = $saisons[0]->saison_id;
// Saisons den Veranstaltungen zuordnen
@@ -2644,11 +2612,7 @@ function updateDatabase(): void
. "\n INNER JOIN #__sportsmanager_veranstaltung USING (veranstaltung_id)"
. "\n LEFT JOIN #__sportsmanager_saison USING (saison_id)"
. "\n ORDER BY heimspielort_name, heimspielort_anschrift";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $teams = $db->loadObjectList();
+ $teams = loadObjectList($db, $query);
$heimspielort_name = "";
$heimspielort_strasse = "";
@@ -3020,11 +2984,7 @@ function updateDatabase(): void
$query = "SELECT * FROM #__sportsmanager_turniervoranmeldung"
. "\n ORDER BY turnierdisziplin_id";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
foreach ($rows as $row) {
$query = "INSERT INTO #__sportsmanager_turniermeldung (turnierdisziplin_id, rundenstufe, platz)"
@@ -3215,11 +3175,7 @@ function updateDatabase(): void
if ($datenbank_version < 40) {
$query = "SELECT * FROM #__sportsmanager_kategorie ORDER BY typ, nummer, kategorie_id DESC";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
$typ = -1;
$nummer = -1;
@@ -4053,11 +4009,7 @@ function updateDatabase(): void
}
$query = "SELECT * FROM #__sportsmanager_moderator";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
foreach ($rows as $row) {
$moderator_id = $row->moderator_id;
@@ -5214,8 +5166,7 @@ function updateDatabase(): void
->from('INFORMATION_SCHEMA.COLUMNS')
->where('TABLE_NAME = ' . $db->quote($db->replacePrefix('#__sportsmanager_rangliste')))
->where('COLUMN_NAME = ' . $db->quote('lizenzen'));
- $db->setQuery($query);
- $exists = (bool)$db->loadResult();
+ $exists = (bool)loadResult($db, $query);
if (!$exists) {
$query = "ALTER TABLE #__sportsmanager_rangliste ADD lizenzen varchar(30) DEFAULT NULL AFTER streichergebnisse";
@@ -5230,8 +5181,7 @@ function updateDatabase(): void
->from('INFORMATION_SCHEMA.COLUMNS')
->where('TABLE_NAME = ' . $db->quote($db->replacePrefix('#__sportsmanager_spieler')))
->where('COLUMN_NAME = ' . $db->quote('lizenz'));
- $db->setQuery($query);
- $exists = (bool)$db->loadResult();
+ $exists = (bool)loadResult($db, $query);
if (!$exists) {
$query = "ALTER TABLE #__sportsmanager_spieler ADD lizenz varchar(30) DEFAULT NULL AFTER lizenznr";
@@ -5266,14 +5216,112 @@ function updateDatabase(): void
}
}
- if ($termin_aktionen_email_setzen) {
- $query = "SELECT aktion_user_id, termin_aktion_id"
- . "\n FROM #__sportsmanager_termin_aktion";
+ if ($datenbank_version < 104) {
+
+ $query = "ALTER TABLE #__sportsmanager_veranstaltung ADD direktervergleich INT(4) NOT NULL DEFAULT '0' AFTER tabellenwertung;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ $query = "ALTER TABLE #__sportsmanager_team ADD setzliste_nr INT(4) NULL DEFAULT NULL AFTER veranstaltung_id;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ $query = "ALTER TABLE #__sportsmanager_begegnung ADD spiel_nr INT(4) NULL DEFAULT NULL AFTER spieltag;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ $query = "UPDATE #__sportsmanager_einstellungen"
+ . "\n SET wert = '104'"
+ . "\n WHERE name = 'datenbank_version'";
$db->setQuery($query);
if (!$db->execute()) {
die($db->stderr(true));
}
- $rows = $db->loadObjectList();
+ }
+
+ if ($datenbank_version < 105) {
+
+ $query = "ALTER TABLE `#__sportsmanager_begegnung` ADD `spieltag_titel` VARCHAR(32) NOT NULL DEFAULT '' AFTER `spieltag`;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ $query = "ALTER TABLE `#__sportsmanager_veranstaltung` ADD `spieltag_titel_zeigen` INT(4) NOT NULL DEFAULT '0' AFTER `unterteilung`;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ $query = "ALTER TABLE `#__sportsmanager_team` ADD `teamname_kurz` VARCHAR(24) NOT NULL DEFAULT '' AFTER `teamname`;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ $query = "UPDATE #__sportsmanager_einstellungen"
+ . "\n SET wert = '105'"
+ . "\n WHERE name = 'datenbank_version'";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+
+ if ($datenbank_version < 106) {
+
+ $query = "ALTER TABLE `#__sportsmanager_verein` ADD `verstecken` INT(4) NOT NULL DEFAULT '0' AFTER `ausgetreten`;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ $query = "UPDATE #__sportsmanager_einstellungen"
+ . "\n SET wert = '106'"
+ . "\n WHERE name = 'datenbank_version'";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+
+ if ($datenbank_version < 107) {
+
+ $query = "INSERT IGNORE #__sportsmanager_einstellungen SET name = 'anzahl_mitglieder_zeigen', wert = '0';";
+ $db->setQuery( $query );
+ if (!$db->execute()) { die($db->stderr(true)); }
+
+ $query = "INSERT IGNORE #__sportsmanager_einstellungen SET name = 'verband_anzeigen', wert = '1';";
+ $db->setQuery( $query );
+ if (!$db->execute()) { die($db->stderr(true)); }
+
+ $query = "INSERT IGNORE #__sportsmanager_einstellungen SET name = 'turnierbaum_zeigen', wert = '0';";
+ $db->setQuery( $query );
+ if (!$db->execute()) { die($db->stderr(true)); }
+
+ $query = "INSERT IGNORE #__sportsmanager_einstellungen SET name = 'spalte_mitglieder_zeigen', wert = '1';";
+ $db->setQuery( $query );
+ if (!$db->execute()) { die($db->stderr(true)); }
+
+ $query = "UPDATE #__sportsmanager_einstellungen"
+ . "\n SET wert = '107'"
+ . "\n WHERE name = 'datenbank_version'";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+
+ if ($termin_aktionen_email_setzen) {
+ $query = "SELECT aktion_user_id, termin_aktion_id"
+ . "\n FROM #__sportsmanager_termin_aktion";
+ $rows = loadObjectList($db, $query);
foreach ($rows as $row) {
$container = Factory::getContainer();
diff --git a/src/structure/components/com_sportsmanager/database/util.php b/src/structure/components/com_sportsmanager/database/util.php
new file mode 100644
index 0000000..1baed48
--- /dev/null
+++ b/src/structure/components/com_sportsmanager/database/util.php
@@ -0,0 +1,47 @@
+setQuery($query);
+ $objList = $db->loadObjectList();
+ } catch (RuntimeException $e) {
+ Log::add("Database error: " . $e->getMessage(), Log::ERROR, "com_sportsmanager");
+ if(isJson()) {
+ abortWithError($e->getMessage());
+ } else {
+ throw $e;
+ }
+ }
+ return $objList;
+}
+
+/**
+ * @param $db
+ * @param $query
+ * @return mixed
+ * @since 2.0.5
+ */
+function loadResult($db, $query): mixed
+{
+ try {
+ $db->setQuery($query);
+ $result = $db->loadResult();
+ } catch (RuntimeException $e) {
+ Log::add("Database error: " . $e->getMessage(), Log::ERROR, "com_sportsmanager");
+ if(isJson()) {
+ abortWithError($e->getMessage());
+ } else {
+ throw $e;
+ }
+ }
+ return $result;
+}
diff --git a/src/structure/components/com_sportsmanager/mathparser.php b/src/structure/components/com_sportsmanager/mathparser.php
index a079639..6d64f7c 100644
--- a/src/structure/components/com_sportsmanager/mathparser.php
+++ b/src/structure/components/com_sportsmanager/mathparser.php
@@ -2323,6 +2323,10 @@ function mp_mult_($p1, $p2): float|int
*/
function mp_div_($p1, $p2): float|int
{
+ if ($p2 == 0) {
+ Log::add("Division by zero detected in mp_div_: divisor was 0. Returning 0 as fallback.", Log::WARNING, "com_sportsmanager");
+ return 0;
+ }
return $p1 / $p2;
}
diff --git a/src/structure/components/com_sportsmanager/sportsmanager.php b/src/structure/components/com_sportsmanager/sportsmanager.php
index 5601140..bec7237 100644
--- a/src/structure/components/com_sportsmanager/sportsmanager.php
+++ b/src/structure/components/com_sportsmanager/sportsmanager.php
@@ -15,7 +15,6 @@ use Joomla\CMS\Uri\Uri;
use Joomla\CMS\Version;
defined('_JEXEC') or die('Restricted access');
-const SPORTS_MANAGER_VERSION = "2.0.3";
function laufzeitInit(): void
{
@@ -43,7 +42,7 @@ require_once JPATH_SITE . '/components/com_sportsmanager/views/sportsmanager/vie
require_once JPATH_SITE . '/components/com_sportsmanager/views/sportsmanager/view_admin.php';
require_once JPATH_SITE . '/components/com_sportsmanager/views/sportsmanager/view_ticker.php';
require_once JPATH_SITE . '/components/com_sportsmanager/util/image.php';
-require_once JPATH_SITE . '/components/com_sportsmanager/database/update.php'; // will also include init.php
+require_once JPATH_SITE . '/components/com_sportsmanager/database/update.php'; // will also include init.php and util.php
initDatabase();
updateDatabase();
@@ -56,6 +55,7 @@ else if (isset($_REQUEST['filter_saison_id']))
global $content;
global $task;
global $params;
+
$app = Factory::getContainer()->get(SiteApplication::class);
$jInput = $app->input;
$task = $jInput->getCmd('task');
@@ -71,7 +71,7 @@ if ($task == "spielerbild") {
terminDokument();
} else if ($task == "spieler_details") {
spielerDetails();
-} else if (str_starts_with($task, "admin_")) {
+} else if ($task !== null && str_starts_with($task, "admin_")) {
// in some cases there are no breaks needed due to no return from method
switch ($task) {
case 'admin_einstellungen':
@@ -79,11 +79,13 @@ if ($task == "spielerbild") {
break;
case 'admin_einstellungen_save':
adminSaveEinstellungen();
+ break;
case 'admin_datenbank':
adminDatenbank();
break;
case 'admin_datenbank_save':
adminSaveDatenbank();
+ break;
case 'admin_spieler':
adminSpieler(1);
break;
@@ -92,13 +94,16 @@ if ($task == "spielerbild") {
break;
case 'admin_spieler_save':
adminSaveSpieler();
+ break;
case 'admin_spieler_remove':
adminRemoveSpieler();
+ break;
case 'admin_spieler_zusammenlegen_form':
adminSpielerZusammenlegenForm();
break;
case 'admin_spieler_zusammenlegen':
adminSpielerZusammenlegen();
+ break;
case 'admin_spieler_import_form':
adminImportSpielerForm();
break;
@@ -116,18 +121,22 @@ if ($task == "spielerbild") {
break;
case 'admin_spieler_export':
adminExportSpieler();
+ break;
case 'admin_spieler_export_international_form':
adminExportSpielerInternationalForm();
break;
case 'admin_spieler_export_international':
adminExportSpielerInternational();
+ break;
case 'admin_spieler_export_sport':
adminExportSpielerSport();
+ break;
case 'admin_spieler_remove_inaktive_form':
adminRemoveInaktiveSpielerForm();
break;
case 'admin_spieler_remove_inaktive':
adminRemoveInaktiveSpieler();
+ break;
case 'admin_vereine':
adminVereine();
break;
@@ -136,13 +145,16 @@ if ($task == "spielerbild") {
break;
case 'admin_verein_save':
adminSaveVerein();
+ break;
case 'admin_verein_remove':
adminRemoveVerein();
+ break;
case 'admin_vereine_zusammenlegen_form':
adminVereineZusammenlegenForm();
break;
case 'admin_vereine_zusammenlegen':
adminVereineZusammenlegen();
+ break;
case 'admin_vereinsmitglieder':
adminVereinsmitglieder();
break;
@@ -151,8 +163,10 @@ if ($task == "spielerbild") {
break;
case 'admin_vereinsmitglied_save':
adminSaveVereinsmitglied();
+ break;
case 'admin_vereinsmitglied_remove':
adminRemoveVereinsmitglied();
+ break;
case 'admin_spielorte':
adminSpielorte();
break;
@@ -161,13 +175,16 @@ if ($task == "spielerbild") {
break;
case 'admin_spielort_save':
adminSaveSpielort();
+ break;
case 'admin_spielort_remove':
adminRemoveSpielort();
+ break;
case 'admin_spielorte_zusammenlegen_form':
adminSpielorteZusammenlegenForm();
break;
case 'admin_spielorte_zusammenlegen':
adminSpielorteZusammenlegen();
+ break;
case 'admin_teamspiel_modi':
adminTeamspielModi();
break;
@@ -176,10 +193,13 @@ if ($task == "spielerbild") {
break;
case 'admin_teamspiel_modus_save':
adminSaveTeamspielmodus();
+ break;
case 'admin_teamspiel_modus_remove':
adminRemoveTeamspielmodus();
+ break;
case 'admin_teamspiel_modus_kopieren':
adminKopierenTeamspielmodus();
+ break;
case 'admin_verschieben_modi':
adminVerschiebenModi();
break;
@@ -188,13 +208,16 @@ if ($task == "spielerbild") {
break;
case 'admin_verschieben_modus_save':
adminSaveVerschiebenModus();
+ break;
case 'admin_verschieben_modus_remove':
adminRemoveVerschiebenModus();
+ break;
case 'admin_kategorien':
adminKategorien();
break;
case 'admin_kategorien_save':
adminSaveKategorien();
+ break;
case 'admin_ranglistensysteme':
adminRanglistensysteme();
break;
@@ -203,24 +226,31 @@ if ($task == "spielerbild") {
break;
case 'admin_ranglistensystem_save':
adminSaveRanglistensystem();
+ break;
case 'admin_ranglistensystem_auswertung':
adminRanglistensystemAuswertung();
break;
case 'admin_ranglistensystem_remove':
adminRemoveRanglistensystem();
+ break;
case 'admin_rangliste_edit':
adminEditRangliste();
break;
case 'admin_rangliste_save':
adminSaveRangliste();
+ break;
case 'admin_rangliste_remove':
adminRemoveRangliste();
+ break;
case 'admin_rangliste_kopieren':
adminKopierenRangliste();
+ break;
case 'admin_rangliste_system_zuruecksetzen':
adminRanglisteSystemZuruecksetzen();
+ break;
case 'admin_rangliste_disziplinen_entfernen':
adminRanglisteDisziplinenEntfernen();
+ break;
case 'admin_rangliste_turnierdisziplinen':
adminRanglisteTurnierdisziplinen();
break;
@@ -229,19 +259,25 @@ if ($task == "spielerbild") {
break;
case 'admin_rangliste_turnierdisziplin_save':
adminSaveRanglisteTurnierdisziplin();
+ break;
case 'admin_rangliste_turnierdisziplin_remove':
adminRemoveRanglisteTurnierdisziplin();
+ break;
case 'admin_spielerstatistik_edit':
adminEditSpielerstatistik();
break;
case 'admin_spielerstatistik_save':
adminSaveSpielerstatistik();
+ break;
case 'admin_spielerstatistik_remove':
adminRemoveSpielerstatistik();
+ break;
case 'admin_spielerstatistik_kopieren':
adminKopierenSpielerstatistik();
+ break;
case 'admin_spielerstatistik_veranstaltungen_entfernen':
adminSpielerstatistikVeranstaltungenEntfernen();
+ break;
case 'admin_spielerstatistik_veranstaltungen':
adminSpielerstatistikVeranstaltungen();
break;
@@ -250,15 +286,19 @@ if ($task == "spielerbild") {
break;
case 'admin_spielerstatistik_veranstaltung_save':
adminSaveSpielerstatistikVeranstaltung();
+ break;
case 'admin_spielerstatistik_veranstaltung_remove':
adminRemoveSpielerstatistikVeranstaltung();
+ break;
case 'admin_spielerstatistik_individualwettbewerb_edit':
adminEditSpielerstatistikIndividualwettbewerb();
break;
case 'admin_spielerstatistik_individualwettbewerb_save':
adminSaveSpielerstatistikIndividualwettbewerb();
+ break;
case 'admin_spielerstatistik_individualwettbewerb_remove':
adminRemoveSpielerstatistikIndividualwettbewerb();
+ break;
case 'admin_einstufungen':
adminEinstufungen();
break;
@@ -267,8 +307,10 @@ if ($task == "spielerbild") {
break;
case 'admin_einstufung_save':
adminSaveEinstufung();
+ break;
case 'admin_einstufung_remove':
adminRemoveEinstufung();
+ break;
case 'admin_saisons':
adminSaisons();
break;
@@ -277,8 +319,10 @@ if ($task == "spielerbild") {
break;
case 'admin_saison_save':
adminSaveSaison();
+ break;
case 'admin_saison_remove':
adminRemoveSaison();
+ break;
case 'admin_verteiler':
adminVerteiler();
break;
@@ -287,8 +331,10 @@ if ($task == "spielerbild") {
break;
case 'admin_verteiler_save':
adminSaveVerteiler();
+ break;
case 'admin_verteiler_remove':
adminRemoveVerteiler();
+ break;
case 'admin_rechnungen':
adminRechnungen();
break;
@@ -297,8 +343,10 @@ if ($task == "spielerbild") {
break;
case 'admin_rechnung_save':
adminSaveRechnung();
+ break;
case 'admin_rechnung_remove':
adminRemoveRechnung();
+ break;
case 'admin_moderatoren':
adminModeratoren();
break;
@@ -307,8 +355,10 @@ if ($task == "spielerbild") {
break;
case 'admin_moderator_save':
adminSaveModerator();
+ break;
case 'admin_moderator_remove':
adminRemoveModerator();
+ break;
case 'admin_veranstalter':
adminVeranstalter();
break;
@@ -317,15 +367,19 @@ if ($task == "spielerbild") {
break;
case 'admin_veranstalter_save':
adminSaveVeranstalter();
+ break;
case 'admin_veranstalter_remove':
adminRemoveVeranstalter();
+ break;
case 'admin_veranstaltung_edit':
adminEditVeranstaltung();
break;
case 'admin_veranstaltung_save':
adminSaveVeranstaltung();
+ break;
case 'admin_veranstaltung_remove':
adminRemoveVeranstaltung();
+ break;
case 'admin_teams':
adminMannschaften();
break;
@@ -334,18 +388,22 @@ if ($task == "spielerbild") {
break;
case 'admin_team_save':
adminSaveMannschaft();
+ break;
case 'admin_team_remove':
adminRemoveMannschaft();
+ break;
case 'admin_team_kopieren_form':
adminKopierenMannschaftForm();
break;
case 'admin_team_kopieren':
adminKopierenMannschaft();
+ break;
case 'admin_team_verknuepfen_form':
adminVerknuepfenMannschaftForm();
break;
case 'admin_team_verknuepfen':
adminVerknuepfenMannschaft();
+ break;
case 'admin_mitglieder':
adminMitglieder();
break;
@@ -354,6 +412,7 @@ if ($task == "spielerbild") {
break;
case 'admin_mitglied_save':
adminSaveMitglied();
+ break;
case 'admin_begegnungen':
adminBegegnungen();
break;
@@ -362,6 +421,7 @@ if ($task == "spielerbild") {
break;
case 'admin_begegnung_save':
adminSaveBegegnung();
+ break;
case 'admin_begegnung_remove':
adminRemoveBegegnung();
break;
@@ -398,8 +458,18 @@ if ($task == "spielerbild") {
case 'admin_begegnungen_runde_erzeugen_form':
adminBegegnungenRundeErzeugenForm();
break;
+ case 'admin_begegnungen_pokalrunde_auslosen_form':
+ adminBegegnungenPokalrundeAuslosenForm();
+ break;
case 'admin_begegnungen_runde_erzeugen':
adminBegegnungenRundeErzeugen();
+ break;
+ case 'admin_begegnungen_pokalrunde_auslosen':
+ adminBegegnungenPokalrundeAuslosen();
+ break;
+ case 'admin_begegnungen_pokalrunde_setzliste':
+ adminBegegnungenPokalrundeSetzliste();
+ break;
case 'admin_begegnungen_alle_entfernen':
adminBegegnungenAlleEntfernen();
break;
@@ -414,8 +484,10 @@ if ($task == "spielerbild") {
break;
case 'admin_individualwettbewerb_save':
adminSaveIndividualwettbewerb();
+ break;
case 'admin_individualwettbewerb_remove':
adminRemoveIndividualwettbewerb();
+ break;
case 'admin_individualwettbewerb_spiele':
adminIndividualwettbewerbSpiele();
break;
@@ -424,15 +496,19 @@ if ($task == "spielerbild") {
break;
case 'admin_individualwettbewerb_spiel_save':
adminSaveIndividualwettbewerbSpiel();
+ break;
case 'admin_individualwettbewerb_spiel_remove':
adminRemoveIndividualwettbewerbSpiel();
+ break;
case 'admin_individualwettbewerb_ausgangsplatzierung_edit':
adminEditIndividualwettbewerbAusgangsplatzierung();
break;
case 'admin_individualwettbewerb_ausgangsplatzierung_save':
adminSaveIndividualwettbewerbAusgangsplatzierung();
+ break;
case 'admin_individualwettbewerb_ausgangsplatzierung_remove':
adminRemoveIndividualwettbewerbAusgangsplatzierung();
+ break;
case 'admin_termine':
adminTermine(1);
break;
@@ -464,8 +540,10 @@ if ($task == "spielerbild") {
break;
case 'admin_termine_bezeichnung_save':
adminSaveTermineBezeichnung(1);
+ break;
case 'admin_termine_bezeichnung_remove':
adminRemoveTermineBezeichnung(1);
+ break;
case 'admin_termine_bezeichnungszusaetze':
adminTermineBezeichnungszusaetze(1);
break;
@@ -474,8 +552,10 @@ if ($task == "spielerbild") {
break;
case 'admin_termine_bezeichnungszusatz_save':
adminSaveTermineBezeichnungszusatz(1);
+ break;
case 'admin_termine_bezeichnungszusatz_remove':
adminRemoveTermineBezeichnungszusatz(1);
+ break;
case 'admin_termine_bundeslaender':
adminTermineBundeslaender(1);
break;
@@ -484,8 +564,10 @@ if ($task == "spielerbild") {
break;
case 'admin_termine_bundesland_save':
adminSaveTermineBundesland(1);
+ break;
case 'admin_termine_bundesland_remove':
adminRemoveTermineBundesland(1);
+ break;
case 'admin_termine_laender':
adminTermineLaender(1);
break;
@@ -494,8 +576,10 @@ if ($task == "spielerbild") {
break;
case 'admin_termine_land_save':
adminSaveTermineLand(1);
+ break;
case 'admin_termine_land_remove':
adminRemoveTermineLand(1);
+ break;
case 'admin_termine_symbole':
adminTermineSymbole(1);
break;
@@ -504,15 +588,19 @@ if ($task == "spielerbild") {
break;
case 'admin_termine_symbol_save':
adminSaveTermineSymbol(1);
+ break;
case 'admin_termine_symbol_remove':
adminRemoveTermineSymbol(1);
+ break;
case 'admin_turnier_edit':
adminEditTurnier();
break;
case 'admin_turnier_save':
adminSaveTurnier();
+ break;
case 'admin_turnier_remove':
adminRemoveTurnier();
+ break;
case 'admin_turnierdisziplinen':
adminTurnierdisziplinen();
break;
@@ -521,59 +609,73 @@ if ($task == "spielerbild") {
break;
case 'admin_turnierdisziplin_save':
adminSaveTurnierdisziplin();
+ break;
case 'admin_turnierdisziplin_remove':
adminRemoveTurnierdisziplin();
+ break;
case 'admin_turniervoranmeldungen_export_form':
adminExportTurniervoranmeldungenForm();
break;
case 'admin_turniervoranmeldungen_export':
adminExportTurniervoranmeldungen();
+ break;
case 'admin_turnierdisziplin_meldungen_spiele':
adminTurnierdisziplinMeldungenSpiele();
break;
case 'admin_turnierdisziplin_meldungen_spiele_alle_entfernen':
adminTurnierdisziplinMeldungenSpieleAlleEntfernen();
+ break;
case 'admin_turnierdisziplin_spiel_edit':
adminEditTurnierdisziplinSpiel();
break;
case 'admin_turnierdisziplin_spiel_save':
adminSaveTurnierdisziplinSpiel();
+ break;
case 'admin_turnierdisziplin_spiel_remove':
adminRemoveTurnierdisziplinSpiel();
+ break;
case 'admin_turnierdisziplin_runde_edit':
adminEditTurnierdisziplinRunde();
break;
case 'admin_turnierdisziplin_runde_save':
adminSaveTurnierdisziplinRunde();
+ break;
case 'admin_turnierdisziplin_meldung_edit':
adminEditTurnierdisziplinMeldung();
break;
case 'admin_turnierdisziplin_meldung_save':
adminSaveTurnierdisziplinMeldung();
+ break;
case 'admin_turnierdisziplin_meldung_remove':
adminRemoveTurnierdisziplinMeldung();
+ break;
case 'admin_turnierdisziplin_meldung_verknuepfen_form':
adminVerknuepfenTurnierdisziplinMeldungForm();
break;
case 'admin_turnierdisziplin_meldung_verknuepfen':
adminVerknuepfenTurnierdisziplinMeldung();
+ break;
case 'admin_turnierdisziplin_meldungen_spiele_import_form':
adminImportTurnierdisziplinMeldungenSpieleForm();
break;
case 'admin_turnierdisziplin_meldungen_spiele_import':
adminImportTurnierdisziplinMeldungenSpiele();
+ break;
case 'admin_turnierdisziplin_rundenstufe_edit':
adminEditTurnierdisziplinRundenstufe();
break;
case 'admin_turnierdisziplin_rundenstufe_save':
adminSaveTurnierdisziplinRundenstufe();
+ break;
case 'admin_turnierdisziplin_rundenstufe_remove':
adminRemoveTurnierdisziplinRundenstufe();
+ break;
case 'admin_spieler_bilder_exportieren_form':
adminSpielerExportBilderForm();
break;
case 'admin_spieler_bilder_exportieren':
adminSpielerExportBilder();
+ break;
case 'admin_spieler_bilder_importieren_form':
adminSpielerImportBilderForm();
break;
@@ -585,6 +687,7 @@ if ($task == "spielerbild") {
break;
case 'admin_vereine_bilder_exportieren':
adminVereineExportBilder();
+ break;
case 'admin_vereine_bilder_importieren_form':
adminVereineImportBilderForm();
break;
@@ -593,6 +696,7 @@ if ($task == "spielerbild") {
break;
case 'admin_grooming_mehrfache_mitgliedschaften':
adminGroomingMehrfacheMitgliedschaften();
+ break;
default:
if (!benutzerModerator() && !benutzerVeranstaltungModerator() && !benutzerTurnierModerator() && !benutzerIndividualwettbewerbModerator() && (benutzerVeranstalterModerator() || benutzerVereinModerator()))
adminSpieler(0);
@@ -629,8 +733,12 @@ if ($task == "spielerbild") {
break;
case 'verein_begegnungen_ical':
vereinBegegnungeniCal();
+ break;
+ case 'sort_by_vereinsname':
+ vereine("vereinsname");
+ break;
default:
- vereine();
+ vereine("mitglieder");
break;
}
} else if ($content == "turniervoranmeldungen") {
@@ -933,7 +1041,7 @@ function redirectRequestGetSessionId()
return $db->escape(trim($jInput->get('rsession_id', '', 'RAW')));
}
-function berechnungen()
+function berechnungen(): bool
{
$db = getDatabase();
@@ -944,11 +1052,7 @@ function berechnungen()
. "\n FROM #__sportsmanager_berechnung"
. "\n WHERE " . (empty($session_id) ? ("session_id < SUBTIME(NOW(), '00:10:00')") : ("session_id = '" . $session_id . "'"))
. "\n ), 1, 0)";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $berechnungen = $db->loadResult();
+ $berechnungen = loadResult($db, $query);
if (empty($berechnungen))
return FALSE;
@@ -978,8 +1082,7 @@ function benutzerJoomlaAdmin(): bool
->from($db->quoteName('#__usergroups'))
->where($db->quoteName('title') . ' = ' . $db->quote('Super Users'));
- $db->setQuery($query);
- $superAdminGroupId = $db->loadResult();
+ $superAdminGroupId = loadResult($db, $query);
$rules = Access::getAssetRules("com_sportsmanager");
// Define new permissions (allow 'core.create' for the group)
$rules->merge(['core.manage' => ['' . $superAdminGroupId => true]]);
@@ -1002,7 +1105,7 @@ function benutzerJoomlaAdmin(): bool
return false;
}
-function benutzerModerator()
+function benutzerModerator(): bool
{
$db = getDatabase();
@@ -1016,15 +1119,11 @@ function benutzerModerator()
$query = "SELECT COUNT(*)"
. "\n FROM #__sportsmanager_moderator"
. "\n WHERE moderator_user_id = $user_id";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $gefunden = $db->loadResult();
+ $gefunden = loadResult($db, $query);
return !empty($gefunden);
}
-function benutzerZugriff($zugriff, $joomlaAdminIgnorieren = FALSE)
+function benutzerZugriff($zugriff, $joomlaAdminIgnorieren = FALSE): bool
{
$db = getDatabase();
@@ -1039,15 +1138,11 @@ function benutzerZugriff($zugriff, $joomlaAdminIgnorieren = FALSE)
. "\n FROM #__sportsmanager_moderator"
. "\n INNER JOIN #__sportsmanager_moderator_zugriff USING (moderator_id)"
. "\n WHERE moderator_user_id = $user_id AND #__sportsmanager_moderator_zugriff.zugriff = '" . $db->escape($zugriff) . "'";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $gefunden = $db->loadResult();
+ $gefunden = loadResult($db, $query);
return !empty($gefunden);
}
-function benutzerIndividualwettbewerbModerator($individualwettbewerb_id = NULL)
+function benutzerIndividualwettbewerbModerator($individualwettbewerb_id = NULL): bool
{
$db = getDatabase();
@@ -1058,18 +1153,14 @@ function benutzerIndividualwettbewerbModerator($individualwettbewerb_id = NULL)
$query = "SELECT * FROM #__sportsmanager_berechtigt_fuer_individualwettbewerb INNER JOIN #__sportsmanager_individualwettbewerb ON individualwettbewerb_id = berechtigt_individualwettbewerb_id WHERE berechtigt_user_id = $user_id";
if ($individualwettbewerb_id != NULL)
$query .= " AND berechtigt_individualwettbewerb_id = $individualwettbewerb_id";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if (count($rows) == 0)
return false;
return true;
}
-function benutzerVeranstalterModerator($veranstalter_id = NULL)
+function benutzerVeranstalterModerator($veranstalter_id = NULL): bool
{
$db = getDatabase();
@@ -1080,18 +1171,14 @@ function benutzerVeranstalterModerator($veranstalter_id = NULL)
$query = "SELECT * FROM #__sportsmanager_berechtigt_fuer_veranstalter WHERE berechtigt_user_id = $user_id";
if ($veranstalter_id != NULL)
$query .= " AND berechtigt_veranstalter_id = $veranstalter_id";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if (count($rows) == 0)
return false;
return true;
}
-function benutzerVeranstaltungModerator($veranstaltung_id = NULL)
+function benutzerVeranstaltungModerator($veranstaltung_id = NULL): bool
{
$db = getDatabase();
@@ -1102,18 +1189,14 @@ function benutzerVeranstaltungModerator($veranstaltung_id = NULL)
$query = "SELECT * FROM #__sportsmanager_berechtigt_fuer_veranstaltung INNER JOIN #__sportsmanager_veranstaltung ON veranstaltung_id = berechtigt_veranstaltung_id WHERE berechtigt_user_id = $user_id AND DATEDIFF(letzter_tag, NOW()) >= -21";
if ($veranstaltung_id != NULL)
$query .= " AND berechtigt_veranstaltung_id = $veranstaltung_id";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if (count($rows) == 0)
return false;
return true;
}
-function benutzerVeranstaltungIdsModerator()
+function benutzerVeranstaltungIdsModerator(): array
{
$db = getDatabase();
@@ -1122,11 +1205,7 @@ function benutzerVeranstaltungIdsModerator()
$user_id = Factory::getContainer()->get(SiteApplication::class)->getIdentity()->id;
$query = "SELECT DISTINCT veranstaltung_id FROM #__sportsmanager_berechtigt_fuer_veranstaltung INNER JOIN #__sportsmanager_veranstaltung ON veranstaltung_id = berechtigt_veranstaltung_id WHERE berechtigt_user_id = $user_id AND DATEDIFF(letzter_tag, NOW()) >= -21";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
$ids = array();
foreach ($rows as $row)
@@ -1135,7 +1214,7 @@ function benutzerVeranstaltungIdsModerator()
return $ids;
}
-function benutzerTurnierModerator($turnier_id = NULL)
+function benutzerTurnierModerator($turnier_id = NULL): bool
{
$db = getDatabase();
@@ -1146,18 +1225,14 @@ function benutzerTurnierModerator($turnier_id = NULL)
$query = "SELECT * FROM #__sportsmanager_berechtigt_fuer_turnier INNER JOIN #__sportsmanager_turnier ON turnier_id = berechtigt_turnier_id WHERE berechtigt_user_id = $user_id AND DATEDIFF(letzter_tag, NOW()) >= -21";
if ($turnier_id != NULL)
$query .= " AND berechtigt_turnier_id = $turnier_id";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if (count($rows) == 0)
return false;
return true;
}
-function benutzerMannschaftModerator($team_id)
+function benutzerMannschaftModerator($team_id): bool
{
$db = getDatabase();
@@ -1166,18 +1241,14 @@ function benutzerMannschaftModerator($team_id)
$user_id = Factory::getContainer()->get(SiteApplication::class)->getIdentity()->id;
$query = "SELECT * FROM #__sportsmanager_berechtigt_fuer_team WHERE berechtigt_team_id = $team_id AND berechtigt_user_id = $user_id";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if (count($rows) == 0)
return false;
return true;
}
-function benutzerVereinModerator($verein_id = NULL)
+function benutzerVereinModerator($verein_id = NULL): bool
{
$db = getDatabase();
@@ -1188,18 +1259,14 @@ function benutzerVereinModerator($verein_id = NULL)
$query = "SELECT * FROM #__sportsmanager_berechtigt_fuer_verein INNER JOIN #__sportsmanager_verein ON berechtigt_verein_id = verein_id WHERE NOT ausgetreten AND berechtigt_user_id = $user_id";
if ($verein_id != NULL)
$query .= " AND berechtigt_verein_id = $verein_id";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if (count($rows) == 0)
return false;
return true;
}
-function currentUserHasAccessToDetails()
+function currentUserHasAccessToDetails(): bool
{
$db = getDatabase();
@@ -1211,29 +1278,17 @@ function currentUserHasAccessToDetails()
$user_id = isJson() ? getUserID() : Factory::getContainer()->get(SiteApplication::class)->getIdentity()->id;
$query = "SELECT * FROM #__sportsmanager_berechtigt_fuer_veranstalter WHERE berechtigt_user_id = $user_id";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if (count($rows) > 0)
return true;
$query = "SELECT * FROM #__sportsmanager_berechtigt_fuer_verein, #__sportsmanager_verein WHERE verein_id = berechtigt_verein_id AND NOT ausgetreten AND berechtigt_user_id = $user_id";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if (count($rows) > 0)
return true;
$query = "SELECT * FROM #__sportsmanager_berechtigt_fuer_team WHERE berechtigt_user_id = $user_id";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if (count($rows) > 0)
return true;
@@ -1258,11 +1313,7 @@ function einstellungswert($name)
$db = getDatabase();
$query = "SELECT * FROM #__sportsmanager_einstellungen WHERE name = '$name'";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if (count($rows) == 0)
return null;
return $rows[0]->wert;
@@ -1282,11 +1333,7 @@ function aktuelleBegegnungen($pineingabe = FALSE): void
. "\n WHERE status > 0 AND EXISTS(SELECT * FROM #__sportsmanager_team INNER JOIN #__sportsmanager_begegnung ON heim_team_id = team_id WHERE #__sportsmanager_team.veranstaltung_id = #__sportsmanager_veranstaltung.veranstaltung_id)" . kategorieFilter("AND #__sportsmanager_veranstaltung.kategorie IN")
. "\n GROUP BY saison_id"
. "\n ORDER BY saisonbezeichnung DESC";
- $db->setQuery($query);
- if (!$db->execute()) {
- abortWithError($db->stderr(true));
- }
- $saisons = $db->loadObjectList();
+ $saisons = loadObjectList($db, $query);
$ticker_anzeigen = false;
if (count($saisons) != 0) {
@@ -1296,11 +1343,7 @@ function aktuelleBegegnungen($pineingabe = FALSE): void
. "\n FROM #__sportsmanager_veranstaltung"
. "\n WHERE status > 0 AND EXISTS(SELECT * FROM #__sportsmanager_team WHERE #__sportsmanager_team.veranstaltung_id = #__sportsmanager_veranstaltung.veranstaltung_id)" . kategorieFilter("AND #__sportsmanager_veranstaltung.kategorie IN") . (" AND saison_id = $filter_saison_id")
. "\n ORDER BY reihenfolge, #__sportsmanager_veranstaltung.letzter_tag DESC, bezeichnung, kategorie";
- $db->setQuery($query);
- if (!$db->execute()) {
- abortWithError($db->stderr(true));
- }
- $veranstaltungen = $db->loadObjectList();
+ $veranstaltungen = loadObjectList($db, $query);
if (count($veranstaltungen) > 0)
$ticker_anzeigen = true;
@@ -1319,11 +1362,7 @@ function aktuelleBegegnungen($pineingabe = FALSE): void
. "\n WHERE t5.status > 0 " . kategorieFilter("AND t5.kategorie IN") . " AND ((ISNULL(heim_punkte) AND ISNULL(gast_punkte)) OR zwischenergebnis OR NOT ISNULL(unbestaetigtes_ergebnis_id)) AND ((NOT ISNULL(t2.pin) AND t2.pin != '') OR (NOT ISNULL(t3.pin) AND t3.pin != ''))"
. "\n )"
. "\n ), 1, 0)";
- $db->setQuery($query);
- if (!$db->execute()) {
- abortWithError($db->stderr(true));
- }
- $pin_begegnungen = $db->loadResult();
+ $pin_begegnungen = loadResult($db, $query);
if ($pin_begegnungen > 0) {
$pineingabe_anzeigen = true;
@@ -1346,6 +1385,7 @@ function aktuelleBegegnungen($pineingabe = FALSE): void
HTML_sportsmanager::aktuelleBegegnungenHeader($params->get('titel'), $params->get('beschreibung'), $ticker_anzeigen, $pineingabe_anzeigen);
if ($praesentation == 0) {
+ begegnungenAnzeigen(NULL, NULL, NULL, 7, true, true, false, Text::_('COM_SPORTSMANAGER_RUNNING_MATCHES'), true, true);
begegnungenAnzeigen(NULL, NULL, NULL, 7, false, true, true, Text::_('COM_SPORTSMANAGER_MATCHES_THE_LAST_7_DAYS'), true, true);
begegnungenAnzeigen(NULL, NULL, NULL, 14, true, false, true, Text::_('COM_SPORTSMANAGER_MATCHES_THE_NEXT_14_DAYS'), false, true);
administrationFooter();
@@ -1379,11 +1419,7 @@ function veranstaltungen(): void
. "\n WHERE status > 0 AND EXISTS(SELECT * FROM #__sportsmanager_team INNER JOIN #__sportsmanager_begegnung ON heim_team_id = team_id WHERE #__sportsmanager_team.veranstaltung_id = #__sportsmanager_veranstaltung.veranstaltung_id)" . kategorieFilter("AND #__sportsmanager_veranstaltung.kategorie IN")
. "\n GROUP BY saison_id"
. "\n ORDER BY saisonbezeichnung DESC";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $saisons = $db->loadObjectList();
+ $saisons = loadObjectList($db, $query);
if (count($saisons) != 0) {
$gefunden = FALSE;
@@ -1401,11 +1437,7 @@ function veranstaltungen(): void
. "\n FROM #__sportsmanager_veranstaltung"
. "\n WHERE status > 0 AND EXISTS(SELECT * FROM #__sportsmanager_team WHERE #__sportsmanager_team.veranstaltung_id = #__sportsmanager_veranstaltung.veranstaltung_id)" . kategorieFilter("AND #__sportsmanager_veranstaltung.kategorie IN") . (" AND saison_id = $filter_saison_id")
. "\n ORDER BY reihenfolge, #__sportsmanager_veranstaltung.letzter_tag DESC, bezeichnung, kategorie";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $veranstaltungen = $db->loadObjectList();
+ $veranstaltungen = loadObjectList($db, $query);
$ticker_anzeigen = false;
if (count($veranstaltungen) > 0) {
@@ -1429,11 +1461,7 @@ function veranstaltungen(): void
. "\n LEFT JOIN #__sportsmanager_veranstalter USING (veranstalter_id)"
. "\n WHERE status > 0 AND EXISTS(SELECT * FROM #__sportsmanager_team INNER JOIN #__sportsmanager_begegnung ON heim_team_id = team_id WHERE #__sportsmanager_team.veranstaltung_id = #__sportsmanager_veranstaltung.veranstaltung_id)" . kategorieFilter("AND #__sportsmanager_veranstaltung.kategorie IN") . ($filter_saison_id != 0 ? " AND saison_id = $filter_saison_id" : "")
. "\n ORDER BY reihenfolge, #__sportsmanager_veranstaltung.letzter_tag DESC, bezeichnung, kategorie";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $veranstaltungen = $db->loadObjectList();
+ $veranstaltungen = loadObjectList($db, $query);
if (isJson()) {
$json = [];
@@ -1443,7 +1471,7 @@ function veranstaltungen(): void
'begegnungen' => begegnungenAnzeigen($veranstaltung, NULL, NULL, 0),
'tabelle' => NULL
];
- if ($veranstaltung->tabellenwertung != 0) {
+ if (!in_array($veranstaltung->tabellenwertung, [0, -1, -3, -4]) || !$veranstaltung->platzierung_offen) {
$spieltag = null; // TODO: spieltag was not defined before, not sure what it should be
$competition['tabelle'] = tabelle($veranstaltung, $spieltag, true);
}
@@ -1457,7 +1485,7 @@ function veranstaltungen(): void
foreach ($veranstaltungen as $veranstaltung) {
if ($praesentation == 1 || $praesentation == 2)
echo "\r\n";
- if ($veranstaltung->tabellenwertung != 0 && ($veranstaltung->tabellenwertung != -1 || !$veranstaltung->platzierung_offen)) {
+ if (!in_array($veranstaltung->tabellenwertung, [0, -1, -3, -4]) || !$veranstaltung->platzierung_offen) {
HTML_sportsmanager::tabelleHeader($veranstaltung);
tabelle($veranstaltung, 0, false, $praesentation);
} else {
@@ -1502,14 +1530,11 @@ function veranstaltung(): void
$query = "SELECT saison_id, saisonbezeichnung"
. "\n FROM #__sportsmanager_veranstaltung"
. "\n INNER JOIN #__sportsmanager_saison USING (saison_id)"
- . "\n WHERE status > 0 AND EXISTS(SELECT * FROM #__sportsmanager_team INNER JOIN #__sportsmanager_begegnung ON heim_team_id = team_id WHERE #__sportsmanager_team.veranstaltung_id = #__sportsmanager_veranstaltung.veranstaltung_id)" . kategorieFilter("AND #__sportsmanager_veranstaltung.kategorie IN")
+ . "\n WHERE status > 0 AND EXISTS(SELECT * FROM #__sportsmanager_team INNER JOIN #__sportsmanager_begegnung ON heim_team_id = team_id"
+ . "\n WHERE #__sportsmanager_team.veranstaltung_id = #__sportsmanager_veranstaltung.veranstaltung_id)" . kategorieFilter("AND #__sportsmanager_veranstaltung.kategorie IN")
. "\n GROUP BY saison_id"
. "\n ORDER BY saisonbezeichnung DESC";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $saisons = $db->loadObjectList();
+ $saisons = loadObjectList($db, $query);
if (count($saisons) != 0) {
$gefunden = FALSE;
@@ -1530,12 +1555,11 @@ function veranstaltung(): void
$spieltag = $jInput->get('spieltag', 0, 'INT');
// Veranstaltung ermitteln
- $query = "SELECT * FROM #__sportsmanager_veranstaltung WHERE veranstaltung_id = $id AND status > 0 AND EXISTS(SELECT * FROM #__sportsmanager_team INNER JOIN #__sportsmanager_begegnung ON heim_team_id = team_id WHERE #__sportsmanager_team.veranstaltung_id = #__sportsmanager_veranstaltung.veranstaltung_id)";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $query = "SELECT * FROM #__sportsmanager_veranstaltung"
+ . "\n WHERE veranstaltung_id = $id AND status > 0"
+ . "\n AND EXISTS(SELECT * FROM #__sportsmanager_team INNER JOIN #__sportsmanager_begegnung ON heim_team_id = team_id"
+ . "\n WHERE #__sportsmanager_team.veranstaltung_id = #__sportsmanager_veranstaltung.veranstaltung_id)";
+ $rows = loadObjectList($db, $query);
if (count($rows) < 1)
die("Wrong id!");
$veranstaltung = $rows[0];
@@ -1545,7 +1569,7 @@ function veranstaltung(): void
'veranstaltung' => $veranstaltung,
'begegnungen' => begegnungenAnzeigen($veranstaltung, NULL, NULL, 0)
];
- if ($veranstaltung->tabellenwertung != 0) {
+ if (!in_array($veranstaltung->tabellenwertung, [0, -1, -3, -4])) {
$table = tabelle($veranstaltung, $spieltag, true);
$json['tabelle'] = $table['tabelle'];
$json['modus'] = $table['modus'];
@@ -1558,11 +1582,7 @@ function veranstaltung(): void
. "\n LEFT JOIN #__sportsmanager_veranstalter USING (veranstalter_id)"
. "\n WHERE status > 0" . kategorieFilter("AND #__sportsmanager_veranstaltung.kategorie IN") . ($filter_saison_id != 0 ? " AND saison_id = $filter_saison_id" : "")
. "\n ORDER BY reihenfolge, #__sportsmanager_veranstaltung.letzter_tag DESC, bezeichnung, kategorie";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
$n = count($rows);
$vorherige_veranstaltung_id = 0;
@@ -1577,33 +1597,45 @@ function veranstaltung(): void
}
}
+ $showSeasons = false;
+ if (count($saisons) > 1) {
+ $showSeasons = true;
+ }
// Anzeigen
- HTML_sportsmanager::veranstaltungHeaderAlone($veranstaltung, $vorherige_veranstaltung_id, $naechste_veranstaltung_id);
+ HTML_sportsmanager::veranstaltungHeaderAlone($veranstaltung, $vorherige_veranstaltung_id, $naechste_veranstaltung_id, $showSeasons, $saisons, $filter_saison_id);
- if ($veranstaltung->tabellenwertung != 0)
+
+ if (!in_array($veranstaltung->tabellenwertung, [0, -1, -3, -4]))
tabelle($veranstaltung, $spieltag, true);
- begegnungenAnzeigen($veranstaltung, NULL, NULL, 0);
+ if (einstellungswert("turnierbaum_zeigen") && $veranstaltung->tabellenwertung == -4)
+ turnierbaumAnzeigen($veranstaltung);
+
+ begegnungenAnzeigen($veranstaltung, NULL, NULL, 0);
HTML_sportsmanager::iCalBegegnungen(SportsManagerURL('&task=veranstaltung_begegnungen_ical&id=' . $veranstaltung->veranstaltung_id));
}
}
-function tabelle($veranstaltung, $spieltag, $alleine_angezeigt, $praesentation = 0)
+function tabelle($veranstaltung, $spieltag, $alleine_angezeigt, $praesentation = 0): array|string
{
$db = getDatabase();
$modus_id = $veranstaltung->modus_id;
$query = "SELECT * FROM #__sportsmanager_teamspiel_modus WHERE teamspiel_modus_id = $modus_id";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
$modus = null;
if (count($rows) == 1)
$modus = $rows[0];
if ($veranstaltung->tabellenwertung > 0) {
+
+ // Alle Spieltage ermitteln
+ $query = "SELECT COUNT(DISTINCT spieltag)"
+ . "\n FROM #__sportsmanager_begegnung"
+ . "\n INNER JOIN #__sportsmanager_team ON heim_team_id = team_id"
+ . "\n WHERE veranstaltung_id = $veranstaltung->veranstaltung_id";
+ $anzahl_spieltage_komplett = loadResult($db, $query);
+
// Spieltage ermitteln, an denen schon eine Begegnung ausgetragen wurde
$query = "SELECT DISTINCT spieltag"
. "\n FROM #__sportsmanager_begegnung"
@@ -1611,59 +1643,20 @@ function tabelle($veranstaltung, $spieltag, $alleine_angezeigt, $praesentation =
. "\n INNER JOIN #__sportsmanager_team ON heim_team_id = team_id"
. "\n WHERE veranstaltung_id = $veranstaltung->veranstaltung_id AND (heim_spielpunkte != 0 OR gast_spielpunkte != 0) AND ISNULL(#__sportsmanager_unbestaetigtes_ergebnis.begegnung_id)"
. "\n ORDER BY spieltag DESC";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $spieltage = $db->loadObjectList();
+ $spieltage = loadObjectList($db, $query);
$aktueller_spieltag = count($spieltage) > 0 ? $spieltage[0]->spieltag : 0;
if ($spieltag == 0 || $veranstaltung->tabellenwertung >= 21)
$spieltag = $aktueller_spieltag;
if ($spieltag == $aktueller_spieltag) {
- $query = "SELECT *"
- . "\n FROM #__sportsmanager_team"
- . "\n WHERE veranstaltung_id = $veranstaltung->veranstaltung_id"
- . "\n ORDER BY platz, teamname";
+ $teams = getTabelleAktuellerSpieltag($veranstaltung);
} else {
- $query = "SELECT verein_id, teamname, zusatzpunkte,"
- . "\n werte.*,"
- . "\n werte.siege * " . ($veranstaltung->tabellenwertung <= 3 ? "2" : ($veranstaltung->tabellenwertung <= 6 ? "3" : "1")) . ($veranstaltung->tabellenwertung <= 6 ? " + werte.unentschieden" : "") . " + COALESCE(zusatzpunkte, 0) AS gesamtpunkte,"
- . "\n werte.siege * " . ($veranstaltung->tabellenwertung <= 3 ? "2" : ($veranstaltung->tabellenwertung <= 6 ? "3" : "1")) . ($veranstaltung->tabellenwertung <= 6 ? " + werte.unentschieden" : "") . " AS begegnungspunkte,"
- . "\n werte.punkte_gewonnen - werte.punkte_verloren AS punkte_differenz,"
- . "\n IF(werte.punkte_verloren = 0, -1, werte.punkte_gewonnen / werte.punkte_verloren) AS punkte_quotient,"
- . "\n werte.spielpunkte_gewonnen - werte.spielpunkte_verloren AS spielpunkte_differenz,"
- . "\n IF(werte.spielpunkte_verloren = 0, -1, werte.spielpunkte_gewonnen / werte.spielpunkte_verloren) AS spielpunkte_quotient"
- . "\n FROM #__sportsmanager_team"
- . "\n LEFT JOIN"
- . "\n (SELECT t1.team_id,"
- . "\n (SELECT COUNT(*) FROM #__sportsmanager_begegnung AS tt1 LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis AS tt2 ON tt1.begegnung_id = tt2.begegnung_id WHERE ISNULL(tt2.unbestaetigtes_ergebnis_id)" . ($spieltag > 0 ? " AND tt1.spieltag <= $spieltag" : "") . " AND ((tt1.heim_team_id = t1.team_id AND tt1.heim_spielpunkte > tt1.gast_spielpunkte) OR (tt1.gast_team_id = t1.team_id AND tt1.gast_spielpunkte > tt1.heim_spielpunkte)) AND (tt1.heim_punkte != 0 OR tt1.gast_punkte != 0)) AS siege,"
- . "\n (SELECT COUNT(*) FROM #__sportsmanager_begegnung AS tt1 LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis AS tt2 ON tt1.begegnung_id = tt2.begegnung_id WHERE ISNULL(tt2.unbestaetigtes_ergebnis_id)" . ($spieltag > 0 ? " AND tt1.spieltag <= $spieltag" : "") . " AND (tt1.heim_team_id = t1.team_id OR tt1.gast_team_id = t1.team_id) AND tt1.heim_spielpunkte = tt1.gast_spielpunkte AND (tt1.heim_punkte != 0 OR tt1.gast_punkte != 0)) AS unentschieden,"
- . "\n (SELECT COUNT(*) FROM #__sportsmanager_begegnung AS tt1 LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis AS tt2 ON tt1.begegnung_id = tt2.begegnung_id WHERE ISNULL(tt2.unbestaetigtes_ergebnis_id)" . ($spieltag > 0 ? " AND tt1.spieltag <= $spieltag" : "") . " AND ((tt1.heim_team_id = t1.team_id AND tt1.heim_spielpunkte < tt1.gast_spielpunkte) OR (tt1.gast_team_id = t1.team_id AND tt1.gast_spielpunkte < tt1.heim_spielpunkte)) AND (tt1.heim_punkte != 0 OR tt1.gast_punkte != 0)) AS niederlagen,"
- . "\n (COALESCE((SELECT SUM(heim_punkte) FROM #__sportsmanager_begegnung AS tt1 LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis AS tt2 ON tt1.begegnung_id = tt2.begegnung_id WHERE ISNULL(tt2.unbestaetigtes_ergebnis_id)" . ($spieltag > 0 ? " AND tt1.spieltag <= $spieltag" : "") . " AND tt1.heim_team_id = t1.team_id AND (tt1.heim_punkte != 0 OR tt1.gast_punkte != 0)), 0)) + (COALESCE((SELECT SUM(gast_punkte) FROM #__sportsmanager_begegnung AS tt1 LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis AS tt2 ON tt1.begegnung_id = tt2.begegnung_id WHERE ISNULL(tt2.unbestaetigtes_ergebnis_id)" . ($spieltag > 0 ? " AND tt1.spieltag <= $spieltag" : "") . " AND tt1.gast_team_id = t1.team_id AND (tt1.heim_punkte != 0 OR tt1.gast_punkte != 0)), 0)) AS punkte_gewonnen,"
- . "\n (COALESCE((SELECT SUM(gast_punkte) FROM #__sportsmanager_begegnung AS tt1 LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis AS tt2 ON tt1.begegnung_id = tt2.begegnung_id WHERE ISNULL(tt2.unbestaetigtes_ergebnis_id)" . ($spieltag > 0 ? " AND tt1.spieltag <= $spieltag" : "") . " AND tt1.heim_team_id = t1.team_id AND (tt1.heim_punkte != 0 OR tt1.gast_punkte != 0)), 0)) + (COALESCE((SELECT SUM(heim_punkte) FROM #__sportsmanager_begegnung AS tt1 LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis AS tt2 ON tt1.begegnung_id = tt2.begegnung_id WHERE ISNULL(tt2.unbestaetigtes_ergebnis_id)" . ($spieltag > 0 ? " AND tt1.spieltag <= $spieltag" : "") . " AND tt1.gast_team_id = t1.team_id AND (tt1.heim_punkte != 0 OR tt1.gast_punkte != 0)), 0)) AS punkte_verloren,"
- . "\n (COALESCE((SELECT SUM(heim_spielpunkte) FROM #__sportsmanager_begegnung AS tt1 LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis AS tt2 ON tt1.begegnung_id = tt2.begegnung_id WHERE ISNULL(tt2.unbestaetigtes_ergebnis_id)" . ($spieltag > 0 ? " AND tt1.spieltag <= $spieltag" : "") . " AND tt1.heim_team_id = t1.team_id AND (tt1.heim_punkte != 0 OR tt1.gast_punkte != 0)), 0)) + (COALESCE((SELECT SUM(gast_spielpunkte) FROM #__sportsmanager_begegnung AS tt1 LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis AS tt2 ON tt1.begegnung_id = tt2.begegnung_id WHERE ISNULL(tt2.unbestaetigtes_ergebnis_id)" . ($spieltag > 0 ? " AND tt1.spieltag <= $spieltag" : "") . " AND tt1.gast_team_id = t1.team_id AND (tt1.heim_punkte != 0 OR tt1.gast_punkte != 0)), 0)) AS spielpunkte_gewonnen,"
- . "\n (COALESCE((SELECT SUM(gast_spielpunkte) FROM #__sportsmanager_begegnung AS tt1 LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis AS tt2 ON tt1.begegnung_id = tt2.begegnung_id WHERE ISNULL(tt2.unbestaetigtes_ergebnis_id)" . ($spieltag > 0 ? " AND tt1.spieltag <= $spieltag" : "") . " AND tt1.heim_team_id = t1.team_id AND (tt1.heim_punkte != 0 OR tt1.gast_punkte != 0)), 0)) + (COALESCE((SELECT SUM(heim_spielpunkte) FROM #__sportsmanager_begegnung AS tt1 LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis AS tt2 ON tt1.begegnung_id = tt2.begegnung_id WHERE ISNULL(tt2.unbestaetigtes_ergebnis_id)" . ($spieltag > 0 ? " AND tt1.spieltag <= $spieltag" : "") . " AND tt1.gast_team_id = t1.team_id AND (tt1.heim_punkte != 0 OR tt1.gast_punkte != 0)), 0)) AS spielpunkte_verloren"
- . "\n FROM #__sportsmanager_team AS t1 WHERE veranstaltung_id = $veranstaltung->veranstaltung_id)"
- . "\n AS werte USING (team_id)"
- . "\n WHERE veranstaltung_id = $veranstaltung->veranstaltung_id";
- if ($veranstaltung->tabellenwertung == 1 || $veranstaltung->tabellenwertung == 4 || $veranstaltung->tabellenwertung == 7)
- $query .= "\n ORDER BY gesamtpunkte DESC, spielpunkte_differenz DESC, punkte_differenz DESC, teamname";
- else if ($veranstaltung->tabellenwertung == 2 || $veranstaltung->tabellenwertung == 5 || $veranstaltung->tabellenwertung == 8)
- $query .= "\n ORDER BY gesamtpunkte DESC, spielpunkte_quotient DESC, punkte_quotient DESC, teamname";
- else if ($veranstaltung->tabellenwertung == 10)
- $query .= "\n ORDER BY spielpunkte_differenz DESC, punkte_differenz DESC, teamname";
- else if ($veranstaltung->tabellenwertung == 11)
- $query .= "\n ORDER BY spielpunkte_quotient DESC, punkte_quotient DESC, teamname";
- else
- $query .= "\n ORDER BY gesamtpunkte DESC, teamname";
+ $teams = getTabelleSpieltag($veranstaltung,$spieltag);
+ if ($veranstaltung->direktervergleich && $spieltag >= $anzahl_spieltage_komplett/2 && $anzahl_spieltage_komplett >= 3){
+ $teams = getTabelleDirekterVergleich($teams,$veranstaltung,$spieltag);
+ }
}
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $teams = $db->loadObjectList();
if (isJson()) {
return JSON_sportsmanager::tabelleAnzeigen($modus, $teams);
@@ -1675,11 +1668,7 @@ function tabelle($veranstaltung, $spieltag, $alleine_angezeigt, $praesentation =
. "\n FROM #__sportsmanager_team"
. "\n WHERE veranstaltung_id = $veranstaltung->veranstaltung_id"
. "\n ORDER BY ISNULL(platz), platz, teamname";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $teams = $db->loadObjectList();
+ $teams = loadObjectList($db, $query);
if (isJson()) {
return JSON_sportsmanager::tabelleEigeneAnzeigen($modus, $teams);
} else {
@@ -1689,6 +1678,120 @@ function tabelle($veranstaltung, $spieltag, $alleine_angezeigt, $praesentation =
return "";
}
+function getTabelleDirekterVergleich($teams,$veranstaltung,$spieltag)
+{
+
+ $gesamtpunkte = 1000;
+ $anzahlSpiele = 1000;
+ $platz = 0;
+ $punktgleicheMannschaften = [];
+ $korrekturen = [];
+
+ foreach($teams AS $team){
+ if (($gesamtpunkte != $team->gesamtpunkte) OR ($anzahlSpiele != $team->anzahl_spiele)){
+ $gesamtpunkte = $team->gesamtpunkte;
+ $anzahlSpiele = $team->anzahl_spiele;
+ $platz = $team->platz;
+ $punktgleicheMannschaften[$platz] = $team->team_id;
+ }
+ else{
+ $punktgleicheMannschaften[$platz] .= ",".$team->team_id;
+ $korrekturen[$platz] = $punktgleicheMannschaften[$platz];
+ }
+ }
+
+ if (!empty($korrekturen)){
+ foreach($korrekturen AS $key => $korrektur){
+ $teamsKorrektur = getTabelleSpieltag($veranstaltung,$spieltag,$korrektur,$key-1);
+ foreach($teamsKorrektur AS $teamKorrektur){
+ foreach($teams AS $team){
+ if ($team->team_id == $teamKorrektur->team_id){
+ $team->platz = $teamKorrektur->platz;
+ }
+ }
+ }
+ }
+ }
+
+ //Tabelle neu sortieren
+ usort($teams, function($a, $b) {
+ return $a->platz <=> $b->platz;
+ });
+
+ return $teams;
+}
+
+function getTabelleAktuellerSpieltag($veranstaltung)
+{
+ $db = getDatabase();
+
+ $query = "SELECT *,"
+ . "\n siege + unentschieden + niederlagen AS anzahl_spiele"
+ . "\n FROM #__sportsmanager_team"
+ . "\n WHERE veranstaltung_id = $veranstaltung->veranstaltung_id"
+ . "\n ORDER BY platz, teamname";
+
+ return loadObjectList($db, $query);
+}
+
+function getTabelleSpieltag($veranstaltung,$spieltag,$mannschaften = "",$offset_platz = 0)
+{
+ $db = getDatabase();
+ if ($mannschaften){
+ $filter_mannschaften_begegnung = "tt1.heim_team_id IN (" . $mannschaften . ") AND tt1.gast_team_id IN (" . $mannschaften . ") AND";
+ $filter_mannschaften_teams = "AND team_id IN (" . $mannschaften . ") ";
+ }
+ else{
+ $filter_mannschaften_begegnung = "";
+ $filter_mannschaften_teams = "";
+ }
+ $query = "SELECT verein_id, teamname, zusatzpunkte,"
+ . "\n werte.*,"
+ . "\n werte.siege * " . ($veranstaltung->tabellenwertung <= 3 ? "2" : ($veranstaltung->tabellenwertung <= 6 ? "3" : "1")) . ($veranstaltung->tabellenwertung <= 6 ? " + werte.unentschieden" : "") . " + COALESCE(zusatzpunkte, 0) AS gesamtpunkte,"
+ . "\n werte.siege * " . ($veranstaltung->tabellenwertung <= 3 ? "2" : ($veranstaltung->tabellenwertung <= 6 ? "3" : "1")) . ($veranstaltung->tabellenwertung <= 6 ? " + werte.unentschieden" : "") . " AS begegnungspunkte,"
+ . "\n werte.punkte_gewonnen - werte.punkte_verloren AS punkte_differenz,"
+ . "\n IF(werte.punkte_verloren = 0, -1, werte.punkte_gewonnen / werte.punkte_verloren) AS punkte_quotient,"
+ . "\n werte.spielpunkte_gewonnen - werte.spielpunkte_verloren AS spielpunkte_differenz,"
+ . "\n IF(werte.spielpunkte_verloren = 0, -1, werte.spielpunkte_gewonnen / werte.spielpunkte_verloren) AS spielpunkte_quotient, "
+ . "\n werte.siege + werte.unentschieden + werte.niederlagen AS anzahl_spiele"
+ . "\n FROM #__sportsmanager_team"
+ . "\n LEFT JOIN"
+ . "\n (SELECT t1.team_id,"
+ . "\n (SELECT COUNT(*) FROM #__sportsmanager_begegnung AS tt1 LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis AS tt2 ON tt1.begegnung_id = tt2.begegnung_id WHERE " . $filter_mannschaften_begegnung . " ISNULL(tt2.unbestaetigtes_ergebnis_id)" . ($spieltag > 0 ? " AND tt1.spieltag <= $spieltag" : "") . " AND ((tt1.heim_team_id = t1.team_id AND tt1.heim_spielpunkte > tt1.gast_spielpunkte) OR (tt1.gast_team_id = t1.team_id AND tt1.gast_spielpunkte > tt1.heim_spielpunkte)) AND (tt1.heim_punkte != 0 OR tt1.gast_punkte != 0)) AS siege,"
+ . "\n (SELECT COUNT(*) FROM #__sportsmanager_begegnung AS tt1 LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis AS tt2 ON tt1.begegnung_id = tt2.begegnung_id WHERE " . $filter_mannschaften_begegnung . " ISNULL(tt2.unbestaetigtes_ergebnis_id)" . ($spieltag > 0 ? " AND tt1.spieltag <= $spieltag" : "") . " AND (tt1.heim_team_id = t1.team_id OR tt1.gast_team_id = t1.team_id) AND tt1.heim_spielpunkte = tt1.gast_spielpunkte AND (tt1.heim_punkte != 0 OR tt1.gast_punkte != 0)) AS unentschieden,"
+ . "\n (SELECT COUNT(*) FROM #__sportsmanager_begegnung AS tt1 LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis AS tt2 ON tt1.begegnung_id = tt2.begegnung_id WHERE " . $filter_mannschaften_begegnung . " ISNULL(tt2.unbestaetigtes_ergebnis_id)" . ($spieltag > 0 ? " AND tt1.spieltag <= $spieltag" : "") . " AND ((tt1.heim_team_id = t1.team_id AND tt1.heim_spielpunkte < tt1.gast_spielpunkte) OR (tt1.gast_team_id = t1.team_id AND tt1.gast_spielpunkte < tt1.heim_spielpunkte)) AND (tt1.heim_punkte != 0 OR tt1.gast_punkte != 0)) AS niederlagen,"
+ . "\n (COALESCE((SELECT SUM(heim_punkte) FROM #__sportsmanager_begegnung AS tt1 LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis AS tt2 ON tt1.begegnung_id = tt2.begegnung_id WHERE " . $filter_mannschaften_begegnung . " ISNULL(tt2.unbestaetigtes_ergebnis_id)" . ($spieltag > 0 ? " AND tt1.spieltag <= $spieltag" : "") . " AND tt1.heim_team_id = t1.team_id AND (tt1.heim_punkte != 0 OR tt1.gast_punkte != 0)), 0)) + "
+ . "\n (COALESCE((SELECT SUM(gast_punkte) FROM #__sportsmanager_begegnung AS tt1 LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis AS tt2 ON tt1.begegnung_id = tt2.begegnung_id WHERE " . $filter_mannschaften_begegnung . " ISNULL(tt2.unbestaetigtes_ergebnis_id)" . ($spieltag > 0 ? " AND tt1.spieltag <= $spieltag" : "") . " AND tt1.gast_team_id = t1.team_id AND (tt1.heim_punkte != 0 OR tt1.gast_punkte != 0)), 0)) AS punkte_gewonnen,"
+ . "\n (COALESCE((SELECT SUM(gast_punkte) FROM #__sportsmanager_begegnung AS tt1 LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis AS tt2 ON tt1.begegnung_id = tt2.begegnung_id WHERE " . $filter_mannschaften_begegnung . " ISNULL(tt2.unbestaetigtes_ergebnis_id)" . ($spieltag > 0 ? " AND tt1.spieltag <= $spieltag" : "") . " AND tt1.heim_team_id = t1.team_id AND (tt1.heim_punkte != 0 OR tt1.gast_punkte != 0)), 0)) + "
+ . "\n (COALESCE((SELECT SUM(heim_punkte) FROM #__sportsmanager_begegnung AS tt1 LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis AS tt2 ON tt1.begegnung_id = tt2.begegnung_id WHERE " . $filter_mannschaften_begegnung . " ISNULL(tt2.unbestaetigtes_ergebnis_id)" . ($spieltag > 0 ? " AND tt1.spieltag <= $spieltag" : "") . " AND tt1.gast_team_id = t1.team_id AND (tt1.heim_punkte != 0 OR tt1.gast_punkte != 0)), 0)) AS punkte_verloren,"
+ . "\n (COALESCE((SELECT SUM(heim_spielpunkte) FROM #__sportsmanager_begegnung AS tt1 LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis AS tt2 ON tt1.begegnung_id = tt2.begegnung_id WHERE " . $filter_mannschaften_begegnung . " ISNULL(tt2.unbestaetigtes_ergebnis_id)" . ($spieltag > 0 ? " AND tt1.spieltag <= $spieltag" : "") . " AND tt1.heim_team_id = t1.team_id AND (tt1.heim_punkte != 0 OR tt1.gast_punkte != 0)), 0)) + "
+ . "\n (COALESCE((SELECT SUM(gast_spielpunkte) FROM #__sportsmanager_begegnung AS tt1 LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis AS tt2 ON tt1.begegnung_id = tt2.begegnung_id WHERE " . $filter_mannschaften_begegnung . " ISNULL(tt2.unbestaetigtes_ergebnis_id)" . ($spieltag > 0 ? " AND tt1.spieltag <= $spieltag" : "") . " AND tt1.gast_team_id = t1.team_id AND (tt1.heim_punkte != 0 OR tt1.gast_punkte != 0)), 0)) AS spielpunkte_gewonnen,"
+ . "\n (COALESCE((SELECT SUM(gast_spielpunkte) FROM #__sportsmanager_begegnung AS tt1 LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis AS tt2 ON tt1.begegnung_id = tt2.begegnung_id WHERE " . $filter_mannschaften_begegnung . " ISNULL(tt2.unbestaetigtes_ergebnis_id)" . ($spieltag > 0 ? " AND tt1.spieltag <= $spieltag" : "") . " AND tt1.heim_team_id = t1.team_id AND (tt1.heim_punkte != 0 OR tt1.gast_punkte != 0)), 0)) + "
+ . "\n (COALESCE((SELECT SUM(heim_spielpunkte) FROM #__sportsmanager_begegnung AS tt1 LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis AS tt2 ON tt1.begegnung_id = tt2.begegnung_id WHERE " . $filter_mannschaften_begegnung . " ISNULL(tt2.unbestaetigtes_ergebnis_id)" . ($spieltag > 0 ? " AND tt1.spieltag <= $spieltag" : "") . " AND tt1.gast_team_id = t1.team_id AND (tt1.heim_punkte != 0 OR tt1.gast_punkte != 0)), 0)) AS spielpunkte_verloren"
+ . "\n FROM #__sportsmanager_team AS t1"
+ . "\n WHERE veranstaltung_id = $veranstaltung->veranstaltung_id)"
+ . "\n AS werte USING (team_id)"
+ . "\n WHERE veranstaltung_id = $veranstaltung->veranstaltung_id " . $filter_mannschaften_teams;
+ if ($veranstaltung->tabellenwertung == 1 || $veranstaltung->tabellenwertung == 4 || $veranstaltung->tabellenwertung == 7)
+ $query .= "\n ORDER BY gesamtpunkte DESC, anzahl_spiele ASC, spielpunkte_differenz DESC, punkte_differenz DESC, teamname";
+ else if ($veranstaltung->tabellenwertung == 2 || $veranstaltung->tabellenwertung == 5 || $veranstaltung->tabellenwertung == 8)
+ $query .= "\n ORDER BY gesamtpunkte DESC, anzahl_spiele ASC, spielpunkte_quotient DESC, punkte_quotient DESC, teamname";
+ else if ($veranstaltung->tabellenwertung == 10)
+ $query .= "\n ORDER BY spielpunkte_differenz DESC, punkte_differenz DESC, teamname";
+ else if ($veranstaltung->tabellenwertung == 11)
+ $query .= "\n ORDER BY spielpunkte_quotient DESC, punkte_quotient DESC, teamname";
+ else
+ $query .= "\n ORDER BY gesamtpunkte DESC, anzahl_spiele ASC, teamname";
+
+ $teams = loadObjectList($db, $query);
+ $platz = $offset_platz;
+ foreach($teams AS $value)
+ {
+ $value->platz = ++$platz;
+ }
+ return $teams;
+}
+
#[NoReturn] function veranstaltungenTicker($aktuelle_saison_anzeigen = false): void
{
$db = getDatabase();
@@ -1704,11 +1807,7 @@ function tabelle($veranstaltung, $spieltag, $alleine_angezeigt, $praesentation =
. "\n WHERE status > 0 AND EXISTS(SELECT * FROM #__sportsmanager_team INNER JOIN #__sportsmanager_begegnung ON heim_team_id = team_id WHERE #__sportsmanager_team.veranstaltung_id = #__sportsmanager_veranstaltung.veranstaltung_id)" . kategorieFilter("AND #__sportsmanager_veranstaltung.kategorie IN")
. "\n GROUP BY saison_id"
. "\n ORDER BY saisonbezeichnung DESC";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $saisons = $db->loadObjectList();
+ $saisons = loadObjectList($db, $query);
if (count($saisons) != 0) {
if ($aktuelle_saison_anzeigen) {
@@ -1732,11 +1831,7 @@ function tabelle($veranstaltung, $spieltag, $alleine_angezeigt, $praesentation =
. "\n FROM #__sportsmanager_veranstaltung"
. "\n LEFT JOIN #__sportsmanager_veranstalter USING (veranstalter_id)"
. "\n WHERE status > 0 AND EXISTS(SELECT * FROM #__sportsmanager_team WHERE #__sportsmanager_team.veranstaltung_id = #__sportsmanager_veranstaltung.veranstaltung_id)" . kategorieFilter("AND #__sportsmanager_veranstaltung.kategorie IN") . (" AND saison_id = $filter_saison_id");
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $veranstaltungen = $db->loadObjectList();
+ $veranstaltungen = loadObjectList($db, $query);
$id = null;
$logo_url = null;
@@ -1774,11 +1869,7 @@ function tabelle($veranstaltung, $spieltag, $alleine_angezeigt, $praesentation =
. "\n WHERE status > 0 AND EXISTS(SELECT * FROM #__sportsmanager_team INNER JOIN #__sportsmanager_begegnung ON heim_team_id = team_id WHERE #__sportsmanager_team.veranstaltung_id = #__sportsmanager_veranstaltung.veranstaltung_id)" . kategorieFilter("AND #__sportsmanager_veranstaltung.kategorie IN")
. "\n GROUP BY saison_id"
. "\n ORDER BY saisonbezeichnung DESC";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $saisons = $db->loadObjectList();
+ $saisons = loadObjectList($db, $query);
if (count($saisons) != 0) {
if ($aktuelle_saison_anzeigen) {
@@ -1817,11 +1908,7 @@ function tabelle($veranstaltung, $spieltag, $alleine_angezeigt, $praesentation =
. "\n LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis AS t4 ON t1.begegnung_id = t4.begegnung_id"
. "\n LEFT JOIN #__sportsmanager_veranstaltung AS t5 ON t2.veranstaltung_id = t5.veranstaltung_id"
. "\n WHERE t1.begegnung_id = $begegnung_id AND t5.status > 0" . kategorieFilter("AND t5.kategorie IN") . (" AND saison_id = $filter_saison_id");
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $begegnungen = $db->loadObjectList();
+ $begegnungen = loadObjectList($db, $query);
if (count($begegnungen) < 1)
die("Wrong id!");
$begegnung = $begegnungen[0];
@@ -1844,11 +1931,7 @@ function tabelle($veranstaltung, $spieltag, $alleine_angezeigt, $praesentation =
. "\n WHERE begegnung_id = $begegnung_id"
. "\n GROUP BY teamspiel_id"
. "\n ORDER BY teamspiel_nummer";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $begegnung_spiele = $db->loadObjectList();
+ $begegnung_spiele = loadObjectList($db, $query);
} else {
$begegnung_spiele = NULL;
$query = "SELECT #__sportsmanager_veranstaltung.*, #__sportsmanager_veranstalter.veranstalterbezeichnung"
@@ -1856,11 +1939,7 @@ function tabelle($veranstaltung, $spieltag, $alleine_angezeigt, $praesentation =
. "\n LEFT JOIN #__sportsmanager_veranstalter USING (veranstalter_id)"
. "\n WHERE status > 0 AND EXISTS(SELECT * FROM #__sportsmanager_team WHERE #__sportsmanager_team.veranstaltung_id = #__sportsmanager_veranstaltung.veranstaltung_id)" . kategorieFilter("AND #__sportsmanager_veranstaltung.kategorie IN") . (" AND saison_id = $filter_saison_id")
. "\n ORDER BY reihenfolge, #__sportsmanager_veranstaltung.letzter_tag DESC, bezeichnung, kategorie";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $veranstaltungen = $db->loadObjectList();
+ $veranstaltungen = loadObjectList($db, $query);
$veranstaltung_elimination_index = -1;
foreach ($veranstaltungen as $index => $veranstaltung) {
@@ -1880,11 +1959,7 @@ function tabelle($veranstaltung, $spieltag, $alleine_angezeigt, $praesentation =
. "\n FROM #__sportsmanager_team"
. "\n WHERE veranstaltung_id = $veranstaltung->veranstaltung_id AND NOT ISNULL(platz) AND platz > 0"
. "\n ORDER BY platz, teamname";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $tabellen[$index] = $db->loadObjectList();
+ $tabellen[$index] = loadObjectList($db, $query);
}
$begegnungen = array();
@@ -1913,11 +1988,7 @@ function tabelle($veranstaltung, $spieltag, $alleine_angezeigt, $praesentation =
. "\n LEFT JOIN #__sportsmanager_verschieberegel AS t6 ON t5.verschieberegel_id = t6.verschieberegel_id"
. "\n WHERE t5.status > 0" . kategorieFilter("AND t5.kategorie IN") . (" AND saison_id = $filter_saison_id") . ($ausgetragene_filtern ? " AND ((ISNULL(heim_punkte) AND ISNULL(gast_punkte)) OR (heim_punkte = 0 AND gast_punkte = 0) OR zwischenergebnis)" : "") . ($auszutragende_filtern ? " AND (heim_punkte != 0 OR gast_punkte != 0 OR zwischenergebnis)" : "") . ($zwischenergebnisse_filtern ? " AND (ISNULL(unbestaetigtes_ergebnis_id) OR NOT zwischenergebnis)" : "")
. "\n ORDER BY IF(zwischenergebnis, 0, IF((heim_punkte = 0 AND gast_punkte = 0) OR (ISNULL(heim_punkte) AND ISNULL(gast_punkte)), 2, 1)), IF(zwischenergebnis OR (heim_punkte = 0 AND gast_punkte = 0) OR (ISNULL(heim_punkte) AND ISNULL(gast_punkte)), 0, t1.zeitpunkt) DESC, IF(zwischenergebnis OR (heim_punkte = 0 AND gast_punkte = 0) OR (ISNULL(heim_punkte) AND ISNULL(gast_punkte)), t1.zeitpunkt, 0), spieltag DESC, heim_name";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $begegnungen = $db->loadObjectList();
+ $begegnungen = loadObjectList($db, $query);
} elseif ($type == "eliminations" && $veranstaltung_elimination_index != -1) {
$query = "SELECT t1.*, t2.teamname AS heim_name, t2.verein_id AS heim_verein_id, t3.teamname AS gast_name, t3.verein_id AS gast_verein_id, t4.unbestaetigtes_ergebnis_id, t4.zwischenergebnis, t4.vorgeschlagen as ergebnis_vorgeschlagen, t5.bezeichnung, t5.veranstaltung_id, t5.unterteilung, s1.name as spielort_name,"
. "\n (SELECT IF(aktion NOT IN (0, 3, 4), NULL, tt1.eingetragen) FROM #__sportsmanager_begegnung_historie AS tt1 USE INDEX (begegnung_id) WHERE tt1.begegnung_id = t1.begegnung_id ORDER BY begegnung_historie_id DESC LIMIT 1) AS verlegung_eingetragen"
@@ -1930,11 +2001,7 @@ function tabelle($veranstaltung, $spieltag, $alleine_angezeigt, $praesentation =
. "\n LEFT JOIN #__sportsmanager_verschieberegel AS t6 ON t5.verschieberegel_id = t6.verschieberegel_id"
. "\n WHERE t2.veranstaltung_id = " . $veranstaltungen[$veranstaltung_elimination_index]->veranstaltung_id
. "\n ORDER BY begegnung_id";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $begegnungen = $db->loadObjectList();
+ $begegnungen = loadObjectList($db, $query);
}
}
@@ -1967,11 +2034,7 @@ function tabelle($veranstaltung, $spieltag, $alleine_angezeigt, $praesentation =
. "\n WHERE status > 0 AND EXISTS(SELECT * FROM #__sportsmanager_team INNER JOIN #__sportsmanager_begegnung ON heim_team_id = team_id WHERE #__sportsmanager_team.veranstaltung_id = #__sportsmanager_veranstaltung.veranstaltung_id)" . kategorieFilter("AND #__sportsmanager_veranstaltung.kategorie IN")
. "\n GROUP BY saison_id"
. "\n ORDER BY saisonbezeichnung DESC";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $saisons = $db->loadObjectList();
+ $saisons = loadObjectList($db, $query);
if (count($saisons) != 0) {
if ($aktuelle_saison_anzeigen) {
@@ -2015,11 +2078,7 @@ function tabelle($veranstaltung, $spieltag, $alleine_angezeigt, $praesentation =
. "\n LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis AS t4 ON t1.begegnung_id = t4.begegnung_id"
. "\n LEFT JOIN #__sportsmanager_veranstaltung AS t5 ON t2.veranstaltung_id = t5.veranstaltung_id"
. "\n WHERE t5.status > 0" . kategorieFilter("AND t5.kategorie IN") . (" AND saison_id = $filter_saison_id") . ($ausgetragene_filtern ? " AND ((ISNULL(heim_punkte) AND ISNULL(gast_punkte)) OR (heim_punkte = 0 AND gast_punkte = 0) OR zwischenergebnis)" : "") . ($auszutragende_filtern ? " AND (heim_punkte != 0 OR gast_punkte != 0 OR zwischenergebnis)" : "") . ($zwischenergebnisse_filtern ? " AND (ISNULL(unbestaetigtes_ergebnis_id) OR NOT zwischenergebnis)" : "");
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $matches_timestamp = $db->loadResult();
+ $matches_timestamp = loadResult($db, $query);
if (!empty($matches_timestamp)) {
if ($ausgetragene_filtern || $zwischenergebnisse_filtern || $auszutragende_filtern) {
@@ -2030,11 +2089,7 @@ function tabelle($veranstaltung, $spieltag, $alleine_angezeigt, $praesentation =
. "\n LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis AS t4 ON t1.begegnung_id = t4.begegnung_id"
. "\n LEFT JOIN #__sportsmanager_veranstaltung AS t5 ON t2.veranstaltung_id = t5.veranstaltung_id"
. "\n WHERE t5.status > 0" . kategorieFilter("AND t5.kategorie IN") . (" AND saison_id = $filter_saison_id");
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $groups_timestamp = $db->loadResult();
+ $groups_timestamp = loadResult($db, $query);
} else
$groups_timestamp = $matches_timestamp;
} else {
@@ -2046,6 +2101,300 @@ function tabelle($veranstaltung, $spieltag, $alleine_angezeigt, $praesentation =
jexit();
}
+
+
+
+function erstelleSetzliste($teams): array
+{
+ $seedingPairs[4] = [[1, 4], [2, 3]];
+
+ $seedingPairs[8] = [[1, 8], [4, 5], [3, 6], [2, 7]];
+
+ $seedingPairs[16] = [[1, 16], [8, 9], [5, 12], [4, 13],
+ [3, 14], [6, 11], [7, 10], [2, 15]];
+
+
+ $seedingPairs[32] = [[1, 32], [16, 17], [9, 24], [8, 25],
+ [5, 28], [12, 21], [13, 20], [4, 29],
+ [3, 30], [14, 19], [11, 22], [6, 27],
+ [7, 26], [10, 23], [15, 18], [2, 31]];
+
+ $seedingPairs[64] = [[1, 64], [32, 33], [17, 48], [16, 49],
+ [9, 56], [24, 41], [25, 40], [8, 57],
+ [5, 60], [28, 37], [21, 44], [12, 53],
+ [13, 52], [20, 45], [29, 36], [4, 61],
+ [3, 62], [30, 35], [19, 46], [14, 51],
+ [11, 54], [22, 43], [27, 38], [6, 59],
+ [7, 58], [26, 39], [23, 42], [10, 55],
+ [15, 50], [18, 47], [31, 34], [2, 63]];
+
+ $seedingPairs[128]= [[1,128], [64,65], [33,96], [32,97], [17,112], [48,81], [49,80], [16,113],
+ [9,120], [56,73], [41,88], [24,105], [25,104], [40,89], [57,72], [8,121],
+ [5,124], [60,69], [37,92], [28,101], [21,108], [44,85], [53,76], [12,117],
+ [13,116], [52,77], [45,84], [20,109], [29,100], [36,93], [61,68], [4,125],
+ [3,126], [62,67], [35,94], [30,99], [19,110], [46,83], [51,78], [14,115],
+ [11,118], [54,75], [43,86], [22,107], [27,102], [38,91], [59,70], [6,123],
+ [7,122], [58,71], [39,90], [26,103], [23,106], [42,87], [55,74], [10,119],
+ [15,114], [50,79], [47,82], [18,111], [31,98], [34,95], [63,66], [2,127]];
+
+
+
+ $matches = [];
+
+ // Teams durchschütteln
+ $keys = array_keys($teams);
+ shuffle($keys);
+
+ $mannschaften = [];
+ $nr = 0;
+ foreach ($keys as $key) {
+ $mannschaften[++$nr] = $teams[$key];
+ }
+
+ $anzahlTeams = count($mannschaften);
+
+ if ($anzahlTeams >= 1 && $anzahlTeams <= 4) {
+ $setzliste = $seedingPairs[4];
+ $runden = 2;
+ } else if ($anzahlTeams >= 5 && $anzahlTeams <= 8){
+ $setzliste = $seedingPairs[8];
+ $runden = 3;
+ } else if ($anzahlTeams >= 9 && $anzahlTeams <= 16){
+ $setzliste = $seedingPairs[16];
+ $runden = 4;
+ } else if ($anzahlTeams >= 17 && $anzahlTeams <= 32){
+ $setzliste = $seedingPairs[32];
+ $runden = 5;
+ } else if ($anzahlTeams >= 33 && $anzahlTeams <= 64){
+ $setzliste = $seedingPairs[64];
+ $runden = 6;
+ } else if ($anzahlTeams >= 65 && $anzahlTeams <= 128){
+ $setzliste = $seedingPairs[128];
+ $runden = 7;
+ } else {
+ $setzliste = [];
+ $runden = 0;
+ }
+
+ $turnier = [];
+ if ($runden > 1)
+ {
+ $nr = 0;
+ foreach($setzliste as $paarung){
+ $matches[1][++$nr]['heim'] = $mannschaften[$paarung[0]] ?? 'freilos';
+ $matches[1][$nr]['gast'] = $mannschaften[$paarung[1]] ?? 'freilos';
+ }
+ $turnier['runden'] = $runden;
+ $turnier['matches'] = $matches;
+ }
+ return $turnier;
+}
+
+function getSetzliste($anzahlRunden)
+{
+
+ $maxTeams = pow(2, $anzahlRunden);
+
+ $seedingPairs[4] = [[1, 4], [2, 3]];
+
+ $seedingPairs[8] = [[1, 8], [4, 5], [3, 6], [2, 7]];
+
+ $seedingPairs[16] = [[1, 16], [8, 9], [5, 12], [4, 13],
+ [3, 14], [6, 11], [7, 10], [2, 15]];
+
+
+ $seedingPairs[32] = [[1, 32], [16, 17], [9, 24], [8, 25],
+ [5, 28], [12, 21], [13, 20], [4, 29],
+ [3, 30], [14, 19], [11, 22], [6, 27],
+ [7, 26], [10, 23], [15, 18], [2, 31]];
+
+ $seedingPairs[64] = [[1, 64], [32, 33], [17, 48], [16, 49],
+ [9, 56], [24, 41], [25, 40], [8, 57],
+ [5, 60], [28, 37], [21, 44], [12, 53],
+ [13, 52], [20, 45], [29, 36], [4, 61],
+ [3, 62], [30, 35], [19, 46], [14, 51],
+ [11, 54], [22, 43], [27, 38], [6, 59],
+ [7, 58], [26, 39], [23, 42], [10, 55],
+ [15, 50], [18, 47], [31, 34], [2, 63]];
+
+ $seedingPairs[128]= [[1,128], [64,65], [33,96], [32,97], [17,112], [48,81], [49,80], [16,113],
+ [9,120], [56,73], [41,88], [24,105], [25,104], [40,89], [57,72], [8,121],
+ [5,124], [60,69], [37,92], [28,101], [21,108], [44,85], [53,76], [12,117],
+ [13,116], [52,77], [45,84], [20,109], [29,100], [36,93], [61,68], [4,125],
+ [3,126], [62,67], [35,94], [30,99], [19,110], [46,83], [51,78], [14,115],
+ [11,118], [54,75], [43,86], [22,107], [27,102], [38,91], [59,70], [6,123],
+ [7,122], [58,71], [39,90], [26,103], [23,106], [42,87], [55,74], [10,119],
+ [15,114], [50,79], [47,82], [18,111], [31,98], [34,95], [63,66], [2,127]];
+
+ return $seedingPairs[$maxTeams];
+
+}
+
+function getAnzahlRunden($anzahlTeams)
+{
+ if ($anzahlTeams >= 1 && $anzahlTeams <= 4) {
+ return 2;
+ } else if ($anzahlTeams >= 5 && $anzahlTeams <= 8){
+ return 3;
+ } else if ($anzahlTeams >= 9 && $anzahlTeams <= 16){
+ return 4;
+ } else if ($anzahlTeams >= 17 && $anzahlTeams <= 32){
+ return 5;
+ } else if ($anzahlTeams >= 33 && $anzahlTeams <= 64){
+ return 6;
+ } else if ($anzahlTeams >= 65 && $anzahlTeams <= 128){
+ return 7;
+ }
+}
+
+function getRundenTitel($anzahlTeams): string
+{
+ if ($anzahlTeams >= 1 && $anzahlTeams <= 2)
+ return Text::_('COM_SPORTSMANAGER_FINAL');
+ if ($anzahlTeams >= 3 && $anzahlTeams <= 4)
+ return Text::_('COM_SPORTSMANAGER_HALF_FINAL');
+ if ($anzahlTeams >= 5 && $anzahlTeams <= 8)
+ return Text::_('COM_SPORTSMANAGER_QUARTER_FINAL');
+ if ($anzahlTeams >= 9 && $anzahlTeams <= 16)
+ return Text::_('COM_SPORTSMANAGER_ROUND_OF_16');
+ if ($anzahlTeams >= 17 && $anzahlTeams <= 32)
+ return Text::_('COM_SPORTSMANAGER_ROUND_OF_32_ALT');
+ if ($anzahlTeams >= 33 && $anzahlTeams <= 64)
+ return Text::_('COM_SPORTSMANAGER_ROUND_OF_64_ALT');;
+ if ($anzahlTeams >= 65 && $anzahlTeams <= 128)
+ return Text::_('COM_SPORTSMANAGER_ROUND_OF_128_ALT');
+
+ return "";
+}
+
+function turnierbaumAnzeigen($veranstaltung): void
+{
+ $db = getDatabase();
+ $veranstaltungId = $veranstaltung->veranstaltung_id;
+
+ if ($veranstaltungId == 0) die("Missing id!");
+
+ //Infos Veranstaltung
+ $query = "SELECT * FROM #__sportsmanager_veranstaltung WHERE veranstaltung_id = $veranstaltungId";
+ $rows = loadObjectList($db, $query);
+ if (count($rows) < 1) die("Wrong id!");
+ $veranstaltung = $rows[0];
+
+ //Alle Teams
+ $query = "SELECT *"
+ . "\n FROM #__sportsmanager_team"
+ . "\n WHERE veranstaltung_id = $veranstaltungId"
+ . "\n ORDER BY setzliste_nr;";
+ $teams_unformatiert = json_decode(json_encode(loadObjectList($db, $query)), true);
+
+ foreach($teams_unformatiert AS $team){
+ $teams[$team['setzliste_nr']] = $team;
+ }
+
+ $anzahlTeams = count($teams);
+ $anzahlRunden = getAnzahlRunden($anzahlTeams);
+
+ //Alle Begegnungen vorbelegen
+ $anzahlSpiele = pow(2, $anzahlRunden - 1);
+ for($runde_nr = 1; $runde_nr <= $anzahlRunden; $runde_nr++)
+ {
+ for($spiel_nr = 1; $spiel_nr <= $anzahlSpiele; $spiel_nr++)
+ {
+ $begegnungen[$runde_nr][$spiel_nr]['heim'] = "";
+ $begegnungen[$runde_nr][$spiel_nr]['gast'] = "";
+ $begegnungen[$runde_nr][$spiel_nr]['sieger'] = 0;
+ $begegnungen[$runde_nr][$spiel_nr]['link'] = "";
+ $begegnungen[$runde_nr][$spiel_nr]['id'] = "";
+ $begegnungen[$runde_nr][$spiel_nr]['erg_heim'] = "";
+ $begegnungen[$runde_nr][$spiel_nr]['erg_gast'] = "";
+ $begegnungen[$runde_nr][$spiel_nr]['tooltiptext'] = "";
+ }
+ $anzahlSpiele = $anzahlSpiele / 2;
+ }
+
+ //Alle Begegnungen aus der Setzliste
+ $setzliste = getSetzliste($anzahlRunden);
+ $spiel_nr = 0;
+ foreach($setzliste AS $setzung){
+ $spiel_nr++;
+ $begegnungen[1][$spiel_nr]['sieger'] = 0;
+ if ($setzung[0] <= $anzahlTeams) {
+ $begegnungen[1][$spiel_nr]['heim'] = htmlentities($teams[$setzung[0]]['teamname_kurz']) ?: htmlentities($teams[$setzung[0]]['teamname']);
+ } else {
+ $begegnungen[1][$spiel_nr]['heim'] = "freilos";
+ $begegnungen[1][$spiel_nr]['sieger'] = 2;
+ if ($spiel_nr %2)
+ $begegnungen[2][round($spiel_nr/2)]['heim'] = htmlentities($teams[$setzung[1]]['teamname_kurz']) ?: htmlentities($teams[$setzung[1]]['teamname']);
+ else
+ $begegnungen[2][round($spiel_nr/2)]['gast'] = htmlentities($teams[$setzung[1]]['teamname_kurz']) ?: htmlentities($teams[$setzung[1]]['teamname']);
+ }
+ if ($setzung[1] <= $anzahlTeams) {
+ $begegnungen[1][$spiel_nr]['gast'] = htmlentities($teams[$setzung[1]]['teamname_kurz']) ?: htmlentities($teams[$setzung[1]]['teamname']);
+ } else {
+ $begegnungen[1][$spiel_nr]['gast'] = "freilos";
+ $begegnungen[1][$spiel_nr]['sieger'] = 1;
+ if ($spiel_nr %2)
+ $begegnungen[2][round($spiel_nr/2)]['heim'] = htmlentities($teams[$setzung[0]]['teamname_kurz']) ?: htmlentities($teams[$setzung[0]]['teamname']);
+ else
+ $begegnungen[2][round($spiel_nr/2)]['gast'] = htmlentities($teams[$setzung[0]]['teamname_kurz']) ?: htmlentities($teams[$setzung[0]]['teamname']);
+ }
+ }
+
+
+ //Alle Begegnungen aus Datenbank
+ $query = "SELECT t4.bezeichnung AS Liga, t1.zeitpunkt AS Spielstart,"
+ . "\n if(t2.teamname_kurz <> '',t2.teamname_kurz, t2.teamname) AS Heim,"
+ . "\n if(t3.teamname_kurz <> '',t3.teamname_kurz, t3.teamname) AS Gast,"
+ . "\n t1.heim_team_id, t1.gast_team_id, t1.spieltag_titel AS Runde, t1.spieltag AS Spieltag_Nr,"
+ . "\n t1.spiel_nr AS Spiel_Nr, t1.heim_punkte AS Heim_Tore, t1.gast_punkte AS Gast_Tore,"
+ . "\n t1.heim_spielpunkte AS Heim_Satzpunkte, t1.gast_spielpunkte AS Gast_Satzpunkte, t1.begegnung_id"
+ . "\n FROM #__sportsmanager_begegnung AS t1"
+ . "\n LEFT JOIN #__sportsmanager_team AS t2 ON t1.heim_team_id = t2.team_id"
+ . "\n LEFT JOIN #__sportsmanager_team AS t3 ON t1.gast_team_id = t3.team_id"
+ . "\n LEFT JOIN #__sportsmanager_veranstaltung AS t4 ON t2.veranstaltung_id = t4.veranstaltung_id"
+ . "\n WHERE t4.veranstaltung_id = $veranstaltungId"
+ . "\n ORDER BY t4.veranstaltung_id, t1.spieltag, t1.spiel_nr;";
+ $begegnungen_unformatiert = json_decode(json_encode(loadObjectList($db, $query)), true);
+ foreach($begegnungen_unformatiert as $begegnung)
+ {
+ $begegnungen[$begegnung['Spieltag_Nr']][$begegnung['Spiel_Nr']]['Id'] = $begegnung['begegnung_id'];
+ $begegnungen[$begegnung['Spieltag_Nr']][$begegnung['Spiel_Nr']]['heim'] = htmlentities($begegnung['Heim']);
+ $begegnungen[$begegnung['Spieltag_Nr']][$begegnung['Spiel_Nr']]['gast'] = htmlentities($begegnung['Gast']);
+ $begegnungen[$begegnung['Spieltag_Nr']][$begegnung['Spiel_Nr']]['erg_heim'] = $begegnung['Heim_Satzpunkte'];
+ $begegnungen[$begegnung['Spieltag_Nr']][$begegnung['Spiel_Nr']]['erg_gast'] = $begegnung['Gast_Satzpunkte'];
+ $begegnungen[$begegnung['Spieltag_Nr']][$begegnung['Spiel_Nr']]['link'] = SportsManagerURL('&task=begegnung_spielplan&veranstaltungid=' . $veranstaltungId . '&id=' . $begegnung['begegnung_id']);
+ $tooltiptext = $begegnung['Runde'] . ": " . htmlentities($begegnung['Heim']) . " vs. " . htmlentities($begegnung['Gast']);
+ if ($begegnung['Heim_Satzpunkte'] > 0 || $begegnung['Gast_Satzpunkte'] > 0)
+ $tooltiptext .= " - " . $begegnung['Heim_Satzpunkte'] . " : " . $begegnung['Gast_Satzpunkte'];
+ $begegnungen[$begegnung['Spieltag_Nr']][$begegnung['Spiel_Nr']]['tooltiptext'] = $tooltiptext;
+
+ if ($begegnung['Heim_Satzpunkte'] > $begegnung['Gast_Satzpunkte']) {
+ $begegnungen[$begegnung['Spieltag_Nr']][$begegnung['Spiel_Nr']]['sieger'] = 1;
+ if ($begegnung['Spieltag_Nr'] < $anzahlRunden){
+ if (round($begegnung['Spiel_Nr'] % 2))
+ $begegnungen[$begegnung['Spieltag_Nr'] + 1][round($begegnung['Spiel_Nr'] / 2)]['heim'] = htmlentities($begegnung['Heim']);
+ else
+ $begegnungen[$begegnung['Spieltag_Nr'] + 1][round($begegnung['Spiel_Nr'] / 2)]['gast'] = htmlentities($begegnung['Heim']);
+ }
+ } else
+ if ($begegnung['Heim_Satzpunkte'] < $begegnung['Gast_Satzpunkte']) {
+ $begegnungen[$begegnung['Spieltag_Nr']][$begegnung['Spiel_Nr']]['sieger'] = 2;
+ if ($begegnung['Spieltag_Nr'] < $anzahlRunden){
+ if (round($begegnung['Spiel_Nr'] % 2))
+ $begegnungen[$begegnung['Spieltag_Nr'] + 1][round($begegnung['Spiel_Nr'] / 2)]['heim'] = htmlentities($begegnung['Gast']);
+ else
+ $begegnungen[$begegnung['Spieltag_Nr'] + 1][round($begegnung['Spiel_Nr'] / 2)]['gast'] = htmlentities($begegnung['Gast']);
+ }
+ } else {
+ $begegnungen[$begegnung['Spieltag_Nr']][$begegnung['Spiel_Nr']]['sieger'] = 0;
+ }
+ }
+
+ $veranstaltung->anzahlRunden = $anzahlRunden;
+
+ HTML_sportsmanager::turnierbaumAnzeigen($veranstaltung,$begegnungen);
+}
+
function begegnungenAnzeigen($veranstaltung, $verein_id, $spielort_id, $zeitfenster, $ausgetragene_filtern = false, $auszutragende_filtern = false, $zwischenergebnisse_filtern = false, $titel = "", $umgekehrte_reihenfolge = false, $aus_uebersicht = false, $praesentation = 0, $year = NULL, $month = NULL)
{
$db = getDatabase();
@@ -2068,11 +2417,7 @@ function begegnungenAnzeigen($veranstaltung, $verein_id, $spielort_id, $zeitfens
. "\n LEFT JOIN #__sportsmanager_verschieberegel AS t6 ON t5.verschieberegel_id = t6.verschieberegel_id"
. "\n WHERE t5.status > 0 AND (t2.verein_id = $verein_id OR t3.verein_id = $verein_id)" . ($zeitfenster > 0 ? " AND (ABS(DATEDIFF(zeitpunkt, CURDATE())) <= $zeitfenster OR NOT ISNULL(t4.unbestaetigtes_ergebnis_id) OR (heim_punkte = 0 AND gast_punkte = 0 AND (SELECT IF(aktion NOT IN (0, 3, 4), 0, 1) FROM #__sportsmanager_begegnung_historie AS tt1 USE INDEX (begegnung_id) WHERE tt1.begegnung_id = t1.begegnung_id ORDER BY begegnung_historie_id DESC LIMIT 1) = 1))" : "") . ($ausgetragene_filtern ? " AND ((ISNULL(heim_punkte) AND ISNULL(gast_punkte)) OR zwischenergebnis)" : "") . ($auszutragende_filtern ? " AND (heim_punkte != 0 OR gast_punkte != 0 OR zwischenergebnis)" : "") . ($zwischenergebnisse_filtern ? " AND (ISNULL(unbestaetigtes_ergebnis_id) OR NOT zwischenergebnis)" : "")
. "\n ORDER BY t1.zeitpunkt" . ($umgekehrte_reihenfolge ? " DESC" : "") . ", heim_name";
- $db->setQuery($query);
- if (!$db->execute()) {
- abortWithError($db->stderr(true));
- }
- $begegnungen = $db->loadObjectList();
+ $begegnungen = loadObjectList($db, $query);
$modus = NULL;
} else if ($spielort_id != NULL) {
@@ -2092,11 +2437,7 @@ function begegnungenAnzeigen($veranstaltung, $verein_id, $spielort_id, $zeitfens
. "\n LEFT JOIN #__sportsmanager_verschieberegel AS t6 ON t5.verschieberegel_id = t6.verschieberegel_id"
. "\n WHERE t5.status > 0 AND (t1.spielort_id = $spielort_id OR (ISNULL(t1.spielort_id) AND t2.heimspielort_id = $spielort_id))" . ($zeitfenster > 0 ? " AND (ABS(DATEDIFF(zeitpunkt, CURDATE())) <= $zeitfenster OR NOT ISNULL(t4.unbestaetigtes_ergebnis_id) OR (heim_punkte = 0 AND gast_punkte = 0 AND (SELECT IF(aktion NOT IN (0, 3, 4), 0, 1) FROM #__sportsmanager_begegnung_historie AS tt1 USE INDEX (begegnung_id) WHERE tt1.begegnung_id = t1.begegnung_id ORDER BY begegnung_historie_id DESC LIMIT 1) = 1))" : "") . ($ausgetragene_filtern ? " AND ((ISNULL(heim_punkte) AND ISNULL(gast_punkte)) OR zwischenergebnis)" : "") . ($auszutragende_filtern ? " AND (heim_punkte != 0 OR gast_punkte != 0 OR zwischenergebnis)" : "") . ($zwischenergebnisse_filtern ? " AND (ISNULL(unbestaetigtes_ergebnis_id) OR NOT zwischenergebnis)" : "")
. "\n ORDER BY t1.zeitpunkt" . ($umgekehrte_reihenfolge ? " DESC" : "") . ", heim_name";
- $db->setQuery($query);
- if (!$db->execute()) {
- abortWithError($db->stderr(true));
- }
- $begegnungen = $db->loadObjectList();
+ $begegnungen = loadObjectList($db, $query);
$modus = NULL;
} else if ($veranstaltung == NULL) {
@@ -2121,11 +2462,7 @@ function begegnungenAnzeigen($veranstaltung, $verein_id, $spielort_id, $zeitfens
) . ($ausgetragene_filtern ? " AND ((ISNULL(heim_punkte) AND ISNULL(gast_punkte)) OR zwischenergebnis)" : "") . ($auszutragende_filtern ? " AND (heim_punkte != 0 OR gast_punkte != 0 OR zwischenergebnis)" : "") . ($zwischenergebnisse_filtern ? " AND (ISNULL(unbestaetigtes_ergebnis_id) OR NOT zwischenergebnis)" : "")
. "\n ORDER BY t1.zeitpunkt" . ($umgekehrte_reihenfolge ? " DESC" : "") . ", heim_name";
- $db->setQuery($query);
- if (!$db->execute()) {
- abortWithError($db->stderr(true));
- }
- $begegnungen = $db->loadObjectList();
+ $begegnungen = loadObjectList($db, $query);
$modus = NULL;
} else {
@@ -2147,20 +2484,13 @@ function begegnungenAnzeigen($veranstaltung, $verein_id, $spielort_id, $zeitfens
. "\n LEFT JOIN #__sportsmanager_veranstaltung AS t5 ON t2.veranstaltung_id = t5.veranstaltung_id"
. "\n LEFT JOIN #__sportsmanager_verschieberegel AS t6 ON t5.verschieberegel_id = t6.verschieberegel_id"
. "\n WHERE t5.status > 0" . kategorieFilter("AND t5.kategorie IN") . " AND t2.veranstaltung_id = $veranstaltung->veranstaltung_id" . ($zeitfenster > 0 ? " AND (ABS(DATEDIFF(zeitpunkt, CURDATE())) <= $zeitfenster OR (heim_punkte = 0 AND gast_punkte = 0 AND (SELECT IF(aktion NOT IN (0, 3, 4), 0, 1) FROM #__sportsmanager_begegnung_historie AS tt1 USE INDEX (begegnung_id) WHERE tt1.begegnung_id = t1.begegnung_id ORDER BY begegnung_historie_id DESC LIMIT 1) = 1))" : "") . ($ausgetragene_filtern ? " AND ISNULL(heim_punkte) AND ISNULL(gast_punkte)" : "") . ($auszutragende_filtern ? " AND (heim_punkte != 0 OR gast_punkte != 0)" : "")
- . "\n ORDER BY " . ((($veranstaltung->unterteilung == 0 || $veranstaltung->unterteilung == 1) && $zeitfenster == 0) ? ("t1.spieltag" . ($umgekehrte_reihenfolge ? " DESC" : "") . ", s1.name, ") : "") . "t1.zeitpunkt" . ($umgekehrte_reihenfolge ? " DESC" : "") . ", heim_name";
- $db->setQuery($query);
- if (!$db->execute()) {
- abortWithError($db->stderr(true));
- }
- $begegnungen = $db->loadObjectList();
+ . "\n ORDER BY " . ((($veranstaltung->unterteilung == 0 || $veranstaltung->unterteilung == 1) && $zeitfenster == 0) ? ("t1.spieltag" . ($umgekehrte_reihenfolge ? " DESC" : "") . ", t1.spiel_nr, s1.name, ") : "") . "t1.zeitpunkt" . ($umgekehrte_reihenfolge ? " DESC" : "") . ", heim_name";
+
+ $begegnungen = loadObjectList($db, $query);
$modus_id = $veranstaltung->modus_id;
$query = "SELECT * FROM #__sportsmanager_teamspiel_modus WHERE teamspiel_modus_id = $modus_id";
- $db->setQuery($query);
- if (!$db->execute()) {
- abortWithError($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
$modus = null;
if (count($rows) == 1)
$modus = $rows[0];
@@ -2195,11 +2525,7 @@ function turniere(): void
. "\n WHERE #__sportsmanager_turnierdisziplin.status > 0" . kategorieFilter("AND kategorie IN") . " AND EXISTS(SELECT * FROM #__sportsmanager_turniermeldung WHERE #__sportsmanager_turniermeldung.turnierdisziplin_id = #__sportsmanager_turnierdisziplin.turnierdisziplin_id AND rundenstufe = 0)"
. "\n GROUP BY saison_id"
. "\n ORDER BY saisonbezeichnung DESC";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $saisons = $db->loadObjectList();
+ $saisons = loadObjectList($db, $query);
if (count($saisons) != 0) {
$gefunden = FALSE;
@@ -2220,11 +2546,7 @@ function turniere(): void
. "\n WHERE turnierdisziplin.status > 0" . kategorieFilter("AND kategorie IN") . ($filter_saison_id != 0 ? " AND saison_id = $filter_saison_id" : "") . " AND EXISTS(SELECT * FROM #__sportsmanager_turniermeldung WHERE #__sportsmanager_turniermeldung.turnierdisziplin_id = turnierdisziplin.turnierdisziplin_id AND rundenstufe = 0)"
. "\n GROUP BY turnier_id"
. "\n ORDER BY #__sportsmanager_turnier.erster_tag DESC";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $turniere = $db->loadObjectList();
+ $turniere = loadObjectList($db, $query);
HTML_sportsmanager::turniere($turniere);
@@ -2249,11 +2571,7 @@ function turnierdisziplinen(): void
. "\n WHERE #__sportsmanager_turnierdisziplin.status > 0" . kategorieFilter("AND kategorie IN") . " AND EXISTS(SELECT * FROM #__sportsmanager_turniermeldung WHERE #__sportsmanager_turniermeldung.turnierdisziplin_id = #__sportsmanager_turnierdisziplin.turnierdisziplin_id AND rundenstufe = 0)"
. "\n GROUP BY saison_id"
. "\n ORDER BY saisonbezeichnung DESC";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $saisons = $db->loadObjectList();
+ $saisons = loadObjectList($db, $query);
if (count($saisons) != 0) {
$gefunden = FALSE;
@@ -2272,11 +2590,7 @@ function turnierdisziplinen(): void
. "\n INNER JOIN #__sportsmanager_turnierdisziplin USING (turnier_id)"
. "\n WHERE turnier_id = $turnier_id AND #__sportsmanager_turnierdisziplin.status > 0" . kategorieFilter("AND kategorie IN") . " AND EXISTS(SELECT * FROM #__sportsmanager_turniermeldung WHERE #__sportsmanager_turniermeldung.turnierdisziplin_id = #__sportsmanager_turnierdisziplin.turnierdisziplin_id AND rundenstufe = 0" . kategorieFilter("AND kategorie IN") . ")"
. "\n LIMIT 1";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if (empty($rows))
die("Wrong id");
$turnier = $rows[0];
@@ -2286,11 +2600,7 @@ function turnierdisziplinen(): void
. "\n FROM #__sportsmanager_turnierdisziplin"
. "\n WHERE turnier_id = $turnier_id AND status > 0 AND EXISTS (SELECT * FROM #__sportsmanager_turniermeldung WHERE #__sportsmanager_turniermeldung.turnierdisziplin_id = #__sportsmanager_turnierdisziplin.turnierdisziplin_id AND rundenstufe = 0)"
. "\n ORDER BY reihenfolge, disziplin, beginn";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $disziplinen = $db->loadObjectList();
+ $disziplinen = loadObjectList($db, $query);
// Vorheriges und nächstes Turnier ermitteln
$query = "SELECT turnier_id"
@@ -2299,11 +2609,7 @@ function turnierdisziplinen(): void
. "\n WHERE #__sportsmanager_turnierdisziplin.status > 0" . kategorieFilter("AND kategorie IN") . ($filter_saison_id != 0 ? " AND saison_id = $filter_saison_id" : "") . " AND EXISTS(SELECT * FROM #__sportsmanager_turniermeldung WHERE #__sportsmanager_turniermeldung.turnierdisziplin_id = #__sportsmanager_turnierdisziplin.turnierdisziplin_id AND rundenstufe = 0)"
. "\n GROUP BY turnier_id"
. "\n ORDER BY #__sportsmanager_turnier.erster_tag DESC";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
$n = count($rows);
$vorherige_turnier_id = 0;
@@ -2324,21 +2630,13 @@ function turnierdisziplinen(): void
HTML_sportsmanager::disziplinHeader($disziplin);
$query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_turniermeldung WHERE turnierdisziplin_id = $disziplin->turnierdisziplin_id AND rundenstufe = 0 AND platz > 0), 1, 0)";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $platzierung_anzeigen = $db->loadResult() > 0;
+ $platzierung_anzeigen = loadResult($db, $query) > 0;
$query = "SELECT platz, turniermeldung_id"
. "\n FROM #__sportsmanager_turniermeldung"
. "\n WHERE turnierdisziplin_id = $disziplin->turnierdisziplin_id AND rundenstufe = '0' AND platz <= 3"
. "\n ORDER BY platz, turniermeldung_id";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $meldungen = $db->loadObjectList();
+ $meldungen = loadObjectList($db, $query);
$query = "SELECT turniermeldung_id, spieler_id, geschlecht, bild_ausblenden, IF(ISNULL(spieler_id), #__sportsmanager_turniermeldung_spieler_name.nachname, #__sportsmanager_spieler.nachname) AS nachname, IF(ISNULL(spieler_id), #__sportsmanager_turniermeldung_spieler_name.vorname, #__sportsmanager_spieler.vorname) AS vorname"
. "\n FROM #__sportsmanager_turniermeldung"
@@ -2347,11 +2645,7 @@ function turnierdisziplinen(): void
. "\n LEFT JOIN #__sportsmanager_spieler USING (spieler_id)"
. "\n WHERE turnierdisziplin_id = $disziplin->turnierdisziplin_id AND rundenstufe = '0' AND platz <= 3"
. "\n ORDER BY turniermeldung_spieler_id";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $meldungenSpieler = $db->loadObjectList();
+ $meldungenSpieler = loadObjectList($db, $query);
$meldungenSpielerIds = array();
$meldungenSpielerNamen = array();
@@ -2395,11 +2689,7 @@ function turnierdisziplin(): void
. "\n FROM #__sportsmanager_turnierdisziplin"
. "\n WHERE turnierdisziplin_id = $id AND status > 0 AND EXISTS (SELECT * FROM #__sportsmanager_turniermeldung WHERE #__sportsmanager_turniermeldung.turnierdisziplin_id = #__sportsmanager_turnierdisziplin.turnierdisziplin_id AND rundenstufe = 0)"
. "\n ORDER BY reihenfolge, disziplin, beginn";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if (count($rows) < 1)
die("Wrong id!");
$disziplin = $rows[0];
@@ -2410,21 +2700,13 @@ function turnierdisziplin(): void
. "\n INNER JOIN #__sportsmanager_turnierdisziplin USING (turnier_id)"
. "\n WHERE turnier_id = $disziplin->turnier_id AND turnierdisziplin_id = $id AND status > 0 AND EXISTS (SELECT * FROM #__sportsmanager_turniermeldung WHERE #__sportsmanager_turniermeldung.turnierdisziplin_id = #__sportsmanager_turnierdisziplin.turnierdisziplin_id AND rundenstufe = 0)"
. "\n LIMIT 1";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if (count($rows) < 1)
die("Wrong id!");
$turnier = $rows[0];
$query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_turniermeldung WHERE turnierdisziplin_id = $disziplin->turnierdisziplin_id AND rundenstufe = 0 AND platz > 0), 1, 0)";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $platzierung_anzeigen = $db->loadResult() > 0;
+ $platzierung_anzeigen = loadResult($db, $query) > 0;
$meldungen = array();
foreach (array(0, 1, 2, 3, 10) as $rundenstufe) {
@@ -2432,11 +2714,7 @@ function turnierdisziplin(): void
. "\n FROM #__sportsmanager_turniermeldung"
. "\n WHERE turnierdisziplin_id = $id AND rundenstufe = '$rundenstufe'"
. "\n ORDER BY platz, turniermeldung_id";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $meldungen[$rundenstufe] = $db->loadObjectList();
+ $meldungen[$rundenstufe] = loadObjectList($db, $query);
}
$query = "SELECT turniermeldung_id, spieler_id, geschlecht, bild_ausblenden, IF(ISNULL(spieler_id), #__sportsmanager_turniermeldung_spieler_name.nachname, #__sportsmanager_spieler.nachname) AS nachname, IF(ISNULL(spieler_id), #__sportsmanager_turniermeldung_spieler_name.vorname, #__sportsmanager_spieler.vorname) AS vorname"
@@ -2446,11 +2724,7 @@ function turnierdisziplin(): void
. "\n LEFT JOIN #__sportsmanager_spieler USING (spieler_id)"
. "\n WHERE turnierdisziplin_id = $id"
. "\n ORDER BY turniermeldung_spieler_id";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $meldungenSpieler = $db->loadObjectList();
+ $meldungenSpieler = loadObjectList($db, $query);
$meldungenSpielerIds = array();
$meldungenSpielerNamen = array();
@@ -2480,11 +2754,7 @@ function turnierdisziplin(): void
. "\n FROM #__sportsmanager_turnierspiel"
. "\n WHERE turnierdisziplin_id = $id AND rundenstufe = '$rundenstufe'"
. "\n ORDER BY runde DESC, spiel_nummer";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $spiele[$rundenstufe] = $db->loadObjectList();
+ $spiele[$rundenstufe] = loadObjectList($db, $query);
}
// Vorherige und nächste Turnierdisziplin ermitteln
@@ -2492,11 +2762,7 @@ function turnierdisziplin(): void
. "\n FROM #__sportsmanager_turnierdisziplin"
. "\n WHERE turnier_id = $turnierid AND status > 0 AND EXISTS (SELECT * FROM #__sportsmanager_turniermeldung WHERE #__sportsmanager_turniermeldung.turnierdisziplin_id = #__sportsmanager_turnierdisziplin.turnierdisziplin_id AND rundenstufe = 0)"
. "\n ORDER BY reihenfolge, disziplin, beginn";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
$n = count($rows);
$vorherige_turnierdisziplin_id = 0;
@@ -2550,11 +2816,7 @@ function spieler(): void
if ($veranstaltungid != 0) {
// Veranstaltung ermitteln
$query = "SELECT * FROM #__sportsmanager_veranstaltung WHERE veranstaltung_id = $veranstaltungid AND status > 0";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if (count($rows) < 1)
$veranstaltungid = 0;
}
@@ -2562,11 +2824,7 @@ function spieler(): void
if ($veranstalterid != 0) {
// Veranstaltung ermitteln
$query = "SELECT * FROM #__sportsmanager_veranstalter WHERE veranstalter_id = $veranstalterid";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if (count($rows) < 1)
$veranstalterid = 0;
}
@@ -2596,11 +2854,7 @@ function spieler(): void
$query .= "\n AND (CONCAT_WS(', ', nachname, vorname) LIKE '$searchEscapedWildcards' OR CONCAT_WS(' ', vorname, nachname) LIKE '$searchEscapedWildcards' OR spielernr = '$searchEscaped' OR lizenznr = '$searchEscaped')";
if ($einstufungid != 0)
$query .= "\n AND (einstufung_allgemein_id = $einstufungid OR einstufung_einzel_id = $einstufungid OR einstufung_doppel_id = $einstufungid)";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $anzahl_gefundener_spieler = $db->loadResult();
+ $anzahl_gefundener_spieler = loadResult($db, $query);
// Anzuzeigende Spieler ermitteln
if ($beginn < 0 || $beginn >= $anzahl_gefundener_spieler)
@@ -2619,20 +2873,18 @@ function spieler(): void
$query .= "\n INNER JOIN (SELECT spieler_id, teamname FROM #__sportsmanager_veranstaltung INNER JOIN #__sportsmanager_team USING (veranstaltung_id) INNER JOIN #__sportsmanager_mitglied_von_team USING (team_id) WHERE status > 0 AND veranstaltung_id = $veranstaltungid AND NOT ausgetreten GROUP BY spieler_id ORDER BY YEAR(letzter_tag) DESC, reihenfolge, letzter_tag DESC, bezeichnung, teamname) AS mannschaftsmitglied USING (spieler_id)";
$query .= "\n LEFT JOIN #__sportsmanager_verein ON aktueller_verein_id = verein_id"
. "\n LEFT JOIN #__sportsmanager_veranstalter USING (veranstalter_id)"
- . "\n WHERE NOT ISNULL(aktueller_verein_id)";
+ . "\n LEFT JOIN #__sportsmanager_mitglied_von_verein USING (spieler_id)"
+ . "\n WHERE NOT ISNULL(aktueller_verein_id) AND #__sportsmanager_mitglied_von_verein.mitgliedsstatus IN (1,2)";
if (!empty($search))
$query .= "\n AND (CONCAT_WS(', ', nachname, vorname) LIKE '$searchEscapedWildcards' OR CONCAT_WS(' ', vorname, nachname) LIKE '$searchEscapedWildcards' OR spielernr = '$searchEscaped' OR lizenznr = '$searchEscaped')";
if ($einstufungid != 0)
$query .= "\n AND (einstufung_allgemein_id = $einstufungid OR einstufung_einzel_id = $einstufungid OR einstufung_doppel_id = $einstufungid)";
- if (!empty($kategorie))
+ $query .= "\n GROUP BY spieler_id";
+ if (!empty($kategorie))
$query .= "\n HAVING kategorie = '" . $db->escape($kategorie) . "'";
$query .= "\n ORDER BY " . $sortierung_query
. "\n LIMIT $beginn, 50";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $spieler = $db->loadObjectList();
+ $spieler = loadObjectList($db, $query);
} else {
$spieler = array();
}
@@ -2643,21 +2895,13 @@ function spieler(): void
. "\n WHERE status > 0 AND CURDATE() BETWEEN erster_tag AND letzter_tag"
. "\n GROUP BY veranstaltung_id"
. "\n ORDER BY Year(letzter_tag) DESC, reihenfolge, letzter_tag DESC, bezeichnung, kategorie";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $veranstaltungen = $db->loadObjectList();
+ $veranstaltungen = loadObjectList($db, $query);
// Einstufungen ermitteln
$query = "SELECT einstufung_id, bezeichnung"
. "\n FROM #__sportsmanager_einstufung"
. "\n ORDER BY prioritaet";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
$einstufungen = array();
foreach ($rows as $row)
@@ -2668,70 +2912,34 @@ function spieler(): void
. "\n FROM #__sportsmanager_veranstalter"
. "\n WHERE " . kategorieFilter("#__sportsmanager_veranstalter.kategorie IN", "AND ") . "(SELECT COUNT(*) FROM #__sportsmanager_verein WHERE NOT ausgetreten AND #__sportsmanager_verein.veranstalter_id = #__sportsmanager_veranstalter.veranstalter_id) > 0"
. "\n ORDER BY veranstalterbezeichnung";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $veranstalter = $db->loadObjectList();
+ $veranstalter = loadObjectList($db, $query);
// Statistiken ermitteln
$statistik = array();
$query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_spieler WHERE NOT(ISNULL(pseudonym)) AND pseudonym != ''), 1, 0)";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $statistik["pseudonym"] = $db->loadResult();
+ $statistik["pseudonym"] = loadResult($db, $query);
$query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_mitglied_von_verein WHERE NOT ausgetreten), 1, 0)";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $statistik["verein"] = $db->loadResult();
+ $statistik["verein"] = loadResult($db, $query);
$query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_spieler WHERE NOT ISNULL(einstufung_allgemein_id)), 1, 0)";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $statistik["einstufung_allgemein"] = $db->loadResult();
+ $statistik["einstufung_allgemein"] = loadResult($db, $query);
$query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_spieler WHERE NOT ISNULL(einstufung_einzel_id)), 1, 0)";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $statistik["einstufung_einzel"] = $db->loadResult();
+ $statistik["einstufung_einzel"] = loadResult($db, $query);
$query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_spieler WHERE NOT ISNULL(einstufung_doppel_id)), 1, 0)";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $statistik["einstufung_doppel"] = $db->loadResult();
+ $statistik["einstufung_doppel"] = loadResult($db, $query);
$query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_verein WHERE NOT ausgetreten AND NOT ISNULL(veranstalter_id)), 1, 0)";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $statistik["veranstalter"] = $db->loadResult();
+ $statistik["veranstalter"] = loadResult($db, $query);
$query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_spieler WHERE elo_einzel_spiele > 0), 1, 0)";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $statistik["elo_einzel"] = $db->loadResult() && einstellungswert("spielerliste_elo") == "1";
+ $statistik["elo_einzel"] = loadResult($db, $query) && einstellungswert("spielerliste_elo") == "1";
$query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_spieler WHERE elo_doppel_spiele > 0), 1, 0)";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $statistik["elo_doppel"] = $db->loadResult() && einstellungswert("spielerliste_elo") == "1";
+ $statistik["elo_doppel"] = loadResult($db, $query) && einstellungswert("spielerliste_elo") == "1";
HTML_sportsmanager::spieler($params->get('beschreibung'), $spieler, $sortierung, $statistik, $beginn, $kategorie, $filter, $veranstaltungid, $einstufungid, $veranstaltungen, $veranstalterid, $veranstalter, $einstufungen, $details_anzeigen);
@@ -2766,11 +2974,7 @@ function spielerDetails(): void
if ($veranstaltungid != 0 && $veranstaltungid != -1) {
// Veranstaltung ermitteln
$query = "SELECT * FROM #__sportsmanager_veranstaltung WHERE veranstaltung_id = $veranstaltungid";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if (count($rows) < 1)
$veranstaltungid = 0;
}
@@ -2784,11 +2988,7 @@ function spielerDetails(): void
. "\n IF(ISNULL(geburtsjahr), IF(geschlecht = 'M', 'H', 'D'), IF(" . ($jahr - 18) . " <= geburtsjahr, 'J', IF(" . ($jahr - 50) . " > geburtsjahr, 'S', IF(geschlecht = 'M', 'H', 'D')))) AS kategorie"
. "\n FROM #__sportsmanager_spieler"
. "\n WHERE #__sportsmanager_spieler.spieler_id = $id" . ($berechtigt_spieler_aendern ? "" : " AND NOT ISNULL(aktueller_verein_id)");
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if (count($rows) < 1) {
redirectSportsManagerURL(NULL, "Zum Spieler sind in dieser Ansicht keine Daten vorhanden.");
}
@@ -2798,35 +2998,32 @@ function spielerDetails(): void
$query = "SELECT vereinsname"
. "\n FROM #__sportsmanager_mitglied_von_verein, #__sportsmanager_verein"
. "\n LEFT JOIN #__sportsmanager_veranstalter USING (veranstalter_id)"
- . "\n WHERE #__sportsmanager_mitglied_von_verein.spieler_id = $id AND NOT #__sportsmanager_verein.ausgetreten AND NOT #__sportsmanager_mitglied_von_verein.ausgetreten AND #__sportsmanager_verein.verein_id = #__sportsmanager_mitglied_von_verein.verein_id"
+ . "\n WHERE #__sportsmanager_mitglied_von_verein.spieler_id = $id "
+ . "\n AND NOT #__sportsmanager_verein.ausgetreten"
+ . "\n AND NOT #__sportsmanager_mitglied_von_verein.ausgetreten"
+ . "\n AND #__sportsmanager_mitglied_von_verein.mitgliedsstatus IN (1,2)"
+ . "\n AND #__sportsmanager_verein.verein_id = #__sportsmanager_mitglied_von_verein.verein_id"
. "\n ORDER BY vereinsname";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $vereine = $db->loadObjectList();
+ $vereine = loadObjectList($db, $query);
// Aktive Organisationen ermitteln
$query = "SELECT veranstalterbezeichnung"
. "\n FROM #__sportsmanager_mitglied_von_verein, #__sportsmanager_verein"
. "\n LEFT JOIN #__sportsmanager_veranstalter USING (veranstalter_id)"
- . "\n WHERE #__sportsmanager_mitglied_von_verein.spieler_id = $id AND NOT #__sportsmanager_verein.ausgetreten AND NOT #__sportsmanager_mitglied_von_verein.ausgetreten AND #__sportsmanager_verein.verein_id = #__sportsmanager_mitglied_von_verein.verein_id"
+ . "\n WHERE #__sportsmanager_mitglied_von_verein.spieler_id = $id"
+ . "\n AND NOT #__sportsmanager_verein.ausgetreten"
+ . "\n AND NOT #__sportsmanager_mitglied_von_verein.ausgetreten"
+ . "\n AND #__sportsmanager_mitglied_von_verein.mitgliedsstatus IN (1,2)"
+ . "\n AND #__sportsmanager_verein.verein_id = #__sportsmanager_mitglied_von_verein.verein_id"
+ . "\n GROUP BY veranstalterbezeichnung"
. "\n ORDER BY veranstalterbezeichnung";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $veranstalter = $db->loadObjectList();
+ $veranstalter = loadObjectList($db, $query);
// Einstufungen ermitteln
$query = "SELECT einstufung_id, bezeichnung"
. "\n FROM #__sportsmanager_einstufung"
. "\n ORDER BY prioritaet";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
$einstufungen = array();
foreach ($rows as $row)
@@ -2852,11 +3049,7 @@ function spielerDetails(): void
$query .= "\n AND (CONCAT_WS(', ', nachname, vorname) LIKE '$searchEscapedWildcards' OR CONCAT_WS(' ', vorname, nachname) LIKE '$searchEscapedWildcards' OR spielernr = '$searchEscaped' OR lizenznr = '$searchEscaped')";
if ($einstufungid != 0)
$query .= "\n AND (einstufung_allgemein_id = $einstufungid OR einstufung_einzel_id = $einstufungid OR einstufung_doppel_id = $einstufungid)";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $anzahl_gefundener_spieler = $db->loadResult();
+ $anzahl_gefundener_spieler = loadResult($db, $query);
if ($anzahl_gefundener_spieler <= 50) {
// Vorherigen und nächsten Spieler ermitteln
@@ -2895,11 +3088,7 @@ function spielerDetails(): void
$query .= "\n HAVING kategorie = '" . $db->escape($kategorie) . "'";
$query .= "\n ORDER BY " . $sortierung_query
. "\n LIMIT $beginn, 50";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
$n = count($rows);
$vorheriger_spieler_id = 0;
@@ -2922,11 +3111,7 @@ function spielerDetails(): void
// Spielernamen ermitteln
$query = "SELECT spieler_id, vorname, nachname"
. "\n FROM #__sportsmanager_spieler";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
$spielerNamen = array();
foreach ($rows as $row)
$spielerNamen[$row->spieler_id] = $row->nachname . ", " . $row->vorname;
@@ -2934,11 +3119,7 @@ function spielerDetails(): void
// Teamnamen ermitteln
$query = "SELECT team_id, teamname"
. "\n FROM #__sportsmanager_team";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
$teamNamen = array();
foreach ($rows as $row)
$teamNamen[$row->team_id] = $row->teamname;
@@ -2946,11 +3127,7 @@ function spielerDetails(): void
// Veranstaltungsbezeichnungen ermitteln
$query = "SELECT veranstaltung_id, bezeichnung"
. "\n FROM #__sportsmanager_veranstaltung";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
$veranstaltungBezeichnungen = array();
foreach ($rows as $row)
$veranstaltungBezeichnungen[$row->veranstaltung_id] = $row->bezeichnung;
@@ -2959,11 +3136,7 @@ function spielerDetails(): void
$query = "SELECT turnierdisziplin_id, disziplin, turnierbezeichnung"
. "\n FROM #__sportsmanager_turnierdisziplin"
. "\n INNER JOIN #__sportsmanager_turnier USING (turnier_id)";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
$turnierdisziplinBezeichnungen = array();
foreach ($rows as $row)
$turnierdisziplinBezeichnungen[$row->turnierdisziplin_id] = $row->turnierbezeichnung;
@@ -2971,11 +3144,7 @@ function spielerDetails(): void
// Individualwettbewerbsbezeichnungen ermitteln
$query = "SELECT individualwettbewerb_id, bezeichnung"
. "\n FROM #__sportsmanager_individualwettbewerb";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
$individualwettbewerbBezeichnungen = array();
foreach ($rows as $row)
$individualwettbewerbBezeichnungen[$row->individualwettbewerb_id] = $row->bezeichnung;
@@ -2988,11 +3157,7 @@ function spielerDetails(): void
. "\n INNER JOIN #__sportsmanager_saison USING (saison_id)"
. "\n WHERE #__sportsmanager_rangliste.status > 0 AND #__sportsmanager_rangliste_punkte.spieler_id = $id AND #__sportsmanager_rangliste.rangliste_id = #__sportsmanager_rangliste_punkte.rangliste_id"
. "\n ORDER BY saisonbezeichnung DESC, reihenfolge, bezeichnung, kategorie";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $ranglistenplatzierungen = $db->loadObjectList();
+ $ranglistenplatzierungen = loadObjectList($db, $query);
// Turnierplatzierungen ermitteln
$query = "SELECT *, saisonbezeichnung,"
@@ -3001,11 +3166,7 @@ function spielerDetails(): void
. "\n INNER JOIN #__sportsmanager_saison USING (saison_id)"
. "\n WHERE #__sportsmanager_turniermeldung_spieler.spieler_id = $id AND #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id AND #__sportsmanager_turnierdisziplin.status > 0 AND rundenstufe = 0 AND platz > 0 AND #__sportsmanager_turniermeldung.turnierdisziplin_id = #__sportsmanager_turnierdisziplin.turnierdisziplin_id AND #__sportsmanager_turnierdisziplin.turnier_id = #__sportsmanager_turnier.turnier_id"
. "\n ORDER BY saisonbezeichnung DESC, erster_tag DESC, turnierbezeichnung, reihenfolge, disziplin";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $turnierplatzierungen = $db->loadObjectList();
+ $turnierplatzierungen = loadObjectList($db, $query);
// Teammitgliedschaften ermitteln
$query = "SELECT t1.teamname, t3.bezeichnung, saisonbezeichnung,"
@@ -3015,11 +3176,7 @@ function spielerDetails(): void
. "\n WHERE t2.spieler_id = $id AND t1.team_id = t2.team_id AND t3.status > 0 AND t1.veranstaltung_id = t3.veranstaltung_id"
. "\n GROUP BY saison_id, teamname"
. "\n ORDER BY saisonbezeichnung DESC, t3.reihenfolge, t3.bezeichnung, t1.teamname, t3.kategorie";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $teams = $db->loadObjectList();
+ $teams = loadObjectList($db, $query);
// Elo-Verläufe ermitteln
$elo_einzel = array();
@@ -3040,39 +3197,19 @@ function spielerDetails(): void
$statistik = array();
$query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_mitglied_von_verein WHERE NOT ausgetreten), 1, 0)";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $statistik["verein"] = $db->loadResult();
+ $statistik["verein"] = loadResult($db, $query);
$query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_spieler WHERE NOT ISNULL(spielernr) AND spielernr <> ''), 1, 0)";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $statistik["spielernr_national"] = $db->loadResult();
+ $statistik["spielernr_national"] = loadResult($db, $query);
$query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_spieler WHERE NOT ISNULL(lizenznr) AND lizenznr <> ''), 1, 0)";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $statistik["spielernr_international"] = $db->loadResult();
+ $statistik["spielernr_international"] = loadResult($db, $query);
$query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_spieler WHERE elo_einzel_spiele > 0), 1, 0)";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $statistik["elo_einzel"] = $db->loadResult() && $elo_anzeigen;
+ $statistik["elo_einzel"] = loadResult($db, $query) && $elo_anzeigen;
$query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_spieler WHERE elo_doppel_spiele > 0), 1, 0)";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $statistik["elo_doppel"] = $db->loadResult() && $elo_anzeigen;
+ $statistik["elo_doppel"] = loadResult($db, $query) && $elo_anzeigen;
if (isJson()) {
JSON_sportsmanager:: spielerDetails($spieler, $vereine, $veranstalter, $spieler_elo_verlauf_einzel, $spieler_elo_verlauf_doppel, $spielerNamen, $teamNamen, $veranstaltungBezeichnungen, $turnierdisziplinBezeichnungen, $individualwettbewerbBezeichnungen, $ranglistenplatzierungen, $turnierplatzierungen, $teams, $elo_detailliert, $statistik, $einstufungen);
@@ -3098,11 +3235,7 @@ function mannschaften($ansicht_vereinigt): void
. "\n WHERE status > 0 AND EXISTS(SELECT * FROM #__sportsmanager_team WHERE #__sportsmanager_team.veranstaltung_id = #__sportsmanager_veranstaltung.veranstaltung_id)" . kategorieFilter("AND kategorie IN")
. "\n GROUP BY saison_id"
. "\n ORDER BY saisonbezeichnung DESC";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $saisons = $db->loadObjectList();
+ $saisons = loadObjectList($db, $query);
if (count($saisons) != 0) {
$gefunden = FALSE;
@@ -3131,11 +3264,7 @@ function mannschaften($ansicht_vereinigt): void
. ($filter_saison_id != 0 ? " AND saison_id = $filter_saison_id" : "")
. "\n GROUP BY IF(teamgruppe_id <> 0 AND NOT ISNULL(teamgruppe_id), teamgruppe_id, team_id)"
. "\n ORDER BY teamname, bezeichnung";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $teams = $db->loadObjectList();
+ $teams = loadObjectList($db, $query);
if (isJSON()) {
$json = JSON_sportsmanager::mannschaften(NULL, $teams);
} else {
@@ -3149,11 +3278,7 @@ function mannschaften($ansicht_vereinigt): void
. ($filter_saison_id != 0 ? " AND saison_id = $filter_saison_id" : "")
. "\n GROUP BY veranstaltung_id"
. "\n ORDER BY reihenfolge, #__sportsmanager_veranstaltung.letzter_tag DESC, bezeichnung, kategorie";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $veranstaltungen = $db->loadObjectList();
+ $veranstaltungen = loadObjectList($db, $query);
foreach ($veranstaltungen as $veranstaltung) {
$query = "SELECT teamname, teamgruppe_id, team_id, veranstaltung_id, verein_id, vereinsname, #__sportsmanager_verein.vereinsname, #__sportsmanager_spielort.name"
@@ -3162,11 +3287,7 @@ function mannschaften($ansicht_vereinigt): void
. "\n LEFT JOIN #__sportsmanager_spielort ON #__sportsmanager_spielort.spielort_id = #__sportsmanager_team.heimspielort_id"
. "\n WHERE veranstaltung_id = $veranstaltung->veranstaltung_id"
. "\n ORDER BY teamname";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $teams = $db->loadObjectList();
+ $teams = loadObjectList($db, $query);
$veranstaltung->teams = $teams;
if (isJson()) {
$json[] = JSON_sportsmanager::mannschaften($veranstaltung, $teams);
@@ -3205,11 +3326,7 @@ function mannschaftDetails($ansicht_vereinigt, $unabhaengige_ansicht = false): v
. "\n WHERE status > 0 AND EXISTS(SELECT * FROM #__sportsmanager_team WHERE #__sportsmanager_team.veranstaltung_id = #__sportsmanager_veranstaltung.veranstaltung_id)" . kategorieFilter("AND kategorie IN")
. "\n GROUP BY saison_id"
. "\n ORDER BY saisonbezeichnung DESC";
- $db->setQuery($query);
- if (!$db->execute()) {
- abortWithError($db->stderr(true));
- }
- $saisons = $db->loadObjectList();
+ $saisons = loadObjectList($db, $query);
if (count($saisons) != 0) {
$gefunden = FALSE;
@@ -3235,11 +3352,7 @@ function mannschaftDetails($ansicht_vereinigt, $unabhaengige_ansicht = false): v
. "\n LEFT JOIN #__sportsmanager_spielort ON heimspielort_id = spielort_id"
. "\n WHERE team_id = $id"
. "\n ORDER BY teamname";
- $db->setQuery($query);
- if (!$db->execute()) {
- abortWithError($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if (count($rows) < 1) {
abortWithError("Wrong id!");
}
@@ -3252,11 +3365,7 @@ function mannschaftDetails($ansicht_vereinigt, $unabhaengige_ansicht = false): v
$query = "SELECT *, IF(NOT ISNULL(letzter_tag) AND letzter_tag < CURDATE(), 1, 0) AS ist_vergangen"
. "\n FROM #__sportsmanager_veranstaltung"
. "\n WHERE veranstaltung_id = $veranstaltungid AND status > 0";
- $db->setQuery($query);
- if (!$db->execute()) {
- abortWithError($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if (count($rows) < 1) {
abortWithError("Wrong id!");
}
@@ -3269,11 +3378,7 @@ function mannschaftDetails($ansicht_vereinigt, $unabhaengige_ansicht = false): v
. "\n INNER JOIN #__sportsmanager_veranstaltung USING (veranstaltung_id)"
. "\n WHERE team_id != $id AND teamgruppe_id = $teamgruppe_id AND #__sportsmanager_veranstaltung.status > 0"
. "\n ORDER BY bezeichnung";
- $db->setQuery($query);
- if (!$db->execute()) {
- abortWithError($db->stderr(true));
- }
- $weitere_veranstaltungen = $db->loadObjectList();
+ $weitere_veranstaltungen = loadObjectList($db, $query);
$veranstaltungsbezeichnungen = array();
$veranstaltungsbezeichnungen[$veranstaltung->veranstaltung_id] = $veranstaltung->bezeichnung;
@@ -3293,11 +3398,7 @@ function mannschaftDetails($ansicht_vereinigt, $unabhaengige_ansicht = false): v
. "\n WHERE (team_id = $id OR teamgruppe_id = $teamgruppe_id) AND NOT #__sportsmanager_mitglied_von_team.ausgetreten"
. "\n GROUP BY spieler_id"
. "\n ORDER BY nachname, vorname";
- $db->setQuery($query);
- if (!$db->execute()) {
- abortWithError($db->stderr(true));
- }
- $mitglieder = $db->loadObjectList();
+ $mitglieder = loadObjectList($db, $query);
$spielberechtigungen = array();
foreach ($mitglieder as $mitglied) {
@@ -3307,11 +3408,7 @@ function mannschaftDetails($ansicht_vereinigt, $unabhaengige_ansicht = false): v
. "\n LEFT JOIN #__sportsmanager_mitglied_von_team ON #__sportsmanager_mitglied_von_team.team_id = #__sportsmanager_team.team_id AND #__sportsmanager_mitglied_von_team.spieler_id = $mitglied->spieler_id"
. "\n WHERE (#__sportsmanager_team.team_id = $id OR #__sportsmanager_team.teamgruppe_id = $teamgruppe_id) AND (unterteilung = 0 OR unterteilung = 1)"
. "\n ORDER BY reihenfolge, letzter_tag DESC, bezeichnung, kategorie";
- $db->setQuery($query);
- if (!$db->execute()) {
- abortWithError($db->stderr(true));
- }
- $mitgliedschaften = $db->loadObjectList();
+ $mitgliedschaften = loadObjectList($db, $query);
foreach ($mitgliedschaften as $mitgliedschaft) {
if (empty($mitgliedschaft->mitglied_von_team_id) || (!empty($mitgliedschaft->erster_spieltag) && $mitgliedschaft->erster_spieltag >= 2) || !empty($mitgliedschaft->letzter_spieltag)) {
@@ -3330,11 +3427,7 @@ function mannschaftDetails($ansicht_vereinigt, $unabhaengige_ansicht = false): v
. "\n WHERE team_id = $id OR teamgruppe_id = $teamgruppe_id AND NOT #__sportsmanager_mitglied_von_team.ausgetreten"
. "\n GROUP BY spieler_id"
. "\n ORDER BY vorname, nachname";
- $db->setQuery($query);
- if (!$db->execute()) {
- abortWithError($db->stderr(true));
- }
- $mitglieder_sortiert_vorname = $db->loadObjectList();
+ $mitglieder_sortiert_vorname = loadObjectList($db, $query);
$mailverteiler = array();
$mailverteiler["u"] = "";
@@ -3349,52 +3442,11 @@ function mannschaftDetails($ansicht_vereinigt, $unabhaengige_ansicht = false): v
// Mitgliederstatistik ermitteln
// Mitgliederstaatistik entfernt, da Berechnung teilweise 10 Sekunden beansprucht hat
-// if (!$team_moderator)
$mitglieder_statistiken = NULL;
- /*
- else {
- $query = "SELECT vorname, nachname,"
- . "\n werte.*,"
- . "\n einzel_siege + einzel_unentschieden + einzel_niederlagen AS einzel_spiele,"
- . "\n doppel_siege + doppel_unentschieden + doppel_niederlagen AS doppel_spiele,"
- . "\n einzel_siege + doppel_siege AS gesamt_siege,"
- . "\n einzel_unentschieden + doppel_unentschieden AS gesamt_unentschieden,"
- . "\n einzel_niederlagen + doppel_niederlagen AS gesamt_niederlagen,"
- . "\n einzel_siege + einzel_unentschieden + einzel_niederlagen + doppel_siege + doppel_unentschieden + doppel_niederlagen AS gesamt_spiele,"
- . "\n einzel_punkte + doppel_punkte AS gesamt_punkte,"
- . "\n einzel_punkte_gesamt + doppel_punkte_gesamt AS gesamt_punkte_gesamt,"
- . "\n elo_einzel, elo_einzel_spiele, elo_doppel, elo_doppel_spiele"
- . "\n FROM #__sportsmanager_spieler,"
- . "\n (SELECT t1.spieler_id,"
- . "\n (SELECT COALESCE(SUM(IF(heim_spieler_1_id = t1.spieler_id, teamspiel_heim_spielpunkte, teamspiel_gast_spielpunkte)), 0) AS punkte FROM #__sportsmanager_teamspiel LEFT JOIN #__sportsmanager_begegnung USING (begegnung_id) LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis USING (begegnung_id) WHERE ISNULL(unbestaetigtes_ergebnis_id) AND (heim_team_id = $id OR gast_team_id = $id) AND ((heim_spieler_1_id = t1.spieler_id AND ISNULL(heim_spieler_2_id)) OR (gast_spieler_1_id = t1.spieler_id AND ISNULL(gast_spieler_2_id)))) AS einzel_punkte,"
- . "\n (SELECT COALESCE(SUM(teamspiel_heim_spielpunkte + teamspiel_gast_spielpunkte), 0) AS punkte FROM #__sportsmanager_teamspiel LEFT JOIN #__sportsmanager_begegnung USING (begegnung_id) LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis USING (begegnung_id) WHERE ISNULL(unbestaetigtes_ergebnis_id) AND (heim_team_id = $id OR gast_team_id = $id) AND ((heim_spieler_1_id = t1.spieler_id AND ISNULL(heim_spieler_2_id)) OR (gast_spieler_1_id = t1.spieler_id AND ISNULL(gast_spieler_2_id)))) AS einzel_punkte_gesamt,"
- . "\n (SELECT COALESCE(SUM(IF(heim_spieler_1_id = t1.spieler_id OR heim_spieler_2_id = t1.spieler_id, teamspiel_heim_spielpunkte, teamspiel_gast_spielpunkte)), 0) AS punkte FROM #__sportsmanager_teamspiel LEFT JOIN #__sportsmanager_begegnung USING (begegnung_id) LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis USING (begegnung_id) WHERE ISNULL(unbestaetigtes_ergebnis_id) AND (heim_team_id = $id OR gast_team_id = $id) AND ((heim_spieler_2_id = t1.spieler_id OR (heim_spieler_1_id = t1.spieler_id AND NOT ISNULL(heim_spieler_2_id))) OR (gast_spieler_2_id = t1.spieler_id OR (gast_spieler_1_id = t1.spieler_id AND NOT ISNULL(gast_spieler_2_id))))) AS doppel_punkte,"
- . "\n (SELECT COALESCE(SUM(teamspiel_heim_spielpunkte + teamspiel_gast_spielpunkte), 0) AS punkte FROM #__sportsmanager_teamspiel LEFT JOIN #__sportsmanager_begegnung USING (begegnung_id) LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis USING (begegnung_id) WHERE ISNULL(unbestaetigtes_ergebnis_id) AND (heim_team_id = $id OR gast_team_id = $id) AND ((heim_spieler_2_id = t1.spieler_id OR (heim_spieler_1_id = t1.spieler_id AND NOT ISNULL(heim_spieler_2_id))) OR (gast_spieler_2_id = t1.spieler_id OR (gast_spieler_1_id = t1.spieler_id AND NOT ISNULL(gast_spieler_2_id))))) AS doppel_punkte_gesamt,"
- . "\n (SELECT COUNT(*) FROM #__sportsmanager_teamspiel LEFT JOIN #__sportsmanager_begegnung USING (begegnung_id) LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis USING (begegnung_id) WHERE ISNULL(unbestaetigtes_ergebnis_id) AND (heim_team_id = $id OR gast_team_id = $id) AND ((heim_spieler_1_id = t1.spieler_id AND ISNULL(heim_spieler_2_id) AND teamspiel_heim_spielpunkte > teamspiel_gast_spielpunkte) OR (gast_spieler_1_id = t1.spieler_id AND ISNULL(gast_spieler_2_id) AND teamspiel_heim_spielpunkte < teamspiel_gast_spielpunkte))) AS einzel_siege,"
- . "\n (SELECT COUNT(*) FROM #__sportsmanager_teamspiel LEFT JOIN #__sportsmanager_begegnung USING (begegnung_id) LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis USING (begegnung_id) WHERE ISNULL(unbestaetigtes_ergebnis_id) AND (heim_team_id = $id OR gast_team_id = $id) AND ((heim_spieler_1_id = t1.spieler_id AND ISNULL(heim_spieler_2_id) AND teamspiel_heim_spielpunkte = teamspiel_gast_spielpunkte) OR (gast_spieler_1_id = t1.spieler_id AND ISNULL(gast_spieler_2_id) AND teamspiel_heim_spielpunkte = teamspiel_gast_spielpunkte))) AS einzel_unentschieden,"
- . "\n (SELECT COUNT(*) FROM #__sportsmanager_teamspiel LEFT JOIN #__sportsmanager_begegnung USING (begegnung_id) LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis USING (begegnung_id) WHERE ISNULL(unbestaetigtes_ergebnis_id) AND (heim_team_id = $id OR gast_team_id = $id) AND ((heim_spieler_1_id = t1.spieler_id AND ISNULL(heim_spieler_2_id) AND teamspiel_heim_spielpunkte < teamspiel_gast_spielpunkte) OR (gast_spieler_1_id = t1.spieler_id AND ISNULL(gast_spieler_2_id) AND teamspiel_heim_spielpunkte > teamspiel_gast_spielpunkte))) AS einzel_niederlagen,"
- . "\n (SELECT COUNT(*) FROM #__sportsmanager_teamspiel LEFT JOIN #__sportsmanager_begegnung USING (begegnung_id) LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis USING (begegnung_id) WHERE ISNULL(unbestaetigtes_ergebnis_id) AND (heim_team_id = $id OR gast_team_id = $id) AND (((heim_spieler_2_id = t1.spieler_id OR (heim_spieler_1_id = t1.spieler_id AND NOT ISNULL(heim_spieler_2_id))) AND teamspiel_heim_spielpunkte > teamspiel_gast_spielpunkte) OR ((gast_spieler_2_id = t1.spieler_id OR (gast_spieler_1_id = t1.spieler_id AND NOT ISNULL(gast_spieler_2_id))) AND teamspiel_heim_spielpunkte < teamspiel_gast_spielpunkte))) AS doppel_siege,"
- . "\n (SELECT COUNT(*) FROM #__sportsmanager_teamspiel LEFT JOIN #__sportsmanager_begegnung USING (begegnung_id) LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis USING (begegnung_id) WHERE ISNULL(unbestaetigtes_ergebnis_id) AND (heim_team_id = $id OR gast_team_id = $id) AND (((heim_spieler_2_id = t1.spieler_id OR (heim_spieler_1_id = t1.spieler_id AND NOT ISNULL(heim_spieler_2_id))) AND teamspiel_heim_spielpunkte = teamspiel_gast_spielpunkte) OR ((gast_spieler_2_id = t1.spieler_id OR (gast_spieler_1_id = t1.spieler_id AND NOT ISNULL(gast_spieler_2_id))) AND teamspiel_heim_spielpunkte = teamspiel_gast_spielpunkte))) AS doppel_unentschieden,"
- . "\n (SELECT COUNT(*) FROM #__sportsmanager_teamspiel LEFT JOIN #__sportsmanager_begegnung USING (begegnung_id) LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis USING (begegnung_id) WHERE ISNULL(unbestaetigtes_ergebnis_id) AND (heim_team_id = $id OR gast_team_id = $id) AND (((heim_spieler_2_id = t1.spieler_id OR (heim_spieler_1_id = t1.spieler_id AND NOT ISNULL(heim_spieler_2_id))) AND teamspiel_heim_spielpunkte < teamspiel_gast_spielpunkte) OR ((gast_spieler_2_id = t1.spieler_id OR (gast_spieler_1_id = t1.spieler_id AND NOT ISNULL(gast_spieler_2_id))) AND teamspiel_heim_spielpunkte > teamspiel_gast_spielpunkte))) AS doppel_niederlagen"
- . "\n FROM #__sportsmanager_mitglied_von_team AS t1"
- . "\n WHERE team_id = $id AND NOT ISNULL(aktueller_verein_id)"
- . "\n GROUP BY spieler_id)"
- . "\n AS werte"
- . "\n WHERE #__sportsmanager_spieler.spieler_id = werte.spieler_id"
- . "\n ORDER BY nachname, vorname";
- $db->setQuery( $query );
- if (!$db->execute()) { die($db->stderr(true)); }
- $mitglieder_statistiken = $db->loadObjectList();
- }
- */
// Teamansprechpartner ermitteln
$query = "SELECT * FROM #__sportsmanager_teamansprechpartner WHERE team_id = $id ORDER BY kontaktperson_id";
- $db->setQuery($query);
- if (!$db->execute()) {
- abortWithError($db->stderr(true));
- }
- $teamansprechpartner = $db->loadObjectList();
+ $teamansprechpartner = loadObjectList($db, $query);
// Begegnungen in der Veranstaltung ermitteln
$query = "SELECT t2.veranstaltung_id, #__sportsmanager_begegnung.*, t2.tischtyp, t2.tischeigenschaften, IF(ISNULL(#__sportsmanager_begegnung.spielort_id), s2.name, s1.name) as heimspielort_name, IF(ISNULL(#__sportsmanager_begegnung.spielort_id), s2.url, s1.url) as heimspielort_url, IF(ISNULL(#__sportsmanager_begegnung.spielort_id), s2.strasse, s1.strasse) as heimspielort_strasse, IF(ISNULL(#__sportsmanager_begegnung.spielort_id), s2.plz, s1.plz) as heimspielort_plz, IF(ISNULL(#__sportsmanager_begegnung.spielort_id), s2.ortsname, s1.ortsname) as heimspielort_ortsname, IF(ISNULL(#__sportsmanager_begegnung.spielort_id), s2.ortsteil, s1.ortsteil) as heimspielort_ortsteil, s1.spielort_id, unbestaetigtes_ergebnis_id, zwischenergebnis, spielpunkte_wertung_einzel, spielpunkte_wertung_doppel, unterteilung, "
@@ -3415,11 +3467,7 @@ function mannschaftDetails($ansicht_vereinigt, $unabhaengige_ansicht = false): v
. "\n LEFT JOIN #__sportsmanager_teamspiel_modus ON teamspiel_modus_id = modus_id"
. "\n WHERE heim_team_id = $id OR gast_team_id = $id OR t2.teamgruppe_id = $teamgruppe_id OR t3.teamgruppe_id = $teamgruppe_id"
. "\n ORDER BY reihenfolge, letzter_tag DESC, #__sportsmanager_veranstaltung.bezeichnung, kategorie, IF ((unterteilung = 0 OR unterteilung = 1) AND (heim_punkte != 0 OR gast_punkte != 0), 0, 1), IF ((unterteilung = 0 OR unterteilung = 1) AND (heim_punkte != 0 OR gast_punkte != 0), spieltag, 0), IF ((unterteilung = 0 OR unterteilung = 1) AND (heim_punkte != 0 OR gast_punkte != 0), 0, zeitpunkt), zeitpunkt, spieltag, gegner"; // Sortierung nach Spieltag für den Fall, dass noch keine Zeitpunkte eingetragen sind
- $db->setQuery($query);
- if (!$db->execute()) {
- abortWithError($db->stderr(true));
- }
- $begegnungen = $db->loadObjectList();
+ $begegnungen = loadObjectList($db, $query);
if ($unabhaengige_ansicht) {
$vorheriges_team_id = 0;
@@ -3440,11 +3488,7 @@ function mannschaftDetails($ansicht_vereinigt, $unabhaengige_ansicht = false): v
. "\n WHERE veranstaltung_id = $veranstaltungid"
. "\n ORDER BY teamname";
}
- $db->setQuery($query);
- if (!$db->execute()) {
- abortWithError($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
$n = count($rows);
$vorheriges_team_id = 0;
@@ -3485,11 +3529,7 @@ function mannschaftDetails($ansicht_vereinigt, $unabhaengige_ansicht = false): v
$query = "SELECT *"
. "\n FROM #__sportsmanager_veranstaltung"
. "\n WHERE veranstaltung_id = $id AND status > 0";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if (count($rows) < 1)
die("Wrong id!");
$veranstaltung = $rows[0];
@@ -3508,11 +3548,7 @@ function mannschaftDetails($ansicht_vereinigt, $unabhaengige_ansicht = false): v
. "\n LEFT JOIN #__sportsmanager_veranstaltung AS t5 ON t2.veranstaltung_id = t5.veranstaltung_id"
. "\n WHERE t5.veranstaltung_id = $id"
. "\n ORDER BY zeitpunkt, heim_teamname";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $begegnungen = $db->loadObjectList();
+ $begegnungen = loadObjectList($db, $query);
begegnungeniCal($veranstaltung->bezeichnung, SportsManagerURL('&task=veranstaltung_begegnungen_ical&id=' . $veranstaltung->veranstaltung_id, -1), $begegnungen, $trigger);
}
@@ -3532,11 +3568,7 @@ function mannschaftDetails($ansicht_vereinigt, $unabhaengige_ansicht = false): v
. "\n FROM #__sportsmanager_team"
. "\n LEFT JOIN #__sportsmanager_veranstaltung USING (veranstaltung_id)"
. "\n WHERE team_id = $id AND status > 0";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if (count($rows) < 1)
die("Wrong id!");
$team = $rows[0];
@@ -3555,11 +3587,7 @@ function mannschaftDetails($ansicht_vereinigt, $unabhaengige_ansicht = false): v
. "\n LEFT JOIN #__sportsmanager_veranstaltung AS t5 ON t2.veranstaltung_id = t5.veranstaltung_id"
. "\n WHERE heim_team_id = $id OR gast_team_id = $id" . ($team->teamgruppe_id != NULL ? " OR t2.teamgruppe_id = $team->teamgruppe_id OR t3.teamgruppe_id = $team->teamgruppe_id" : "")
. "\n ORDER BY zeitpunkt, heim_teamname";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $begegnungen = $db->loadObjectList();
+ $begegnungen = loadObjectList($db, $query);
begegnungeniCal($team->teamname, SportsManagerURL('&task=team_begegnungen_ical&id=' . $team->team_id, -1), $begegnungen, $trigger);
}
@@ -3578,11 +3606,7 @@ function mannschaftDetails($ansicht_vereinigt, $unabhaengige_ansicht = false): v
$query = "SELECT *"
. "\n FROM #__sportsmanager_verein"
. "\n WHERE verein_id = $id AND NOT ausgetreten";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if (count($rows) < 1)
die("Wrong id!");
$verein = $rows[0];
@@ -3601,11 +3625,7 @@ function mannschaftDetails($ansicht_vereinigt, $unabhaengige_ansicht = false): v
. "\n LEFT JOIN #__sportsmanager_veranstaltung AS t5 ON t2.veranstaltung_id = t5.veranstaltung_id"
. "\n WHERE t5.status > 0 AND (t2.verein_id = $id OR t3.verein_id = $id) AND ABS(DATEDIFF(zeitpunkt, CURDATE())) <= 366"
. "\n ORDER BY zeitpunkt, heim_teamname";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $begegnungen = $db->loadObjectList();
+ $begegnungen = loadObjectList($db, $query);
begegnungeniCal($verein->vereinsname, SportsManagerURL('&task=verein_begegnungen_ical&id=' . $verein->verein_id, -1), $begegnungen, $trigger);
}
@@ -3624,11 +3644,7 @@ function mannschaftDetails($ansicht_vereinigt, $unabhaengige_ansicht = false): v
$query = "SELECT *"
. "\n FROM #__sportsmanager_spielort"
. "\n WHERE status > 0 AND spielort_id = $id";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if (count($rows) < 1)
die("Wrong id!");
$spielort = $rows[0];
@@ -3647,11 +3663,7 @@ function mannschaftDetails($ansicht_vereinigt, $unabhaengige_ansicht = false): v
. "\n LEFT JOIN #__sportsmanager_veranstaltung AS t5 ON t2.veranstaltung_id = t5.veranstaltung_id"
. "\n WHERE t5.status > 0 AND (#__sportsmanager_begegnung.spielort_id = $id OR (ISNULL(#__sportsmanager_begegnung.spielort_id) AND t2.heimspielort_id = $id)) AND ABS(DATEDIFF(zeitpunkt, CURDATE())) <= 366"
. "\n ORDER BY zeitpunkt, heim_teamname";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $begegnungen = $db->loadObjectList();
+ $begegnungen = loadObjectList($db, $query);
begegnungeniCal($spielort->name, SportsManagerURL('&task=spielort_begegnungen_ical&id=' . $id, -1), $begegnungen, $trigger);
}
@@ -3717,11 +3729,7 @@ function mannschaftDetails($ansicht_vereinigt, $unabhaengige_ansicht = false): v
// Veranstaltung ermitteln
$query = "SELECT * FROM #__sportsmanager_veranstaltung WHERE veranstaltung_id = $veranstaltungid AND status > 0" . kategorieFilter("AND kategorie IN");
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if (count($rows) < 1)
die("Wrong id!");
$veranstaltung = $rows[0];
@@ -3731,11 +3739,7 @@ function mannschaftDetails($ansicht_vereinigt, $unabhaengige_ansicht = false): v
. "\n FROM #__sportsmanager_team"
. "\n WHERE team_id = $id"
. "\n ORDER BY teamname";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if (count($rows) < 1)
die("Wrong id!");
@@ -3752,11 +3756,7 @@ function mannschaftDetails($ansicht_vereinigt, $unabhaengige_ansicht = false): v
. "\n LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis AS t4 ON t1.begegnung_id = t4.begegnung_id"
. "\n WHERE t2.veranstaltung_id = $veranstaltung->veranstaltung_id AND t1.heim_team_id = $id OR t1.gast_team_id = $id"
. "\n ORDER BY " . (($veranstaltung->unterteilung == 0 || $veranstaltung->unterteilung == 1) ? "IF (t1.heim_punkte != 0 OR t1.gast_punkte != 0, 0, 1), IF (t1.heim_punkte != 0 OR t1.gast_punkte != 0, t1.spieltag, 0), IF (t1.heim_punkte != 0 OR t1.gast_punkte != 0, 0, t1.zeitpunkt), " : "") . "t1.zeitpunkt, gegner";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $begegnungen = $db->loadObjectList();
+ $begegnungen = loadObjectList($db, $query);
echo "<";
?>?xml version="1.0" encoding="utf-8"?>
@@ -3794,31 +3794,30 @@ function mannschaftDetails($ansicht_vereinigt, $unabhaengige_ansicht = false): v
die();
}
-function vereine(): void
+function vereine($sort): void
{
$db = getDatabase();
global $params;
+ $organisationAnzeigen = einstellungswert('verband_anzeigen');
+ $spalteMitgliederAnzeigen = einstellungswert('spalte_mitglieder_zeigen');
+ if (!$spalteMitgliederAnzeigen) $sort = "vereinsname";
+ $query = "SELECT t1.verein_id, t1.vereinsname, t1.vereinssitz,"
+ . "\n t2.veranstalterbezeichnung, COUNT(*) As mitglieder"
+ . "\n FROM #__sportsmanager_verein AS t1"
+ . "\n LEFT JOIN #__sportsmanager_veranstalter AS t2 USING (veranstalter_id)"
+ . "\n LEFT JOIN #__sportsmanager_mitglied_von_verein AS t3 USING (verein_id)"
+ . "\n WHERE t1.ausgetreten = 0 AND t1.verstecken = 0 AND t3.ausgetreten = 0"
+ . "\n GROUP BY t1.verein_id";
+ if ($sort == "mitglieder"){
+ $query .= "\n HAVING mitglieder >= " . einstellungswert('anzahl_mitglieder_zeigen');
+ $query .= "\n ORDER BY mitglieder DESC;";
+ }
+ if ($sort == "vereinsname"){
+ $query .= "\n ORDER BY t1.vereinsname;";
+ }
- $query = "SELECT COUNT(DISTINCT veranstalter_id) FROM #__sportsmanager_verein WHERE NOT ausgetreten";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $organisationAnzeigen = $db->loadResult() > 1;
-
- $query = "SELECT *, veranstalterbezeichnung"
- . "\n FROM #__sportsmanager_verein"
- . "\n LEFT JOIN #__sportsmanager_veranstalter USING (veranstalter_id)"
- . "\n WHERE NOT ausgetreten" . kategorieFilter("AND #__sportsmanager_veranstalter.kategorie IN")
- . "\n ORDER BY IF(ISNULL(#__sportsmanager_veranstalter.veranstalter_id), 1, 0), veranstalterbezeichnung, vereinsname";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $vereine = $db->loadObjectList();
-
- HTML_sportsmanager::vereine($params->get('titel'), $params->get('beschreibung'), $vereine, $organisationAnzeigen);
-
+ $vereine = loadObjectList($db, $query);
+ HTML_sportsmanager::vereine($params->get('titel'), $params->get('beschreibung'), $vereine, $organisationAnzeigen, $spalteMitgliederAnzeigen);
administrationFooter();
}
@@ -3840,34 +3839,28 @@ function vereinDetails(): void
. "\n FROM #__sportsmanager_verein"
. "\n LEFT JOIN #__sportsmanager_veranstalter USING (veranstalter_id)"
. "\n WHERE NOT ausgetreten AND verein_id = $id";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if (count($rows) < 1)
die("Wrong id!");
$verein = $rows[0];
// Mitglieder ermitteln
- $query = "SELECT * FROM #__sportsmanager_mitglied_von_verein LEFT JOIN #__sportsmanager_spieler ON #__sportsmanager_mitglied_von_verein.spieler_id = #__sportsmanager_spieler.spieler_id WHERE #__sportsmanager_mitglied_von_verein.verein_id = $verein->verein_id AND NOT #__sportsmanager_mitglied_von_verein.ausgetreten ORDER BY nachname, vorname";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $mitglieder = $db->loadObjectList();
+ $query = "SELECT * FROM #__sportsmanager_mitglied_von_verein"
+ . "\n LEFT JOIN #__sportsmanager_spieler ON #__sportsmanager_mitglied_von_verein.spieler_id = #__sportsmanager_spieler.spieler_id"
+ . "\n WHERE #__sportsmanager_mitglied_von_verein.verein_id = $verein->verein_id"
+ . "\n AND NOT #__sportsmanager_mitglied_von_verein.ausgetreten"
+ . "\n AND #__sportsmanager_mitglied_von_verein.mitgliedsstatus IN (1,2)"
+ . "\n ORDER BY nachname, vorname;";
+ $mitglieder = loadObjectList($db, $query);
$query = "SELECT vorname, nachname, email"
. "\n FROM #__sportsmanager_mitglied_von_verein"
. "\n INNER JOIN #__sportsmanager_spieler USING (spieler_id)"
. "\n WHERE verein_id = $id AND NOT #__sportsmanager_mitglied_von_verein.ausgetreten AND email != ''"
. "\n ORDER BY vorname, nachname, email";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
+ // Mailverteiler ermitteln
$mailverteiler = array();
$mailverteiler["u"] = "";
$mailverteiler["p"] = "";
@@ -3878,11 +3871,7 @@ function vereinDetails(): void
// Vereinsansprechpartner ermitteln
$query = "SELECT * FROM #__sportsmanager_vereinsansprechpartner WHERE verein_id = $verein->verein_id ORDER BY vereinsansprechpartner_id";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $vereinsansprechpartner = $db->loadObjectList();
+ $vereinsansprechpartner = loadObjectList($db, $query);
// Vorherigen und nächsten Verein ermitteln
$query = "SELECT *, veranstalterbezeichnung"
@@ -3890,11 +3879,7 @@ function vereinDetails(): void
. "\n LEFT JOIN #__sportsmanager_veranstalter USING (veranstalter_id)"
. "\n WHERE NOT ausgetreten" . kategorieFilter("AND #__sportsmanager_veranstalter.kategorie IN")
. "\n ORDER BY IF(ISNULL(#__sportsmanager_veranstalter.veranstalter_id), 1, 0), veranstalterbezeichnung, vereinsname";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
$n = count($rows);
$vorheriger_verein_id = 0;
@@ -3918,11 +3903,7 @@ function vereinDetails(): void
. "\n WHERE #__sportsmanager_team.verein_id = $id AND erster_tag <= CURDATE() AND letzter_tag >= CURDATE() AND #__sportsmanager_veranstaltung.status > 0"
. "\n GROUP BY #__sportsmanager_team.teamname"
. "\n ORDER BY #__sportsmanager_veranstaltung.reihenfolge, #__sportsmanager_veranstaltung.bezeichnung, #__sportsmanager_team.teamname, #__sportsmanager_veranstaltung.kategorie";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $aktuelle_teams = $db->loadObjectList();
+ $aktuelle_teams = loadObjectList($db, $query);
$query = "SELECT t1.teamname, saisonbezeichnung,"
. " GROUP_CONCAT(DISTINCT t3.bezeichnung ORDER BY t3.reihenfolge, t3.letzter_tag DESC, t3.bezeichnung, t3.kategorie DESC SEPARATOR ', ') AS wettbewerbe"
@@ -3932,11 +3913,7 @@ function vereinDetails(): void
. "\n WHERE t1.verein_id = $id AND t3.status > 0 AND (t3.erster_tag > CURDATE() OR t3.letzter_tag < CURDATE())"
. "\n GROUP BY YEAR(t3.letzter_tag), t1.teamname"
. "\n ORDER BY saisonbezeichnung DESC, t3.reihenfolge, t3.letzter_tag DESC, t3.bezeichnung, t1.teamname, t3.kategorie";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $fruehere_teams = $db->loadObjectList();
+ $fruehere_teams = loadObjectList($db, $query);
HTML_sportsmanager::vereinDetails($verein, $mitglieder, $vereinsansprechpartner, $aktuelle_teams, $vorheriger_verein_id, $naechster_verein_id, $vereins_moderator, $details_anzeigen, $ansprechpartner_anzeigen);
begegnungenAnzeigen(NULL, $id, NULL, 92, true, true, false, Text::_('COM_SPORTSMANAGER_RUNNING_MATCHES'), true, true);
@@ -3955,11 +3932,7 @@ function spielorte(): void
. "\n FROM #__sportsmanager_spielort"
. "\n WHERE status > 0"
. "\n ORDER BY ortsname, name, ortsteil";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $spielorte = $db->loadObjectList();
+ $spielorte = loadObjectList($db, $query);
if (isJson()) {
echo json_encode($spielorte);
@@ -3983,11 +3956,7 @@ function spielort(): void
$query = "SELECT *"
. "\n FROM #__sportsmanager_spielort"
. "\n WHERE spielort_id = $id AND status > 0";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if (count($rows) < 1)
die("Wrong id!");
$spielort = $rows[0];
@@ -3997,11 +3966,7 @@ function spielort(): void
. "\n FROM #__sportsmanager_spielort"
. "\n WHERE status > 0"
. "\n ORDER BY ortsname, name, ortsteil";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
$n = count($rows);
$vorheriger_spielort_id = 0;
@@ -4025,11 +3990,7 @@ function spielort(): void
. "\n WHERE #__sportsmanager_team.heimspielort_id = $id AND erster_tag <= CURDATE() AND letzter_tag >= CURDATE() AND #__sportsmanager_veranstaltung.status > 0"
. "\n GROUP BY #__sportsmanager_team.teamname, #__sportsmanager_team.teamgruppe_id, #__sportsmanager_team.heimspiel_wochentag"
. "\n ORDER BY #__sportsmanager_team.heimspiel_wochentag, #__sportsmanager_team.teamname, #__sportsmanager_veranstaltung.reihenfolge, #__sportsmanager_veranstaltung.bezeichnung, #__sportsmanager_veranstaltung.kategorie";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $aktuelle_teams = $db->loadObjectList();
+ $aktuelle_teams = loadObjectList($db, $query);
// Letzte Begegnung ermitteln
$query = "SELECT IF(ISNULL(MAX(zeitpunkt)), -99999, DATEDIFF(MAX(zeitpunkt), CURDATE()))"
@@ -4038,11 +3999,7 @@ function spielort(): void
. "\n LEFT JOIN #__sportsmanager_veranstaltung AS t5 ON t2.veranstaltung_id = t5.veranstaltung_id"
. "\n WHERE t5.status > 0 AND (t1.spielort_id = $id OR (ISNULL(t1.spielort_id) AND t2.heimspielort_id = $id)) AND NOT ISNULL(zeitpunkt)"
. "\n ORDER BY t1.zeitpunkt DESC";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $begegnung_zeitpunkt = $db->loadResult();
+ $begegnung_zeitpunkt = loadResult($db, $query);
HTML_sportsmanager::spielort($spielort, $begegnung_zeitpunkt, $aktuelle_teams, $vorheriger_spielort_id, $naechster_spielort_id);
begegnungenAnzeigen(NULL, NULL, $id, 92, true, true, false, Text::_('COM_SPORTSMANAGER_RUNNING_MATCHES'), true, true);
@@ -4078,11 +4035,7 @@ function begegnungSpielplan($teamansicht = false): void
. "LEFT JOIN #__sportsmanager_team ON #__sportsmanager_unbestaetigtes_ergebnis.vorschlagendes_team_id = #__sportsmanager_team.team_id "
. "WHERE t1.begegnung_id = $id";
- $db->setQuery($query);
- if (!$db->execute()) {
- abortWithError($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if (count($rows) < 1) {
abortWithError("Wrong id!");
}
@@ -4091,11 +4044,7 @@ function begegnungSpielplan($teamansicht = false): void
if ($teamansicht) {
// Ursprüngliches Team für Teamansicht ermitteln
$query = "SELECT * FROM #__sportsmanager_team WHERE team_id = $teamid";
- $db->setQuery($query);
- if (!$db->execute()) {
- abortWithError($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if (count($rows) < 1) {
abortWithError("Wrong id!");
}
@@ -4105,11 +4054,7 @@ function begegnungSpielplan($teamansicht = false): void
// Heimteam ermitteln
$query = "SELECT * FROM #__sportsmanager_team WHERE team_id = $begegnung->heim_team_id";
- $db->setQuery($query);
- if (!$db->execute()) {
- abortWithError($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if (count($rows) < 1) {
abortWithError("Wrong id!");
}
@@ -4117,11 +4062,7 @@ function begegnungSpielplan($teamansicht = false): void
// Gastteam ermitteln
$query = "SELECT * FROM #__sportsmanager_team WHERE team_id = $begegnung->gast_team_id";
- $db->setQuery($query);
- if (!$db->execute()) {
- abortWithError($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if (count($rows) < 1) {
abortWithError("Wrong id!");
}
@@ -4129,11 +4070,7 @@ function begegnungSpielplan($teamansicht = false): void
// Veranstaltung ermitteln
$query = "SELECT * FROM #__sportsmanager_veranstaltung WHERE veranstaltung_id = $heim_team->veranstaltung_id";
- $db->setQuery($query);
- if (!$db->execute()) {
- abortWithError($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if (count($rows) < 1) {
abortWithError("Wrong id!");
}
@@ -4142,11 +4079,7 @@ function begegnungSpielplan($teamansicht = false): void
// Modus ermitteln
$modus_id = $veranstaltung->modus_id;
$query = "SELECT * FROM #__sportsmanager_teamspiel_modus WHERE teamspiel_modus_id = $modus_id";
- $db->setQuery($query);
- if (!$db->execute()) {
- abortWithError($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
$modus = null;
if (count($rows) == 1) {
$modus = $rows[0];
@@ -4170,11 +4103,7 @@ function begegnungSpielplan($teamansicht = false): void
. "\n WHERE begegnung_id = $id"
. "\n GROUP BY teamspiel_id"
. "\n ORDER BY teamspiel_nummer";
- $db->setQuery($query);
- if (!$db->execute()) {
- abortWithError($db->stderr(true));
- }
- $spiele = $db->loadObjectList();
+ $spiele = loadObjectList($db, $query);
// Vorherige und nächste Begegnung ermitteln
if ($teamansicht) {
@@ -4193,11 +4122,7 @@ function begegnungSpielplan($teamansicht = false): void
. "\n WHERE t2.veranstaltung_id = $veranstaltung->veranstaltung_id AND (heim_punkte != 0 OR gast_punkte != 0)"
. "\n ORDER BY " . (($veranstaltung->unterteilung == 0 || $veranstaltung->unterteilung == 1) ? "t1.spieltag, " : "") . "t1.zeitpunkt, heim_name";
}
- $db->setQuery($query);
- if (!$db->execute()) {
- abortWithError($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
$n = count($rows);
$vorherige_begegnung_id = 0;
@@ -4228,34 +4153,24 @@ function begegnungSpielplan($teamansicht = false): void
. 'INNER JOIN #__sportsmanager_spieler AS t2 USING (spieler_id) '
. 'WHERE team_id = ' . $begegnung->heim_team_id . ' AND NOT t1.ausgetreten ' . ($begegnung->spieltag != NULL ? 'AND (ISNULL(t1.erster_spieltag) OR t1.erster_spieltag <= ' . $begegnung->spieltag . ') AND (ISNULL(t1.letzter_spieltag) OR ' . $begegnung->spieltag . ' <= t1.letzter_spieltag) ' : '')
. 'ORDER BY nachname, vorname';
- $db->setQuery($query);
- $heim_spieler = null;
- if ($db->execute()) {
- $heim_spieler = $db->loadObjectList();
- }
+ $heim_spieler = loadObjectList($db, $query);
$query = 'SELECT * '
. 'FROM #__sportsmanager_mitglied_von_team as t1 '
. 'INNER JOIN #__sportsmanager_spieler AS t2 USING (spieler_id) '
. 'WHERE team_id = ' . $begegnung->gast_team_id . ' AND NOT t1.ausgetreten ' . ($begegnung->spieltag != NULL ? 'AND (ISNULL(t1.erster_spieltag) OR t1.erster_spieltag <= ' . $begegnung->spieltag . ') AND (ISNULL(t1.letzter_spieltag) OR ' . $begegnung->spieltag . ' <= t1.letzter_spieltag) ' : '')
. 'ORDER BY nachname, vorname';
- $db->setQuery($query);
- $gast_spieler = null;
- if ($db->execute()) {
- $gast_spieler = $db->loadObjectList();
- }
+ $gast_spieler = loadObjectList($db, $query);
$json = JSON_sportsmanager::adminEditBegegnungSpielplan(0, $veranstaltung, $begegnung, $heim_team, $gast_team, $spiele, $heim_spieler, $gast_spieler, $modus);
// ergebnis hinspiel
$query = 'SELECT * '
. 'FROM #__sportsmanager_begegnung '
. 'WHERE heim_team_id = ' . $begegnung->gast_team_id . ' AND gast_team_id = ' . $begegnung->heim_team_id;
- $db->setQuery($query);
- if ($db->execute()) {
- $hinspiel = $db->loadObjectList();
- if (sizeof($hinspiel) > 0) {
- $json['hinspiel'] = $hinspiel[0];
- }
+ $hinspiel = loadObjectList($db, $query);
+ if (sizeof($hinspiel) > 0) {
+ $json['hinspiel'] = $hinspiel[0];
}
+
if (isset($spielort)) {
$json['spielort'] = $spielort;
}
@@ -4280,11 +4195,7 @@ function begegnungVerlegenForm(): void
$aus_uebersicht = $jInput->get('aus_uebersicht', 0, 'INT');
$query = "SELECT #__sportsmanager_veranstaltung.*, initial_ohne_termin, keine_gegenvorschlaege, vorlaufzeit_tage, termine_minimal, termine_maximal, ablehnen FROM #__sportsmanager_veranstaltung LEFT JOIN #__sportsmanager_verschieberegel USING (verschieberegel_id) WHERE veranstaltung_id = $veranstaltungid";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if (count($rows) < 1)
die("Wrong id!");
$veranstaltung = $rows[0];
@@ -4296,11 +4207,7 @@ function begegnungVerlegenForm(): void
. "\n FROM #__sportsmanager_begegnung AS t1 LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis AS t2 ON t1.begegnung_id = t2.begegnung_id"
. "\n LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis AS t4 ON t1.begegnung_id = t4.begegnung_id"
. "\n WHERE t1.begegnung_id = $id";
- $db->setQuery($query);
- if (!$db->execute()) {
- abortWithError($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if (count($rows) < 1) {
abortWithError("Wrong id!");
}
@@ -4310,33 +4217,21 @@ function begegnungVerlegenForm(): void
keinZugriff();
$query = "SELECT t1.berechtigt_team_id FROM #__sportsmanager_berechtigt_fuer_team AS t1, #__sportsmanager_begegnung WHERE begegnung_id = $id AND berechtigt_user_id = $user_id AND (berechtigt_team_id = heim_team_id OR berechtigt_team_id = gast_team_id)";
- $db->setQuery($query);
- if (!$db->execute()) {
- abortWithError($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if (count($rows) == 0) {
keinZugriff(TRUE);
}
$vorschlagendes_team_id = $rows[0]->berechtigt_team_id;
$query = "SELECT * FROM #__sportsmanager_team WHERE team_id = $begegnung->heim_team_id";
- $db->setQuery($query);
- if (!$db->execute()) {
- abortWithError($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if (count($rows) < 1) {
abortWithError("Wrong id!");
}
$heim_team = $rows[0];
$query = "SELECT * FROM #__sportsmanager_team WHERE team_id = $begegnung->gast_team_id";
- $db->setQuery($query);
- if (!$db->execute()) {
- abortWithError($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if (count($rows) < 1) {
abortWithError("Wrong id!");
}
@@ -4350,11 +4245,7 @@ function begegnungVerlegenForm(): void
. "\n LEFT JOIN #__users AS user ON user.id = user_id"
. "\n WHERE begegnung_id = $id"
. "\n ORDER BY begegnung_historie_id DESC";
- $db->setQuery($query);
- if (!$db->execute()) {
- abortWithError($db->stderr(true));
- }
- $verlegen_aktionen = $db->loadObjectList();
+ $verlegen_aktionen = loadObjectList($db, $query);
if (!$begegnung->verschieberegel_erfuellt && (count($verlegen_aktionen) == 0 || $verlegen_aktionen[count($verlegen_aktionen) - 1]->aktion == 1))
keinZugriff();
@@ -4363,11 +4254,7 @@ function begegnungVerlegenForm(): void
$query = "SELECT COUNT(*)"
. "\n FROM #__sportsmanager_berechtigt_fuer_team"
. "\n WHERE (SELECT verantwortlich_team_id FROM #__sportsmanager_begegnung_historie USE INDEX (begegnung_id) WHERE #__sportsmanager_begegnung_historie.begegnung_id = $id ORDER BY begegnung_historie_id DESC LIMIT 1) = berechtigt_team_id AND berechtigt_user_id = $user_id";
- $db->setQuery($query);
- if (!$db->execute()) {
- abortWithError($db->stderr(true));
- }
- $berechtigt_fuer_akzeptieren = $db->loadResult();
+ $berechtigt_fuer_akzeptieren = loadResult($db, $query);
if (isJson()) {
JSON_sportsmanager::begegnungVerlegen($veranstaltung, $verlegen_aktionen, $berechtigt_fuer_akzeptieren, $vorschlagendes_team_id);
@@ -4409,11 +4296,7 @@ function begegnungVerlegen(): void
$user_id = isExternalDatabase() ? 0 : (isJson() ? getUserID() : Factory::getContainer()->get(SiteApplication::class)->getIdentity()->id);
$query = "SELECT t1.berechtigt_team_id FROM #__sportsmanager_berechtigt_fuer_team AS t1, #__sportsmanager_begegnung WHERE begegnung_id = $id AND berechtigt_user_id = $user_id AND (berechtigt_team_id = heim_team_id OR berechtigt_team_id = gast_team_id)";
- $db->setQuery($query);
- if (!$db->execute()) {
- abortWithError($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if (count($rows) == 0) {
keinZugriff();
}
@@ -4430,11 +4313,7 @@ function begegnungVerlegen(): void
. "\n FROM #__sportsmanager_veranstaltung"
. "\n LEFT JOIN #__sportsmanager_verschieberegel USING (verschieberegel_id)"
. "\n WHERE veranstaltung_id = $veranstaltungId";
- $db->setQuery($query);
- if (!$db->execute()) {
- abortWithError($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if (count($rows) < 1) {
abortWithError("Wrong id!");
}
@@ -4446,11 +4325,7 @@ function begegnungVerlegen(): void
. "\n " . ($veranstaltung->verschieberegel_id != 0 ? "IF($veranstaltung->vorlaufzeit_tage = 0 OR DATEDIFF(zeitpunkt, CURDATE()) >= $veranstaltung->vorlaufzeit_tage, 1, 0)" : "0") . " AS verschieberegel_erfuellt"
. "\n FROM #__sportsmanager_begegnung"
. "\n WHERE begegnung_id = $id";
- $db->setQuery($query);
- if (!$db->execute()) {
- abortWithError($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if (count($rows) < 1) {
abortWithError("Wrong id!");
}
@@ -4461,11 +4336,7 @@ function begegnungVerlegen(): void
. "\n FROM #__sportsmanager_begegnung_historie"
. "\n WHERE begegnung_id = $id"
. "\n ORDER BY begegnung_historie_id DESC";
- $db->setQuery($query);
- if (!$db->execute()) {
- abortWithError($db->stderr(true));
- }
- $verlegen_aktionen = $db->loadObjectList();
+ $verlegen_aktionen = loadObjectList($db, $query);
if (!$begegnung->verschieberegel_erfuellt && (count($verlegen_aktionen) == 0 || $verlegen_aktionen[0]->aktion == 1 || $verlegen_aktionen[0]->aktion == 5 || $verlegen_aktionen[0]->aktion == 10)) {
keinZugriff();
@@ -4515,11 +4386,7 @@ function begegnungVerlegen(): void
// Benachrichtigung schreiben
// Heimteam ermitteln
$query = "SELECT * FROM #__sportsmanager_team WHERE team_id = $begegnung->heim_team_id";
- $db->setQuery($query);
- if (!$db->execute()) {
- abortWithError($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if (count($rows) < 1) {
abortWithError("Wrong id!");
}
@@ -4527,11 +4394,7 @@ function begegnungVerlegen(): void
// Gastteam ermitteln
$query = "SELECT * FROM #__sportsmanager_team WHERE team_id = $begegnung->gast_team_id";
- $db->setQuery($query);
- if (!$db->execute()) {
- abortWithError($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if (count($rows) < 1) {
abortWithError("Wrong id!");
}
@@ -4556,11 +4419,7 @@ function begegnungVerlegen(): void
}
$query = "SELECT * FROM #__users AS t1, #__sportsmanager_berechtigt_fuer_team AS t2 WHERE t1.id = t2.berechtigt_user_id AND (t2.berechtigt_team_id = " . $begegnung->heim_team_id . " OR t2.berechtigt_team_id = " . $begegnung->gast_team_id . ")";
- $db->setQuery($query);
- if (!$db->execute()) {
- abortWithError($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if(!empty($rows)) {
$mailer = Factory::getContainer()->get(MailerFactoryInterface::class)->createMailer();
$mailer->setSender($mailfrom, $fromname);
@@ -4600,21 +4459,13 @@ function begegnungVerlegen(): void
$query = "SELECT COUNT(*)"
. "\n FROM #__sportsmanager_berechtigt_fuer_team"
. "\n WHERE (SELECT verantwortlich_team_id FROM #__sportsmanager_begegnung_historie USE INDEX (begegnung_id) WHERE #__sportsmanager_begegnung_historie.begegnung_id = $id ORDER BY begegnung_historie_id DESC LIMIT 1) = berechtigt_team_id AND berechtigt_user_id = $user_id";
- $db->setQuery($query);
- if (!$db->execute()) {
- abortWithError($db->stderr(true));
- }
- $berechtigt_fuer_akzeptieren = $db->loadResult();
+ $berechtigt_fuer_akzeptieren = loadResult($db, $query);
if ($berechtigt_fuer_akzeptieren == 0) {
keinZugriff();
}
$query = "SELECT t1.berechtigt_team_id FROM #__sportsmanager_berechtigt_fuer_team AS t1, #__sportsmanager_begegnung WHERE begegnung_id = $id AND berechtigt_user_id = $user_id AND (berechtigt_team_id = heim_team_id OR berechtigt_team_id = gast_team_id)";
- $db->setQuery($query);
- if (!$db->execute()) {
- abortWithError($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if (count($rows) == 0) {
keinZugriff();
}
@@ -4622,11 +4473,7 @@ function begegnungVerlegen(): void
// Akzeptierten Termine ermitteln
$query = "SELECT * FROM #__sportsmanager_begegnung_historie WHERE begegnung_historie_id = $begegnung_historie_id";
- $db->setQuery($query);
- if (!$db->execute()) {
- abortWithError($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if (count($rows) < 1) {
abortWithError("Wrong id!");
}
@@ -4660,11 +4507,7 @@ function begegnungVerlegen(): void
. "\n FROM #__sportsmanager_veranstaltung"
. "\n LEFT JOIN #__sportsmanager_verschieberegel USING (verschieberegel_id)"
. "\n WHERE veranstaltung_id = $veranstaltungid";
- $db->setQuery($query);
- if (!$db->execute()) {
- abortWithError($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if (count($rows) < 1) {
abortWithError("Wrong id!");
}
@@ -4672,11 +4515,7 @@ function begegnungVerlegen(): void
// Begegnung ermitteln
$query = "SELECT * FROM #__sportsmanager_begegnung WHERE begegnung_id = $id";
- $db->setQuery($query);
- if (!$db->execute()) {
- abortWithError($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if (count($rows) < 1) {
abortWithError("Wrong id!");
}
@@ -4684,11 +4523,7 @@ function begegnungVerlegen(): void
// Heimteam ermitteln
$query = "SELECT * FROM #__sportsmanager_team WHERE team_id = $begegnung->heim_team_id";
- $db->setQuery($query);
- if (!$db->execute()) {
- abortWithError($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if (count($rows) < 1) {
abortWithError("Wrong id!");
}
@@ -4696,11 +4531,7 @@ function begegnungVerlegen(): void
// Gastteam ermitteln
$query = "SELECT * FROM #__sportsmanager_team WHERE team_id = $begegnung->gast_team_id";
- $db->setQuery($query);
- if (!$db->execute()) {
- abortWithError($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if (count($rows) < 1) {
abortWithError("Wrong id!");
}
@@ -4711,11 +4542,7 @@ function begegnungVerlegen(): void
$subject = Text::sprintf('COM_SPORTSMANAGER_EMAIL_GAME_APPOINTMENT_SHIFTED_SUBJECT', $heim_team->teamname, $gast_team->teamname);
$body = Text::sprintf('COM_SPORTSMANAGER_EMAIL_GAME_APPOINTMENT_SHIFTED_BODY', $heim_team->teamname, $gast_team->teamname, "termin", $veranstaltung->bezeichnung, FormatiertesDatum($begegnung->zeitpunkt), SportsManagerURL('&task=begegnung_verlegen_form&veranstaltungid=' . $veranstaltungid . '&id=' . $id, -1));
$query = "SELECT * FROM #__users AS t1, #__sportsmanager_berechtigt_fuer_team AS t2 WHERE t1.id = t2.berechtigt_user_id AND (t2.berechtigt_team_id = " . $begegnung->heim_team_id . " OR t2.berechtigt_team_id = " . $begegnung->gast_team_id . ")";
- $db->setQuery($query);
- if (!$db->execute()) {
- abortWithError($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if(!empty($rows)) {
$mailer = Factory::getContainer()->get(MailerFactoryInterface::class)->createMailer();
$mailer->setSender($mailfrom, $fromname);
@@ -4743,11 +4570,7 @@ function teamstatistikAktualisieren($geaenderte_veranstaltung_id = 0, $geaendert
$query .= "\n WHERE veranstaltung_id = $geaenderte_veranstaltung_id";
else if ($geaenderter_teamspiel_modus_id != 0)
$query .= "\n WHERE $geaenderter_teamspiel_modus_id = modus_id";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $veranstaltungen = $db->loadObjectList();
+ $veranstaltungen = loadObjectList($db, $query);
foreach ($veranstaltungen as $veranstaltung) {
if ($veranstaltung->tabellenwertung > 0) {
@@ -4787,11 +4610,7 @@ function teamstatistikAktualisieren($geaenderte_veranstaltung_id = 0, $geaendert
if ($veranstaltung->tabellenwertung >= 21) {
$query = "SELECT * FROM #__sportsmanager_team"
. "\n WHERE veranstaltung_id = $veranstaltung->veranstaltung_id";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $teams = $db->loadObjectList();
+ $teams = loadObjectList($db, $query);
$punkte = array();
$buchholz1 = array();
@@ -4807,11 +4626,7 @@ function teamstatistikAktualisieren($geaenderte_veranstaltung_id = 0, $geaendert
. "\n LEFT JOIN #__sportsmanager_team ON heim_team_id = team_id"
. "\n LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis AS ttu1 ON ttb1.begegnung_id = ttu1.begegnung_id"
. "\n WHERE veranstaltung_id = $veranstaltung->veranstaltung_id AND ISNULL(ttu1.unbestaetigtes_ergebnis_id) AND (ttb1.heim_punkte != 0 OR ttb1.gast_punkte != 0)";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $paarungen = $db->loadObjectList();
+ $paarungen = loadObjectList($db, $query);
foreach ($paarungen as $paarung) {
$buchholz1[$paarung->heim_team_id] += $punkte[$paarung->gast_team_id];
@@ -4837,12 +4652,12 @@ function teamstatistikAktualisieren($geaenderte_veranstaltung_id = 0, $geaendert
}
}
- $query = "SELECT * FROM #__sportsmanager_team"
+ $query = "SELECT *, siege + unentschieden + niederlagen AS anzahl_spiele FROM #__sportsmanager_team"
. "\n WHERE veranstaltung_id = $veranstaltung->veranstaltung_id";
if ($veranstaltung->tabellenwertung == 1 || $veranstaltung->tabellenwertung == 4 || $veranstaltung->tabellenwertung == 7)
- $query .= "\n ORDER BY gesamtpunkte DESC, spielpunkte_differenz DESC, punkte_differenz DESC, teamname";
+ $query .= "\n ORDER BY gesamtpunkte DESC, anzahl_spiele ASC, spielpunkte_differenz DESC, punkte_differenz DESC, teamname";
else if ($veranstaltung->tabellenwertung == 2 || $veranstaltung->tabellenwertung == 5 || $veranstaltung->tabellenwertung == 8)
- $query .= "\n ORDER BY gesamtpunkte DESC, spielpunkte_quotient DESC, punkte_quotient DESC, teamname";
+ $query .= "\n ORDER BY gesamtpunkte DESC, anzahl_spiele ASC, spielpunkte_quotient DESC, punkte_quotient DESC, teamname";
else if ($veranstaltung->tabellenwertung == 21 || $veranstaltung->tabellenwertung == 24 || $veranstaltung->tabellenwertung == 27)
$query .= "\n ORDER BY gesamtpunkte DESC, buchholz1 DESC, buchholz2 DESC, spielpunkte_differenz DESC, punkte_differenz DESC, teamname";
else if ($veranstaltung->tabellenwertung == 22 || $veranstaltung->tabellenwertung == 25 || $veranstaltung->tabellenwertung == 28)
@@ -4854,12 +4669,38 @@ function teamstatistikAktualisieren($geaenderte_veranstaltung_id = 0, $geaendert
else if ($veranstaltung->tabellenwertung == 23 || $veranstaltung->tabellenwertung == 26 || $veranstaltung->tabellenwertung == 29)
$query .= "\n ORDER BY gesamtpunkte DESC, buchholz1 DESC, buchholz2 DESC, teamname";
else // ($veranstaltung->tabellenwertung == 3, 6, 9)
- $query .= "\n ORDER BY gesamtpunkte DESC, teamname";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $teams = $db->loadObjectList();
+ $query .= "\n ORDER BY gesamtpunkte DESC, anzahl_spiele ASC, teamname";
+ $teams = loadObjectList($db, $query);
+
+ // Alle Spieltage ermitteln
+ $query = "SELECT COUNT(DISTINCT spieltag)"
+ . "\n FROM #__sportsmanager_begegnung"
+ . "\n INNER JOIN #__sportsmanager_team ON heim_team_id = team_id"
+ . "\n WHERE veranstaltung_id = $veranstaltung->veranstaltung_id";
+ $anzahl_spieltage_komplett = loadResult($db, $query);
+
+ // Spieltage ermitteln, an denen schon eine Begegnung ausgetragen wurde
+ $query = "SELECT DISTINCT spieltag"
+ . "\n FROM #__sportsmanager_begegnung"
+ . "\n LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis USING (begegnung_id)"
+ . "\n INNER JOIN #__sportsmanager_team ON heim_team_id = team_id"
+ . "\n WHERE veranstaltung_id = $veranstaltung->veranstaltung_id AND (heim_spielpunkte != 0 OR gast_spielpunkte != 0) AND ISNULL(#__sportsmanager_unbestaetigtes_ergebnis.begegnung_id)"
+ . "\n ORDER BY spieltag DESC";
+ $spieltage = loadObjectList($db, $query);
+ $anzahl_spieltage_gespielt = loadResult($db, $query);
+ $aktueller_spieltag = count($spieltage) > 0 ? $spieltage[0]->spieltag : 0;
+
+ //Platzierung ueberschreiben. Jetzige Platzierung kommt aus Tabelle und koennte falsch sein.
+ $platz = 0;
+ foreach($teams AS $team)
+ {
+ $team->platz = ++$platz;
+ }
+
+ // Direkter Vergleich, wenn mindestens die Hälfte der Spieltage gespielt sind.
+ if ($veranstaltung->direktervergleich && $anzahl_spieltage_gespielt >= $anzahl_spieltage_komplett/2 && $anzahl_spieltage_komplett >= 3){
+ $teams = getTabelleDirekterVergleich($teams,$veranstaltung,$aktueller_spieltag);
+ }
$platz = 1;
$tatsaechlicher_platz = 0;
@@ -4896,11 +4737,7 @@ function teamstatistikAktualisieren($geaenderte_veranstaltung_id = 0, $geaendert
. "\n FROM #__sportsmanager_team"
. "\n WHERE veranstaltung_id = $veranstaltung->veranstaltung_id"
. "\n ORDER BY letzter_spieltag DESC, zuletzt_gewonnen DESC, teamname";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $teams = $db->loadObjectList();
+ $teams = loadObjectList($db, $query);
$query = "UPDATE #__sportsmanager_team"
. "\n SET #__sportsmanager_team.platz = NULL,"
@@ -5010,27 +4847,24 @@ function ranglisteAktualisieren($geaenderte_rangliste_id = 0, $geaenderte_turnie
} else {
$query = "SELECT * FROM #__sportsmanager_rangliste";
}
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $ranglisten = $db->loadObjectList();
+ $ranglisten = loadObjectList($db, $query);
$error_level = error_reporting(E_ERROR);
$math = new MathParserSM;
foreach ($ranglisten as $rangliste_index => $rangliste) {
$rangliste_id = $rangliste->rangliste_id;
- $rangliste->lizenzen = explode(',', $rangliste->lizenzen);
+ if(!isset($rangliste->lizenzen) || $rangliste->lizenzen == "" || $rangliste->lizenzen == NULL) {
+ $rangliste->lizenzen = NULL;
+ } else {
+ $rangliste->lizenzen = explode(',', $rangliste->lizenzen);
+ }
+
$query = "SELECT *"
. "\n FROM #__sportsmanager_rangliste_turnierdisziplin"
. "\n INNER JOIN #__sportsmanager_turnierdisziplin USING (turnierdisziplin_id)"
. "\n WHERE #__sportsmanager_turnierdisziplin.status > 0 AND rangliste_id = $rangliste_id";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $turnierdisziplinen = $db->loadObjectList();
+ $turnierdisziplinen = loadObjectList($db, $query);
$query = "DELETE FROM #__sportsmanager_rangliste_punkte WHERE rangliste_id = $rangliste_id;";
$db->setQuery($query);
@@ -5055,21 +4889,13 @@ function ranglisteAktualisieren($geaenderte_rangliste_id = 0, $geaenderte_turnie
continue;
if (!isset($systeme[$systemid])) {
$query = "SELECT * FROM #__sportsmanager_rangliste_system WHERE rangliste_system_id = $systemid";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if (count($rows) < 1)
die("Wrong id!");
$systeme[$systemid] = $rows[0];
$query = "SELECT * FROM #__sportsmanager_rangliste_system_punkte WHERE system_id = $systemid";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $systemepunkte[$systemid] = $db->loadObjectList();
+ $systemepunkte[$systemid] = loadObjectList($db, $query);
}
$system = $systeme[$systemid];
$systempunkte = $systemepunkte[$systemid];
@@ -5080,11 +4906,7 @@ function ranglisteAktualisieren($geaenderte_rangliste_id = 0, $geaenderte_turnie
. "\n LEFT JOIN #__sportsmanager_spieler USING (spieler_id)"
. "\n WHERE turnierdisziplin_id = $turnierdisziplin->turnierdisziplin_id AND rundenstufe = 0" // AND NOT ISNULL(spieler_id)
. "\n ORDER BY turniermeldung_id";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $turnierplatzierungen = $db->loadObjectList();
+ $turnierplatzierungen = loadObjectList($db, $query);
$jahr = $turnierdisziplin->beginn != NULL ? intval(substr($turnierdisziplin->beginn, 0, 4)) : 0;
$teilnehmer = 0;
@@ -5278,11 +5100,7 @@ function begegnungenAktualisieren($geaendert_veranstaltung_id = 0, $geaendert_mo
if ($geaendert_veranstaltung_id != 0) {
$query = "SELECT * FROM #__sportsmanager_veranstaltung WHERE veranstaltung_id = $geaendert_veranstaltung_id";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if (count($rows) < 1)
die("Wrong id!");
$veranstaltung = $rows[0];
@@ -5292,11 +5110,7 @@ function begegnungenAktualisieren($geaendert_veranstaltung_id = 0, $geaendert_mo
$teamspiel_modus_id = $geaendert_modus_id;
$query = "SELECT * FROM #__sportsmanager_teamspiel_modus WHERE teamspiel_modus_id = $teamspiel_modus_id";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if (count($rows) < 1)
die("Wrong id!");
$teamspiel_modus = $rows[0];
@@ -5308,19 +5122,11 @@ function begegnungenAktualisieren($geaendert_veranstaltung_id = 0, $geaendert_mo
$query = "SELECT #__sportsmanager_begegnung.begegnung_id, #__sportsmanager_veranstaltung.tabellenwertung FROM #__sportsmanager_veranstaltung, #__sportsmanager_team, #__sportsmanager_begegnung WHERE #__sportsmanager_veranstaltung.veranstaltung_id = $geaendert_veranstaltung_id AND #__sportsmanager_veranstaltung.veranstaltung_id = #__sportsmanager_team.veranstaltung_id AND #__sportsmanager_team.team_id = #__sportsmanager_begegnung.heim_team_id";
else
$query = "SELECT #__sportsmanager_begegnung.begegnung_id, #__sportsmanager_veranstaltung.tabellenwertung FROM #__sportsmanager_veranstaltung, #__sportsmanager_team, #__sportsmanager_begegnung WHERE modus_id = $geaendert_modus_id AND #__sportsmanager_veranstaltung.veranstaltung_id = #__sportsmanager_team.veranstaltung_id AND #__sportsmanager_team.team_id = #__sportsmanager_begegnung.heim_team_id";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $begegnungen = $db->loadObjectList();
+ $begegnungen = loadObjectList($db, $query);
foreach ($begegnungen as $begegnung) {
$query = "SELECT * FROM #__sportsmanager_teamspiel WHERE begegnung_id = $begegnung->begegnung_id";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $spiele = $db->loadObjectList();
+ $spiele = loadObjectList($db, $query);
$total_heim_spielpunkte = 0;
$total_gast_spielpunkte = 0;
@@ -5413,32 +5219,20 @@ function spielerstatistikAktualisieren($geaenderte_spielerstatistik_id = 0, $gea
$query .= "\n WHERE (SELECT COUNT(*) FROM #__sportsmanager_bestenliste_individualwettbewerb WHERE $geaenderter_individualwettbewerb_id = individualwettbewerb_id AND #__sportsmanager_bestenliste_individualwettbewerb.bestenliste_id = #__sportsmanager_bestenliste.bestenliste_id) > 0";
else if ($geaenderter_teamspiel_modus_id != 0)
$query .= "\n WHERE (SELECT COUNT(*) FROM #__sportsmanager_bestenliste_veranstaltung INNER JOIN #__sportsmanager_veranstaltung USING (veranstaltung_id) WHERE $geaenderter_teamspiel_modus_id = modus_id AND #__sportsmanager_bestenliste_veranstaltung.bestenliste_id = #__sportsmanager_bestenliste.bestenliste_id) > 0";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $spielerstatistiken = $db->loadObjectList();
+ $spielerstatistiken = loadObjectList($db, $query);
foreach ($spielerstatistiken as $spielerstatistik) {
$query = "SELECT *"
. "\n FROM #__sportsmanager_bestenliste_veranstaltung"
. "\n INNER JOIN #__sportsmanager_veranstaltung USING (veranstaltung_id)"
. "\n WHERE #__sportsmanager_veranstaltung.status > 0 AND bestenliste_id = $spielerstatistik->bestenliste_id";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $veranstaltungen = $db->loadObjectList();
+ $veranstaltungen = loadObjectList($db, $query);
$query = "SELECT *"
. "\n FROM #__sportsmanager_bestenliste_individualwettbewerb"
. "\n INNER JOIN #__sportsmanager_individualwettbewerb USING (individualwettbewerb_id)"
. "\n WHERE #__sportsmanager_individualwettbewerb.status > 0 AND bestenliste_id = $spielerstatistik->bestenliste_id";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $individualwettbewerbe = $db->loadObjectList();
+ $individualwettbewerbe = loadObjectList($db, $query);
$punkte = array();
@@ -5453,11 +5247,7 @@ function spielerstatistikAktualisieren($geaenderte_spielerstatistik_id = 0, $gea
$query .= "\n AND ISNULL(heim_spieler_2_id) AND ISNULL(gast_spieler_2_id)";
else if ($spielerstatistik->typ == 2 || $spielerstatistik->typ == 3)
$query .= "\n AND NOT (ISNULL(heim_spieler_2_id) AND ISNULL(gast_spieler_2_id))";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $begegnungen = $db->loadObjectList();
+ $begegnungen = loadObjectList($db, $query);
foreach ($begegnungen as $begegnung) {
$beteiligte = array();
@@ -5536,11 +5326,7 @@ function spielerstatistikAktualisieren($geaenderte_spielerstatistik_id = 0, $gea
$query .= "\n AND ISNULL(heim_spieler_2_id) AND ISNULL(gast_spieler_2_id)";
else if ($spielerstatistik->typ == 2 || $spielerstatistik->typ == 3)
$query .= "\n AND NOT (ISNULL(heim_spieler_2_id) AND ISNULL(gast_spieler_2_id))";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $spiele = $db->loadObjectList();
+ $spiele = loadObjectList($db, $query);
foreach ($spiele as $spiel) {
$beteiligte = array();
@@ -5614,11 +5400,7 @@ function spielerstatistikAktualisieren($geaenderte_spielerstatistik_id = 0, $gea
}
$query = "SELECT bestenliste_punkte_id, spieler_id, spieler_2_id FROM #__sportsmanager_bestenliste_punkte WHERE bestenliste_id = $spielerstatistik->bestenliste_id";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
foreach ($rows as $row) {
if ($spielerstatistik->typ != 3)
@@ -5802,11 +5584,7 @@ function eloAktualisieren($datum_beginn = NULL): void
$query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_veranstaltung WHERE status > 0 AND elo_wertung > 0)"
. " OR EXISTS (SELECT * FROM #__sportsmanager_turnierdisziplin WHERE status > 0 AND elo_wertung > 0)"
. " OR EXISTS (SELECT * FROM #__sportsmanager_spieler WHERE NOT ISNULL(elo_einzel_spiele) OR NOT ISNULL(elo_doppel_spiele)), 1, 0)";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $elo_ermitteln = $db->loadResult();
+ $elo_ermitteln = loadResult($db, $query);
if ($elo_ermitteln == 0)
return;
@@ -5823,11 +5601,7 @@ function eloAktualisieren($datum_beginn = NULL): void
$query = "SELECT spieler_id, elo_einzel, elo_einzel_spiele, elo_doppel, elo_doppel_spiele"
. "\n FROM #__sportsmanager_spieler";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $spieler = $db->loadObjectList();
+ $spieler = loadObjectList($db, $query);
foreach ($spieler as $row) {
$spieler_id = $row->spieler_id;
@@ -5864,20 +5638,12 @@ function eloGenerieren($datum_beginn, &$elo_einzel, &$elo_doppel, &$spiele_einze
$query = "SELECT MAX(cache_datum)"
. "\n FROM #__sportsmanager_elo_cache"
. "\n WHERE cache_datum <= '$datum_beginn'";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $cache_datum_beginn = $db->loadResult();
+ $cache_datum_beginn = loadResult($db, $query);
$query = "SELECT spieler_id, elo_einzel, elo_doppel, elo_einzel_spiele, elo_doppel_spiele"
. "\n FROM #__sportsmanager_elo_cache"
. "\n WHERE cache_datum = '$cache_datum_beginn'";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
foreach ($rows as $row) {
if ($row->elo_einzel != NULL) {
@@ -5894,11 +5660,7 @@ function eloGenerieren($datum_beginn, &$elo_einzel, &$elo_doppel, &$spiele_einze
$query = "SELECT spieler_id, elo_einzel_startwert, elo_doppel_startwert"
. "\n FROM #__sportsmanager_spieler"
. "\n WHERE NOT ISNULL(elo_einzel_startwert) OR NOT ISNULL(elo_doppel_startwert)";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
foreach ($rows as $row) {
if ((!isset($elo_einzel[$row->spieler_id]) || $elo_einzel[$row->spieler_id] == 0) && $row->elo_einzel_startwert != NULL)
@@ -5918,11 +5680,7 @@ function eloGenerieren($datum_beginn, &$elo_einzel, &$elo_doppel, &$spiele_einze
$query .= " AND #__sportsmanager_veranstaltung.elo_wertung > 0";
if (!empty($cache_datum_beginn))
$query .= " AND zeitpunkt >= '$cache_datum_beginn'";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $teamspiele_anzahl = $db->loadResult();
+ $teamspiele_anzahl = loadResult($db, $query);
$teamspiele_offset = 0;
$query = "SELECT #__sportsmanager_begegnung.begegnung_id, zeitpunkt, heim_spieler_1_id, heim_spieler_2_id, gast_spieler_1_id, gast_spieler_2_id, teamspiel_heim_punkte, teamspiel_gast_punkte, heim_team_id, gast_team_id, #__sportsmanager_veranstaltung.veranstaltung_id, spieltag, #__sportsmanager_veranstaltung.unterteilung, elo_wertung"
@@ -5938,11 +5696,7 @@ function eloGenerieren($datum_beginn, &$elo_einzel, &$elo_doppel, &$spiele_einze
$query .= " AND zeitpunkt >= '$cache_datum_beginn'";
$query .= "\n ORDER BY zeitpunkt, begegnung_id, teamspiel_nummer"
. "\n LIMIT 0, 5000";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $teamspiele = $db->loadObjectList();
+ $teamspiele = loadObjectList($db, $query);
$teamspiele_nr = 0;
$query = "SELECT turnierdisziplin_id, beginn, typ, elo_wertung"
@@ -5953,11 +5707,7 @@ function eloGenerieren($datum_beginn, &$elo_einzel, &$elo_doppel, &$spiele_einze
if (!empty($cache_datum_beginn))
$query .= " AND DATE(beginn) >= '$cache_datum_beginn'";
$query .= "\n ORDER BY beginn";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $disziplinen = $db->loadObjectList();
+ $disziplinen = loadObjectList($db, $query);
$disziplinen_anzahl = count($disziplinen);
$disziplinen_nr = 0;
@@ -5969,11 +5719,7 @@ function eloGenerieren($datum_beginn, &$elo_einzel, &$elo_doppel, &$spiele_einze
$query .= " AND #__sportsmanager_individualwettbewerb.elo_wertung > 0";
if (!empty($cache_datum_beginn))
$query .= " AND zeitpunkt >= '$cache_datum_beginn'";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $individualwettbewerb_spiele_anzahl = $db->loadResult();
+ $individualwettbewerb_spiele_anzahl = loadResult($db, $query);
$individualwettbewerb_spiele_offset = 0;
$query = "SELECT zeitpunkt, heim_spieler_1_id, heim_spieler_2_id, gast_spieler_1_id, gast_spieler_2_id, ergebnis, #__sportsmanager_individualwettbewerb.individualwettbewerb_id, elo_wertung"
@@ -5986,11 +5732,7 @@ function eloGenerieren($datum_beginn, &$elo_einzel, &$elo_doppel, &$spiele_einze
$query .= " AND zeitpunkt >= '$cache_datum_beginn'";
$query .= "\n ORDER BY zeitpunkt, individualwettbewerb_spiel_id"
. "\n LIMIT 0, 5000";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $individualwettbewerb_spiele = $db->loadObjectList();
+ $individualwettbewerb_spiele = loadObjectList($db, $query);
$individualwettbewerb_spiele_nr = 0;
if ($spieler_id == NULL) {
@@ -6067,11 +5809,7 @@ function eloGenerieren($datum_beginn, &$elo_einzel, &$elo_doppel, &$spiele_einze
$query .= " AND zeitpunkt >= '$cache_datum_beginn'";
$query .= "\n ORDER BY zeitpunkt, begegnung_id, teamspiel_nummer"
. "\n LIMIT $teamspiele_offset, 5000";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $teamspiele = $db->loadObjectList();
+ $teamspiele = loadObjectList($db, $query);
}
$heim_spieler_1_id = $teamspiel->heim_spieler_1_id;
$heim_spieler_2_id = $teamspiel->heim_spieler_2_id;
@@ -6256,11 +5994,7 @@ function eloGenerieren($datum_beginn, &$elo_einzel, &$elo_doppel, &$spiele_einze
$query .= " AND zeitpunkt >= '$cache_datum_beginn'";
$query .= "\n ORDER BY zeitpunkt, individualwettbewerb_spiel_id"
. "\n LIMIT $individualwettbewerb_spiele_offset, 5000";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $individualwettbewerb_spiele = $db->loadObjectList();
+ $individualwettbewerb_spiele = loadObjectList($db, $query);
}
$heim_spieler_1_id = $individualwettbewerb_spiel->heim_spieler_1_id;
$heim_spieler_2_id = $individualwettbewerb_spiel->heim_spieler_2_id;
@@ -6421,11 +6155,7 @@ function eloGenerieren($datum_beginn, &$elo_einzel, &$elo_doppel, &$spiele_einze
$query = "SELECT turniermeldung_id, spieler_id"
. "\n FROM #__sportsmanager_turniermeldung INNER JOIN #__sportsmanager_turniermeldung_spieler USING (turniermeldung_id)"
. "\n WHERE turnierdisziplin_id = $disziplin->turnierdisziplin_id AND rundenstufe = 0";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $meldungenSpieler = $db->loadObjectList();
+ $meldungenSpieler = loadObjectList($db, $query);
$meldungenSpielerIds = array();
foreach ($meldungenSpieler as $s) {
@@ -6438,11 +6168,7 @@ function eloGenerieren($datum_beginn, &$elo_einzel, &$elo_doppel, &$spiele_einze
. "\n FROM #__sportsmanager_turnierspiel"
. "\n WHERE turnierdisziplin_id = $disziplin->turnierdisziplin_id"
. "\n ORDER BY spiel_nummer";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $spiele = $db->loadObjectList();
+ $spiele = loadObjectList($db, $query);
foreach ($spiele as $spiel) {
if ($disziplin->typ == 0) { // Einzel
@@ -6636,11 +6362,7 @@ function spieleVerlauf($spieler_id, &$spieler_verlauf_einzel, &$spieler_verlauf_
. "\n LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis ON #__sportsmanager_begegnung.begegnung_id = #__sportsmanager_unbestaetigtes_ergebnis.begegnung_id"
. "\n WHERE #__sportsmanager_veranstaltung.status > 0 AND ISNULL(unbestaetigtes_ergebnis_id) AND (heim_spieler_1_id = $spieler_id OR heim_spieler_2_id = $spieler_id OR gast_spieler_1_id = $spieler_id OR gast_spieler_2_id = $spieler_id)"
. "\n ORDER BY zeitpunkt DESC, begegnung_id DESC, teamspiel_nummer DESC";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $teamspiele = $db->loadObjectList();
+ $teamspiele = loadObjectList($db, $query);
$teamspiele_anzahl = count($teamspiele);
$teamspiele_nr = 0;
@@ -6650,11 +6372,7 @@ function spieleVerlauf($spieler_id, &$spieler_verlauf_einzel, &$spieler_verlauf_
. "\n INNER JOIN #__sportsmanager_turnierdisziplin USING (turnierdisziplin_id)"
. "\n WHERE spieler_id = $spieler_id AND status > 0 AND rundenstufe = 0"
. "\n ORDER BY beginn DESC";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $disziplinen = $db->loadObjectList();
+ $disziplinen = loadObjectList($db, $query);
$disziplinen_anzahl = count($disziplinen);
$disziplinen_nr = 0;
@@ -6663,11 +6381,7 @@ function spieleVerlauf($spieler_id, &$spieler_verlauf_einzel, &$spieler_verlauf_
. "\n INNER JOIN #__sportsmanager_individualwettbewerb_spiel USING (individualwettbewerb_id)"
. "\n WHERE #__sportsmanager_individualwettbewerb.status > 0 AND (heim_spieler_1_id = $spieler_id OR heim_spieler_2_id = $spieler_id OR gast_spieler_1_id = $spieler_id OR gast_spieler_2_id = $spieler_id)"
. "\n ORDER BY zeitpunkt DESC, individualwettbewerb_spiel_id DESC";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $individualwettbewerb_spiele = $db->loadObjectList();
+ $individualwettbewerb_spiele = loadObjectList($db, $query);
$individualwettbewerb_spiele_anzahl = count($individualwettbewerb_spiele);
$individualwettbewerb_spiele_nr = 0;
@@ -6773,11 +6487,7 @@ function spieleVerlauf($spieler_id, &$spieler_verlauf_einzel, &$spieler_verlauf_
$query = "SELECT turniermeldung_id, spieler_id"
. "\n FROM #__sportsmanager_turniermeldung INNER JOIN #__sportsmanager_turniermeldung_spieler USING (turniermeldung_id)"
. "\n WHERE turnierdisziplin_id = $disziplin->turnierdisziplin_id AND rundenstufe = 0";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $meldungenSpieler = $db->loadObjectList();
+ $meldungenSpieler = loadObjectList($db, $query);
$meldungenSpielerIds = array();
foreach ($meldungenSpieler as $s) {
@@ -6790,11 +6500,7 @@ function spieleVerlauf($spieler_id, &$spieler_verlauf_einzel, &$spieler_verlauf_
. "\n FROM #__sportsmanager_turnierspiel"
. "\n WHERE turnierdisziplin_id = $disziplin->turnierdisziplin_id"
. "\n ORDER BY spiel_nummer DESC";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $spiele = $db->loadObjectList();
+ $spiele = loadObjectList($db, $query);
foreach ($spiele as $spiel) {
if ($disziplin->typ == 0) { // Einzel
@@ -6877,11 +6583,7 @@ function turniervoranmeldungen(): void
. "\n WHERE " . kategorieFilter("kategorie IN", "AND ") . "NOT EXISTS (SELECT * FROM #__sportsmanager_turniermeldung WHERE #__sportsmanager_turniermeldung.turnierdisziplin_id = #__sportsmanager_turnierdisziplin.turnierdisziplin_id AND rundenstufe = 0) AND"
. "\n status > 0 AND (NOT ISNULL(voranmeldung) OR EXISTS (SELECT * FROM #__sportsmanager_turniermeldung WHERE #__sportsmanager_turniermeldung.turnierdisziplin_id = #__sportsmanager_turnierdisziplin.turnierdisziplin_id AND rundenstufe = 20))"
. "\n ORDER BY beginn, reihenfolge, disziplin, kategorie"; // LIMIT 6, 18446744073709551615
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $disziplinen = $db->loadObjectList();
+ $disziplinen = loadObjectList($db, $query);
HTML_sportsmanager::turniervoranmeldungenHeader($params->get('titel'), $params->get('beschreibung'));
@@ -6890,11 +6592,7 @@ function turniervoranmeldungen(): void
. "\n FROM #__sportsmanager_turniermeldung"
. "\n WHERE turnierdisziplin_id = $disziplin->turnierdisziplin_id AND rundenstufe = '20'"
. "\n ORDER BY platz, turniermeldung_id";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $meldungen = $db->loadObjectList();
+ $meldungen = loadObjectList($db, $query);
$query = "SELECT turniermeldung_id, #__sportsmanager_spieler.spieler_id, geschlecht, bild_ausblenden, " . ($disziplin->voranmeldungen_rangliste_id != 0 ? "punkte, " : "") . "IF(ISNULL(#__sportsmanager_spieler.spieler_id), #__sportsmanager_turniermeldung_spieler_name.nachname, #__sportsmanager_spieler.nachname) AS nachname, IF(ISNULL(#__sportsmanager_spieler.spieler_id), #__sportsmanager_turniermeldung_spieler_name.vorname, #__sportsmanager_spieler.vorname) AS vorname"
. "\n FROM #__sportsmanager_turniermeldung"
@@ -6905,11 +6603,7 @@ function turniervoranmeldungen(): void
$query .= "\n LEFT JOIN #__sportsmanager_rangliste_punkte ON (NOT ISNULL(#__sportsmanager_spieler.spieler_id)) AND rangliste_id = $disziplin->voranmeldungen_rangliste_id AND #__sportsmanager_rangliste_punkte.spieler_id = #__sportsmanager_spieler.spieler_id";
$query .= "\n WHERE #__sportsmanager_turniermeldung.turnierdisziplin_id = $disziplin->turnierdisziplin_id AND rundenstufe = '20'"
. "\n ORDER BY turniermeldung_spieler_id";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $meldungenSpieler = $db->loadObjectList();
+ $meldungenSpieler = loadObjectList($db, $query);
$meldungenSpielerIds = array();
$meldungenSpielerNamen = array();
@@ -6983,11 +6677,7 @@ function spielerstatistiken(): void
. "\n WHERE status > 0 AND EXISTS(SELECT * FROM #__sportsmanager_bestenliste_punkte WHERE #__sportsmanager_bestenliste_punkte.bestenliste_id = #__sportsmanager_bestenliste.bestenliste_id)" . kategorieFilter("AND kategorie IN")
. "\n GROUP BY saison_id"
. "\n ORDER BY saisonbezeichnung DESC";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $saisons = $db->loadObjectList();
+ $saisons = loadObjectList($db, $query);
if (count($saisons) != 0) {
$gefunden = FALSE;
@@ -7005,11 +6695,7 @@ function spielerstatistiken(): void
. "\n FROM #__sportsmanager_bestenliste"
. "\n WHERE status > 0 AND EXISTS(SELECT * FROM #__sportsmanager_bestenliste_punkte WHERE #__sportsmanager_bestenliste_punkte.bestenliste_id = #__sportsmanager_bestenliste.bestenliste_id)" . kategorieFilter("AND kategorie IN") . ($filter_saison_id != 0 ? " AND saison_id = $filter_saison_id" : "")
. "\n ORDER BY reihenfolge, bezeichnung, kategorie";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $spielerstatistiken = $db->loadObjectList();
+ $spielerstatistiken = loadObjectList($db, $query);
HTML_sportsmanager::spielerstatistikenHeader($params->get('titel'), $params->get('beschreibung'), $saisons, $filter_saison_id);
@@ -7027,11 +6713,7 @@ function spielerstatistiken(): void
$query .= "\n ORDER BY spielpunkte_gewonnen DESC, spielpunkte_verloren, punkte_gewonnen - punkte_verloren DESC, nachname, vorname";
else
$query .= "\n ORDER BY leistungsindex DESC, spielpunkte_gewonnen DESC, spielpunkte_verloren, punkte_gewonnen - punkte_verloren DESC, nachname, vorname";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $spielerstatistik_punkte = $db->loadObjectList();
+ $spielerstatistik_punkte = loadObjectList($db, $query);
HTML_sportsmanager::spielerstatistik($spielerstatistik, $spielerstatistik_punkte, FALSE, 0, 0, $details_anzeigen);
}
@@ -7051,8 +6733,10 @@ function spielerstatistik(): void
if (isJson()) {
// get id from db
$query = "select bestenliste_id from #__sportsmanager_bestenliste_veranstaltung where veranstaltung_id = " . $id;
- $db->setQuery($query);
- $id = $db->loadResult();
+ $id = loadResult($db, $query);
+ if (!$id) {
+ abortWithError("Wrong id!");
+ }
}
$details_anzeigen = currentUserHasAccessToDetails();
$filter_saison_id = $jInput->get('filter_saison_id', 0, 'INT');
@@ -7066,11 +6750,7 @@ function spielerstatistik(): void
. "\n WHERE status > 0 AND EXISTS(SELECT * FROM #__sportsmanager_bestenliste_punkte WHERE #__sportsmanager_bestenliste_punkte.bestenliste_id = #__sportsmanager_bestenliste.bestenliste_id)" . kategorieFilter("AND kategorie IN")
. "\n GROUP BY saison_id"
. "\n ORDER BY saisonbezeichnung DESC";
- $db->setQuery($query);
- if (!$db->execute()) {
- abortWithError($db->stderr(true));
- }
- $saisons = $db->loadObjectList();
+ $saisons = loadObjectList($db, $query);
if (count($saisons) != 0) {
$gefunden = FALSE;
@@ -7089,11 +6769,7 @@ function spielerstatistik(): void
$query = "SELECT *"
. "\n FROM #__sportsmanager_bestenliste"
. "\n WHERE bestenliste_id = $id AND status > 0 AND EXISTS(SELECT * FROM #__sportsmanager_bestenliste_punkte WHERE #__sportsmanager_bestenliste_punkte.bestenliste_id = #__sportsmanager_bestenliste.bestenliste_id)" . kategorieFilter("AND kategorie IN");
- $db->setQuery($query);
- if (!$db->execute()) {
- abortWithError($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if (count($rows) < 1) {
abortWithError("Wrong id!");
}
@@ -7115,22 +6791,14 @@ function spielerstatistik(): void
} else {
$query .= "\n ORDER BY leistungsindex DESC, spielpunkte_gewonnen DESC, spielpunkte_verloren, punkte_gewonnen - punkte_verloren DESC, nachname, vorname";
}
- $db->setQuery($query);
- if (!$db->execute()) {
- abortWithError($db->stderr(true));
- }
- $spielerstatistik_punkte = $db->loadObjectList();
+ $spielerstatistik_punkte = loadObjectList($db, $query);
// Vorherige und nächste Spielerstatistik ermitteln
$query = "SELECT *"
. "\n FROM #__sportsmanager_bestenliste"
. "\n WHERE status > 0" . kategorieFilter("AND kategorie IN") . ($filter_saison_id != 0 ? " AND saison_id = $filter_saison_id" : "")
. "\n ORDER BY reihenfolge, bezeichnung, kategorie";
- $db->setQuery($query);
- if (!$db->execute()) {
- abortWithError($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
$n = count($rows);
$vorherige_spielerstatistik_id = 0;
@@ -7201,11 +6869,7 @@ function eloRanglisten(): void
if (!empty($ansicht_kategorie))
$query .= "\n HAVING " . ($ansicht_kategorie == "M" || $ansicht_kategorie == "W" ? "geschlecht" : "kategorie") . " = '" . $db->escape($ansicht_kategorie) . "'";
$query .= "), 1, 0)";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $n = $db->loadResult();
+ $n = loadResult($db, $query);
if ($n == 0)
continue;
@@ -7254,11 +6918,7 @@ function eloRanglisten(): void
if (!empty($ansicht_kategorie))
$query .= "\n HAVING " . ($ansicht_kategorie == "M" || $ansicht_kategorie == "W" ? "geschlecht" : "kategorie") . " = '" . $db->escape($ansicht_kategorie) . "'";
$query .= "\n ORDER BY " . ($ansicht_typ != "doppel" ? "elo_einzel DESC, nachname, vorname" : "elo_doppel DESC, nachname, vorname");
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $spieler = $db->loadObjectList();
+ $spieler = loadObjectList($db, $query);
if (!empty($spieler))
HTML_sportsmanager::eloRangliste($spieler, $ansicht_typ, $ansicht_kategorie, $allein_angezeigt, $vorherige_ansicht, $naechste_ansicht, $details_anzeigen);
@@ -7289,11 +6949,7 @@ function individualwettbewerbe(): void
. "\n WHERE status > 0 AND EXISTS(SELECT * FROM #__sportsmanager_individualwettbewerb_spiel WHERE #__sportsmanager_individualwettbewerb_spiel.individualwettbewerb_id = #__sportsmanager_individualwettbewerb.individualwettbewerb_id" . $kategorieFilter . ")"
. "\n GROUP BY saison_id"
. "\n ORDER BY saisonbezeichnung DESC";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $saisons = $db->loadObjectList();
+ $saisons = loadObjectList($db, $query);
if (count($saisons) != 0) {
$gefunden = FALSE;
@@ -7310,11 +6966,7 @@ function individualwettbewerbe(): void
$query = "SELECT *"
. "\n FROM #__sportsmanager_individualwettbewerb"
. "\n WHERE status > 0" . $kategorieFilter . ($filter_saison_id != 0 ? " AND saison_id = $filter_saison_id" : "") . " AND EXISTS(SELECT * FROM #__sportsmanager_individualwettbewerb_spiel WHERE #__sportsmanager_individualwettbewerb_spiel.individualwettbewerb_id = #__sportsmanager_individualwettbewerb.individualwettbewerb_id)";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $individualwettbewerbe = $db->loadObjectList();
+ $individualwettbewerbe = loadObjectList($db, $query);
if ($ansicht != "spiele") {
$vorheriger_individualwettbewerb_id = 0;
@@ -7350,11 +7002,7 @@ function individualwettbewerbe(): void
. "\n LEFT JOIN #__sportsmanager_spieler AS tgast2 ON tgast2.spieler_id = gast_spieler_2_id"
. "\n WHERE individualwettbewerb_id = $individualwettbewerbid"
. "\n ORDER BY zeitpunkt DESC, individualwettbewerb_spiel_id DESC";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $spiele = $db->loadObjectList();
+ $spiele = loadObjectList($db, $query);
if ($individualwettbewerb->tabellenwertung) {
$query = "SELECT spieler_id, nachname, vorname, geschlecht, vereinsname, aktueller_verein_id, platz, bild_ausblenden"
@@ -7363,11 +7011,7 @@ function individualwettbewerbe(): void
. "\n LEFT JOIN #__sportsmanager_verein ON aktueller_verein_id = verein_id"
. "\n WHERE individualwettbewerb_id = $individualwettbewerbid"
. "\n ORDER BY platz, nachname, vorname";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $platzierungen = $db->loadObjectList();
+ $platzierungen = loadObjectList($db, $query);
} else {
$platzierungen = NULL;
}
@@ -7394,11 +7038,7 @@ function individualwettbewerbe(): void
. "\n LEFT JOIN #__sportsmanager_spieler AS tgast2 ON tgast2.spieler_id = gast_spieler_2_id"
. "\n WHERE status > 0" . $kategorieFilter . ($filter_saison_id != 0 ? " AND saison_id = $filter_saison_id" : "")
. "\n ORDER BY zeitpunkt DESC, individualwettbewerb_spiel_id DESC";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $spiele = $db->loadObjectList();
+ $spiele = loadObjectList($db, $query);
HTML_sportsmanager::individualwettbewerbSpiele($individualwettbewerbe_bezeichnungen, $spiele, $details_anzeigen);
}
@@ -7424,11 +7064,7 @@ function ranglisten(): void
. "\n WHERE status > 0 AND EXISTS(SELECT * FROM #__sportsmanager_rangliste_punkte WHERE #__sportsmanager_rangliste_punkte.rangliste_id = #__sportsmanager_rangliste.rangliste_id)" . kategorieFilter("AND kategorie IN")
. "\n GROUP BY saison_id"
. "\n ORDER BY saisonbezeichnung DESC";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $saisons = $db->loadObjectList();
+ $saisons = loadObjectList($db, $query);
if (count($saisons) != 0) {
$gefunden = FALSE;
@@ -7446,11 +7082,7 @@ function ranglisten(): void
. "\n FROM #__sportsmanager_rangliste"
. "\n WHERE status > 0 AND EXISTS(SELECT * FROM #__sportsmanager_rangliste_punkte WHERE #__sportsmanager_rangliste_punkte.rangliste_id = #__sportsmanager_rangliste.rangliste_id)" . kategorieFilter("AND kategorie IN") . ($filter_saison_id != 0 ? " AND saison_id = $filter_saison_id" : "")
. "\n ORDER BY reihenfolge, bezeichnung, kategorie";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $ranglisten = $db->loadObjectList();
+ $ranglisten = loadObjectList($db, $query);
HTML_sportsmanager::ranglistenHeader($params->get('titel'), $params->get('beschreibung'), $saisons, $filter_saison_id);
@@ -7460,11 +7092,7 @@ function ranglisten(): void
. "\n LEFT JOIN #__sportsmanager_spieler USING (spieler_id)"
. "\n WHERE rangliste_id = $rangliste->rangliste_id AND platz <= 3"
. "\n ORDER BY platz, nachname, vorname";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rangliste_punkte = $db->loadObjectList();
+ $rangliste_punkte = loadObjectList($db, $query);
HTML_sportsmanager::rangliste($rangliste, $rangliste_punkte, FALSE, $details_anzeigen);
}
@@ -7486,11 +7114,7 @@ function rangliste(): void
$query = "SELECT *"
. "\n FROM #__sportsmanager_rangliste"
. "\n WHERE rangliste_id = $id AND status > 0 AND EXISTS(SELECT * FROM #__sportsmanager_rangliste_punkte WHERE #__sportsmanager_rangliste_punkte.rangliste_id = #__sportsmanager_rangliste.rangliste_id)" . kategorieFilter("AND kategorie IN");
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if (count($rows) < 1)
die("Wrong id!");
$rangliste = $rows[0];
@@ -7501,11 +7125,7 @@ function rangliste(): void
. "\n LEFT JOIN #__sportsmanager_spieler USING (spieler_id)"
. "\n WHERE rangliste_id = $rangliste->rangliste_id"
. "\n ORDER BY platz, nachname, vorname";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rangliste_punkte = $db->loadObjectList();
+ $rangliste_punkte = loadObjectList($db, $query);
// Anzeigen
HTML_sportsmanager::rangliste($rangliste, $rangliste_punkte, TRUE, $details_anzeigen);
@@ -7528,11 +7148,7 @@ function ranglistenpunkte(): void
. "\n (SELECT COUNT(*) FROM #__sportsmanager_rangliste_punkte WHERE #__sportsmanager_rangliste_punkte.rangliste_id = #__sportsmanager_rangliste.rangliste_id) AS teilnehmer"
. "\n FROM #__sportsmanager_rangliste"
. "\n WHERE rangliste_id = $rangliste_id AND status > 0" . kategorieFilter("AND kategorie IN");
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if (count($rows) < 1)
die("Wrong id!");
$rangliste = $rows[0];
@@ -7542,11 +7158,7 @@ function ranglistenpunkte(): void
. "\n FROM #__sportsmanager_rangliste_punkte"
. "\n INNER JOIN #__sportsmanager_spieler USING (spieler_id)"
. "\n WHERE rangliste_id = $rangliste_id AND spieler_id = $spieler_id";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if (count($rows) < 1)
die("Wrong id!");
$rangliste_punkte = $rows[0];
@@ -7558,11 +7170,7 @@ function ranglistenpunkte(): void
. "\n INNER JOIN #__sportsmanager_turnier USING (turnier_id)"
. "\n WHERE rangliste_id = $rangliste_id AND spieler_id = $spieler_id AND #__sportsmanager_turnierdisziplin.status > 0 "
. "\n ORDER BY beginn DESC, turnier_id DESC, turnierdisziplin_id DESC";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $turnierdisziplinen = $db->loadObjectList();
+ $turnierdisziplinen = loadObjectList($db, $query);
$streichergebnisse = array();
if ($rangliste->streichergebnisse != 0) {
@@ -7570,11 +7178,7 @@ function ranglistenpunkte(): void
. "\n FROM #__sportsmanager_rangliste_turnierdisziplin"
. "\n INNER JOIN #__sportsmanager_turnierdisziplin USING (turnierdisziplin_id)"
. "\n WHERE rangliste_id = $rangliste_id AND #__sportsmanager_turnierdisziplin.status > 0 AND EXISTS(SELECT * FROM #__sportsmanager_turniermeldung WHERE #__sportsmanager_turniermeldung.turnierdisziplin_id = #__sportsmanager_rangliste_turnierdisziplin.turnierdisziplin_id AND rundenstufe = 0)";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $anzahl_turnierdisziplinen = $db->loadResult();
+ $anzahl_turnierdisziplinen = loadResult($db, $query);
$spieler_anzahl_turnierdisziplinen = count($turnierdisziplinen);
$bewertete_turnierdisziplinen = $rangliste->streichergebnisse < 0 ? min($anzahl_turnierdisziplinen, abs($rangliste->streichergebnisse)) : ($anzahl_turnierdisziplinen - floor($anzahl_turnierdisziplinen * min(max($rangliste->streichergebnisse, 0), 100) / 100));
diff --git a/src/structure/components/com_sportsmanager/tools.php b/src/structure/components/com_sportsmanager/tools.php
index 0c74205..7f6beea 100644
--- a/src/structure/components/com_sportsmanager/tools.php
+++ b/src/structure/components/com_sportsmanager/tools.php
@@ -10,7 +10,6 @@ use Joomla\CMS\Factory;
use Joomla\CMS\Log\Log;
use Joomla\CMS\Router\Route;
use Joomla\CMS\Uri\Uri;
-use Joomla\CMS\User\User;
use Joomla\CMS\Version;
defined('_JEXEC') or die('Restricted access');
diff --git a/src/structure/components/com_sportsmanager/util/image.php b/src/structure/components/com_sportsmanager/util/image.php
index 8c900e2..7c22b0a 100644
--- a/src/structure/components/com_sportsmanager/util/image.php
+++ b/src/structure/components/com_sportsmanager/util/image.php
@@ -7,6 +7,8 @@ use Joomla\CMS\Uri\Uri;
use Joomla\Filesystem\File;
use Joomla\Filesystem\Folder;
+require_once JPATH_SITE . '/components/com_sportsmanager/database/util.php';
+
const SPORTSMANAGER_JOOMLA_PATH = JPATH_ROOT;
define("SPORTSMANAGER_JOOMLA_URL", Uri::base());
@@ -241,11 +243,7 @@ function playerImage($playerId, $gender, $width = 180, $height = 240): ?string
. "\n FROM #__sportsmanager_spieler"
. "\n WHERE NOT ISNULL(aktueller_verein_id) AND NOT bild_ausblenden" . (!empty($spielernr) ? " AND spielernr = '$spielernr'" : " AND lizenznr = '$lizenznr'")
. "\n ORDER BY spieler_id DESC";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- $rows = $db->loadObjectList();
+ $rows = loadObjectList($db, $query);
if (count($rows) < 1) {
ob_end_clean(); // Wegen UTF-8-Zeichen, die in der ausgabe vorhanden sind
header('HTTP/1.1 404 Not Found');
@@ -358,7 +356,7 @@ function bildURL($typ, $id, $fixed_width = 0, $fixed_height = 0, $max_width = 0,
#crop=250,250,left
#crop=250,250,right
*/
-function yoothemeBild($typ, $id, $alternativ, $resize = '', $zusatz = ""): ?string
+function yoothemeBild($typ, $id, $alternativ, $zusatz = ""): ?string
{
$typ_exploded = explode("/", $typ);
$typ = $typ_exploded[0];
@@ -382,9 +380,9 @@ function yoothemeBild($typ, $id, $alternativ, $resize = '', $zusatz = ""): ?stri
else
return null;
- $bildpfad = "/images/sportsmanager/" . $typ . "/" . $typ_prefix . $id . "." . $ext;
+ $bildpfad = SPORTSMANAGER_JOOMLA_URL . "images/sportsmanager/" . $typ . "/" . $typ_prefix . $id . "." . $ext;
- return ' ';
+ return ' ';
}
function bildHTML($typ, $id, $fixed_width = 0, $fixed_height = 0, $max_width = 0, $max_height = 0, $zusatz = "", $alternativ = ""): ?string
diff --git a/src/structure/components/com_sportsmanager/util/version.php b/src/structure/components/com_sportsmanager/util/version.php
new file mode 100644
index 0000000..f7c44af
--- /dev/null
+++ b/src/structure/components/com_sportsmanager/util/version.php
@@ -0,0 +1,6 @@
+ 'DEV',
+ 'date' => '2025-08-05',
+];
diff --git a/src/structure/components/com_sportsmanager/views/sportsmanager/view.html.php b/src/structure/components/com_sportsmanager/views/sportsmanager/view.html.php
index e292f0a..d64d205 100644
--- a/src/structure/components/com_sportsmanager/views/sportsmanager/view.html.php
+++ b/src/structure/components/com_sportsmanager/views/sportsmanager/view.html.php
@@ -140,13 +140,6 @@ static function veranstaltungenHeader($titel, $beschreibung, $saisons, $filter_s
…
-
- ',screen.width,725);" class="readonget( 'pageclass_sfx' ); ?>">
- …(no menu)
- */
- ?>
|
@@ -158,16 +151,15 @@ static function veranstaltungenHeader($titel, $beschreibung, $saisons, $filter_s
}
}
-static function veranstaltungHeaderAlone($veranstaltung, $vorherige_veranstaltung_id, $naechste_veranstaltung_id): void
+static function veranstaltungHeaderAlone($veranstaltung, $vorherige_veranstaltung_id, $naechste_veranstaltung_id, $showSeasons = false, $seasons = [], $filter_saison_id = 0): void
{
global $params;
-
?>