mirror of
https://github.com/Deutscher-Tischfussballbund/com_sportsmanager.git
synced 2026-09-11 18:41:50 +00:00
Compare commits
24
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5aee02830d | ||
|
|
cb2e614604 | ||
|
|
5d126b0d28 | ||
|
|
69cf0e46ab | ||
|
|
df794966df | ||
|
|
12da0a9c00 | ||
|
|
ca827a049f | ||
|
|
70fb4d97b7 | ||
|
|
d39dc45cec | ||
|
|
c290986bac | ||
|
|
9541bc0652 | ||
|
|
50e6872214 | ||
|
|
a953ebf130 | ||
|
|
e8051bbcf6 | ||
|
|
a01efae2e9 | ||
|
|
04e4ea6cdf | ||
|
|
f787681fec | ||
|
|
541af8fb7f | ||
|
|
cc92b938be | ||
|
|
4c21d66fbe | ||
|
|
dcea759ab2 | ||
|
|
19037d0729 | ||
|
|
bfc65d6030 | ||
|
|
7d47b3ed24 |
Generated
+19
-5
@@ -52,7 +52,6 @@
|
||||
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.0.tgz",
|
||||
"integrity": "sha512-iV7Gwg0DePKvdDZZWRTkj4MW+6/AbVWd4ZCg+zk8H1RVt5xBpUZS6vLQWwb3pyLg4BFTaGiQCPoJ4Ibmbne4fA==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@babel/code-frame": "^7.10.4",
|
||||
"@babel/generator": "^7.12.0",
|
||||
@@ -2695,10 +2694,25 @@
|
||||
}
|
||||
},
|
||||
"node_modules/caniuse-lite": {
|
||||
"version": "1.0.30001148",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001148.tgz",
|
||||
"integrity": "sha512-E66qcd0KMKZHNJQt9hiLZGE3J4zuTqE1OnU53miEVtylFbwOEmeA5OsRu90noZful+XGSQOni1aT2tiqu/9yYw==",
|
||||
"dev": true
|
||||
"version": "1.0.30001810",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001810.tgz",
|
||||
"integrity": "sha512-TITQPUkaz+aVk5GL6NhOdwk1aEaNTSDPsGFWrTuhKGtjTF70jL/Oht2W4c6rXUe5fu7Ie19VIahAXHIIiWWNeg==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/browserslist"
|
||||
},
|
||||
{
|
||||
"type": "tidelift",
|
||||
"url": "https://tidelift.com/funding/github/npm/caniuse-lite"
|
||||
},
|
||||
{
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/ai"
|
||||
}
|
||||
],
|
||||
"license": "CC-BY-4.0"
|
||||
},
|
||||
"node_modules/chalk": {
|
||||
"version": "1.1.3",
|
||||
|
||||
@@ -30,6 +30,8 @@ COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_DESCRIPTION="Beschreibung"
|
||||
COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_DESCRIPTION_DESC="Beschreibung, die unterhalb des Titels angezeigt wird (WICHTIG: Werden HTML-Tags verwendet, müssen auch Umlaute in HTML-Code angeben werden)"
|
||||
COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_CATEGORIES="Kategorien"
|
||||
COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_CATEGORIES_DESC="Eine optionale Auswahl von Kategorienummern durch Kommata oder Spiegelstrich getrennt"
|
||||
COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_EXTRA_PARAMS="Zusätzliche Parameter"
|
||||
COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_EXTRA_PARAMS_DESC="Optionale zusätzliche Parameter für den Link in der Form Name1=Wert1&Name2=Wert2, die bei Aufruf dieses Menüpunkts wie GET-Parameter zur Verfügung stehen"
|
||||
COM_SPORTSMANAGER_LAYOUT_ELO_RANKING_TITLE="Layout: Elo-Rangliste"
|
||||
COM_SPORTSMANAGER_LAYOUT_ELO_RANKING_DESC="Auflistung der Spieler sortiert nach Elo-Wertung"
|
||||
COM_SPORTSMANAGER_LAYOUT_ELO_RANKING_OPTION_ELO_RANKING="Elo-Rangliste"
|
||||
|
||||
@@ -30,6 +30,8 @@ COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_DESCRIPTION="Description"
|
||||
COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_DESCRIPTION_DESC="Description that will be shows below the titel (IMPORTANT: if html tags are used, special characters must be maskeraded)"
|
||||
COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_CATEGORIES="Categories"
|
||||
COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_CATEGORIES_DESC="An optional selection of category numbers seperated by commas or bullet point"
|
||||
COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_EXTRA_PARAMS="Additional parameters"
|
||||
COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_EXTRA_PARAMS_DESC="Optional additional parameters for the link in the form name1=value1&name2=value2, made available as GET parameters whenever this menu item is called"
|
||||
COM_SPORTSMANAGER_LAYOUT_ELO_RANKING_TITLE="Layout: elo ranking"
|
||||
COM_SPORTSMANAGER_LAYOUT_ELO_RANKING_DESC="Listing of players sorted by elo rating"
|
||||
COM_SPORTSMANAGER_LAYOUT_ELO_RANKING_OPTION_ELO_RANKING="Elo ranking"
|
||||
|
||||
@@ -166,6 +166,34 @@ function exportCSV(array $rows, string $dateiname): void
|
||||
exit;
|
||||
}
|
||||
|
||||
function exportJSON(array $rows, string $dateiname): void
|
||||
{
|
||||
if (empty($rows)) {
|
||||
// Keine Daten → Request hier beenden, damit der Aufrufer nicht in
|
||||
// nachfolgenden Code (z. B. einen CSV-Export mit undefiniertem $rows) durchläuft
|
||||
http_response_code(204);
|
||||
exit;
|
||||
}
|
||||
|
||||
// Dateiname absichern
|
||||
$dateiname = bereinigterDateiname($dateiname);
|
||||
|
||||
// Output Buffer nur beenden, wenn aktiv
|
||||
if (ob_get_level() > 0) {
|
||||
ob_end_clean();
|
||||
}
|
||||
|
||||
// JSON-Header für Browser
|
||||
header('Content-Type: application/json; charset=UTF-8');
|
||||
header('Content-Disposition: attachment; filename="' . $dateiname . '"; filename*=UTF-8\'\'' . rawurlencode($dateiname));
|
||||
header('Cache-Control: no-store, no-cache, must-revalidate');
|
||||
header('Pragma: no-cache');
|
||||
header('Expires: 0');
|
||||
|
||||
echo json_encode($rows, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);
|
||||
exit;
|
||||
}
|
||||
|
||||
function adminUebersicht(): void
|
||||
{
|
||||
$db = getDatabase();
|
||||
@@ -4012,6 +4040,7 @@ function adminEditSpielort(): void
|
||||
$telefon = $db->escape(trim($jInput->get('telefon', '', 'RAW')));
|
||||
$email = $db->escape(trim($jInput->get('email', '', 'RAW')));
|
||||
$ruhetage = $db->escape(trim($jInput->get('ruhetage', '', 'RAW')));
|
||||
$zusatzinfo = $db->escape(trim($jInput->get('zusatzinfo', '', 'RAW')));
|
||||
$beschreibung = $db->escape(trim($jInput->get('beschreibung', '', 'RAW')));
|
||||
$status = $jInput->get('status', 0, 'INT');
|
||||
|
||||
@@ -4020,8 +4049,8 @@ function adminEditSpielort(): void
|
||||
}
|
||||
|
||||
if ($id == 0) {
|
||||
$query = "INSERT INTO #__sportsmanager_spielort (name, strasse, plz, ortsname, ortsteil, url, telefon, email, ruhetage, beschreibung, status)"
|
||||
. "\n VALUES ('$name', '$strasse', '$plz', '$ortsname', '$ortsteil', '$url', '$telefon', '$email', '$ruhetage', '$beschreibung', '$status');";
|
||||
$query = "INSERT INTO #__sportsmanager_spielort (name, strasse, plz, ortsname, ortsteil, url, telefon, email, ruhetage, zusatzinfo, beschreibung, status)"
|
||||
. "\n VALUES ('$name', '$strasse', '$plz', '$ortsname', '$ortsteil', '$url', '$telefon', '$email', '$ruhetage', '$zusatzinfo', '$beschreibung', '$status');";
|
||||
$db->setQuery($query);
|
||||
if (!$db->execute()) {
|
||||
die($db->stderr(true));
|
||||
@@ -4038,6 +4067,7 @@ function adminEditSpielort(): void
|
||||
. "\n telefon = '$telefon',"
|
||||
. "\n email = '$email',"
|
||||
. "\n ruhetage = '$ruhetage',"
|
||||
. "\n zusatzinfo = '$zusatzinfo',"
|
||||
. "\n beschreibung = '$beschreibung',"
|
||||
. "\n status = '$status'"
|
||||
. "\n WHERE spielort_id = $id";
|
||||
@@ -7061,14 +7091,17 @@ function sendJoomlaMail(): void
|
||||
$mailer->isHtml(true);
|
||||
|
||||
// Senden
|
||||
try {
|
||||
$result = $mailer->send();
|
||||
|
||||
//return ($result === true) ? true : 'Fehler beim Versand: ' . $result->__toString();
|
||||
} catch (\Exception $e) {
|
||||
Log::add('Fehler beim Versenden der E-Mail: ' . $e->getMessage(), Log::WARNING, 'com_sportsmanager');
|
||||
$result = false;
|
||||
}
|
||||
|
||||
if ($result === true)
|
||||
redirectSportsManagerURL('&task=' . $back, Text::_('COM_SPORTSMANAGER_EMAIL_WAS_SEND'));
|
||||
else
|
||||
redirectSportsManagerURL('&task=' . $back, Text::_('COM_SPORTSMANAGER_EMAIL_WAS_NOT_SEND'));
|
||||
redirectSportsManagerURL('&task=' . $back, Text::_('COM_SPORTSMANAGER_EMAIL_WAS_NOT_SEND'), 'warning');
|
||||
}
|
||||
|
||||
function adminOrdnungsstrafen(): void
|
||||
@@ -7808,6 +7841,27 @@ function adminHalloffameMitglieder(): void
|
||||
if (count($rows) > 0){
|
||||
$mitglieder = [];
|
||||
if ($halloffame->spielform == 1){
|
||||
// team_id fuer alle Zeilen ohne verein_id in einer einzigen Abfrage ermitteln statt einer Query je Zeile
|
||||
$benoetigteTeamnamen = array();
|
||||
foreach ($rows as $row) {
|
||||
if (empty($row->verein_id))
|
||||
$benoetigteTeamnamen[(string) $row->teamname] = true;
|
||||
}
|
||||
$teamIdsByTeamname = array();
|
||||
if (count($benoetigteTeamnamen) > 0) {
|
||||
$subqueries = array();
|
||||
foreach (array_keys($benoetigteTeamnamen) as $teamname) {
|
||||
$subqueries[] = "(SELECT '" . $db->escape($teamname) . "' AS teamname, team_id"
|
||||
. " FROM #__sportsmanager_team"
|
||||
. " WHERE teamname LIKE '" . $db->escape($teamname) . "%'"
|
||||
. " ORDER BY team_id DESC LIMIT 1)";
|
||||
}
|
||||
$query = implode("\n UNION ALL\n", $subqueries);
|
||||
foreach (loadObjectList($db, $query) as $treffer) {
|
||||
$teamIdsByTeamname[$treffer->teamname] = $treffer->team_id;
|
||||
}
|
||||
}
|
||||
|
||||
foreach ($rows as $row) {
|
||||
$index_vereinid = "verein_id_" . $row->platz;
|
||||
$index_teamid = "team_id_" . $row->platz;
|
||||
@@ -7817,16 +7871,15 @@ function adminHalloffameMitglieder(): void
|
||||
}
|
||||
$mitglieder[$row->jahr]->jahr = $row->jahr;
|
||||
$mitglieder[$row->jahr]->$index_vereinid = $row->verein_id;
|
||||
$mitglieder[$row->jahr]->$index_team = $row->teamname;
|
||||
$mitglieder[$row->jahr]->$index_team = !empty($row->nicht_ausgespielt) ? Text::_('COM_SPORTSMANAGER_HALL_OF_FAME_NOT_HELD') : $row->teamname;
|
||||
if ($row->platz == 2 && !empty($row->teamname))
|
||||
$halloffame->platz2_zeigen = 1;
|
||||
if ($row->platz == 3 && !empty($row->teamname))
|
||||
$halloffame->platz3_zeigen = 1;
|
||||
|
||||
//Suche team_id wenn keine verein_id vorhanden
|
||||
//team_id wenn keine verein_id vorhanden
|
||||
if (empty($row->verein_id)){
|
||||
$query = "SELECT team_id FROM #__sportsmanager_team WHERE teamname LIKE '$row->teamname%' ORDER BY team_id DESC LIMIT 1;";
|
||||
$mitglieder[$row->jahr]->$index_teamid = loadResult($db, $query);
|
||||
$mitglieder[$row->jahr]->$index_teamid = $teamIdsByTeamname[(string) $row->teamname] ?? null;
|
||||
} else {
|
||||
$mitglieder[$row->jahr]->$index_teamid = "";
|
||||
}
|
||||
@@ -7844,7 +7897,7 @@ function adminHalloffameMitglieder(): void
|
||||
}
|
||||
$mitglieder[$row->jahr]->jahr = $row->jahr;
|
||||
$mitglieder[$row->jahr]->$index_spieler1id = $row->spieler1_id;
|
||||
$mitglieder[$row->jahr]->$index_spieler1 = $row->spieler1;
|
||||
$mitglieder[$row->jahr]->$index_spieler1 = !empty($row->nicht_ausgespielt) ? Text::_('COM_SPORTSMANAGER_HALL_OF_FAME_NOT_HELD') : $row->spieler1;
|
||||
$mitglieder[$row->jahr]->$index_spieler2id = $row->spieler2_id;
|
||||
$mitglieder[$row->jahr]->$index_spieler2 = $row->spieler2;
|
||||
if ($row->platz == 2 && (!empty($row->spieler1) || !empty($row->spieler2)))
|
||||
@@ -7877,15 +7930,19 @@ function adminEditHalloffameMitglied(): void
|
||||
}
|
||||
$halloffame = $rows[0];
|
||||
|
||||
$query = "SELECT verein_id, vereinsname As verein"
|
||||
$vereine = array();
|
||||
$spieler = array();
|
||||
if ($halloffame->spielform == 1) {
|
||||
$query = "SELECT verein_id, vereinsname As verein, ausgetreten"
|
||||
. "\n FROM #__sportsmanager_verein"
|
||||
. "\n ORDER BY vereinsname";
|
||||
$vereine = loadObjectList($db, $query);
|
||||
|
||||
} else {
|
||||
$query = "SELECT spieler_id, CONCAT(nachname, ', ', vorname, ' (', spielernr, ')') AS spieler"
|
||||
. "\n FROM #__sportsmanager_spieler"
|
||||
. "\n ORDER BY nachname, vorname, spielernr";
|
||||
$spieler = loadObjectList($db, $query);
|
||||
}
|
||||
|
||||
$query = "SELECT t2.*, t1.halloffame"
|
||||
. "\n FROM #__sportsmanager_halloffame t1"
|
||||
@@ -7901,9 +7958,13 @@ function adminEditHalloffameMitglied(): void
|
||||
foreach ($rows as $row) {
|
||||
$index_vereinid = "verein_id_" . $row->platz;
|
||||
$index_team = "teamname_" . $row->platz;
|
||||
$index_teamspieler = "teamspieler_" . $row->platz;
|
||||
$mitglieder->jahr = $row->jahr;
|
||||
$mitglieder->$index_vereinid = $row->verein_id;
|
||||
$mitglieder->$index_team = $row->teamname;
|
||||
$mitglieder->$index_teamspieler = $row->teamspieler;
|
||||
if ($row->platz == 1)
|
||||
$mitglieder->nicht_ausgespielt = $row->nicht_ausgespielt;
|
||||
}
|
||||
}
|
||||
if ($halloffame->spielform == 2 || $halloffame->spielform == 3){
|
||||
@@ -7918,6 +7979,8 @@ function adminEditHalloffameMitglied(): void
|
||||
$mitglieder->$index_spieler1 = $row->spieler1;
|
||||
$mitglieder->$index_spieler2id = $row->spieler2_id;
|
||||
$mitglieder->$index_spieler2 = $row->spieler2;
|
||||
if ($row->platz == 1)
|
||||
$mitglieder->nicht_ausgespielt = $row->nicht_ausgespielt;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -7961,14 +8024,41 @@ function adminEditHalloffameMitglied(): void
|
||||
$halloffame_id = $jInput->get('halloffame_id', 0, 'INT');
|
||||
$spielform = $jInput->get('spielform', 0, 'INT');
|
||||
$jahr = $jInput->get('jahr', 0, 'INT');
|
||||
$nicht_ausgespielt = $jInput->get('nicht_ausgespielt', false, 'BOOL');
|
||||
|
||||
if ($jInput->get('cancel', false, 'BOOL'))
|
||||
redirectSportsManagerURL('&task=admin_halloffame_mitglieder&id=' . $halloffame_id);
|
||||
|
||||
if ($nicht_ausgespielt) {
|
||||
$query = "DELETE FROM #__sportsmanager_mitglied_von_halloffame"
|
||||
. "\n WHERE halloffame_id = $halloffame_id"
|
||||
. "\n AND jahr = $jahr"
|
||||
. "\n AND platz > 1";
|
||||
$db->setQuery($query);
|
||||
if (!$db->execute()) {
|
||||
die($db->stderr(true));
|
||||
}
|
||||
|
||||
$query = "INSERT INTO #__sportsmanager_mitglied_von_halloffame"
|
||||
. "\n (halloffame_id,jahr,platz,nicht_ausgespielt) VALUES"
|
||||
. "\n ($halloffame_id,$jahr,1,1)"
|
||||
. "\n ON DUPLICATE KEY UPDATE"
|
||||
. "\n nicht_ausgespielt = 1,"
|
||||
. "\n verein_id = NULL, teamname = NULL, teamspieler = NULL,"
|
||||
. "\n spieler1_id = NULL, spieler1 = NULL, spieler2_id = NULL, spieler2 = NULL;";
|
||||
$db->setQuery($query);
|
||||
if (!$db->execute()) {
|
||||
die($db->stderr(true));
|
||||
}
|
||||
|
||||
redirectSportsManagerURL('&task=admin_halloffame_mitglieder&id=' . $halloffame_id);
|
||||
}
|
||||
|
||||
if ($spielform == 1){
|
||||
for ($p = 1; $p <= 3; $p++){
|
||||
$verein_id[$p] = $jInput->get('verein_id_' . $p, 0, 'INT');
|
||||
$teamname[$p] = $db->escape(trim($jInput->get('teamname_' . $p, '', 'RAW')));
|
||||
$teamspieler[$p] = $db->escape(trim($jInput->get('teamspieler_' . $p, '', 'RAW')));
|
||||
if (empty($teamname[$p]) && !empty($verein_id[$p])){
|
||||
$query = "SELECT vereinsname FROM #__sportsmanager_verein WHERE verein_id = '" . $verein_id[$p] . "';";
|
||||
$verein = loadObjectList($db, $query);
|
||||
@@ -7976,10 +8066,12 @@ function adminEditHalloffameMitglied(): void
|
||||
}
|
||||
if (!empty($teamname[$p])){
|
||||
$query = "INSERT INTO #__sportsmanager_mitglied_von_halloffame"
|
||||
. "\n (halloffame_id,jahr,platz,verein_id,teamname) VALUES"
|
||||
. "\n ($halloffame_id,$jahr,$p," . (($verein_id[$p] != 0) ? $verein_id[$p] : 'NULL') . ",'" . $teamname[$p] . "')"
|
||||
. "\n (halloffame_id,jahr,platz,verein_id,teamname,teamspieler,nicht_ausgespielt) VALUES"
|
||||
. "\n ($halloffame_id,$jahr,$p," . (($verein_id[$p] != 0) ? $verein_id[$p] : 'NULL') . ",'" . $teamname[$p] . "','" . $teamspieler[$p] . "',0)"
|
||||
. "\n ON DUPLICATE KEY UPDATE verein_id = " . (($verein_id[$p] != 0) ? $verein_id[$p] : 'NULL') . ","
|
||||
. "\n teamname = '" . $teamname[$p] . "';";
|
||||
. "\n teamname = '" . $teamname[$p] . "',"
|
||||
. "\n teamspieler = '" . $teamspieler[$p] . "',"
|
||||
. "\n nicht_ausgespielt = 0;";
|
||||
|
||||
} else {
|
||||
$query = "DELETE FROM #__sportsmanager_mitglied_von_halloffame"
|
||||
@@ -8016,13 +8108,14 @@ function adminEditHalloffameMitglied(): void
|
||||
}
|
||||
if (!empty($spieler1[$p])){
|
||||
$query = "INSERT INTO #__sportsmanager_mitglied_von_halloffame"
|
||||
. "\n (halloffame_id,jahr,platz,spieler1_id,spieler1,spieler2_id,spieler2) VALUES"
|
||||
. "\n ($halloffame_id,$jahr,$p," . (($spieler1_id[$p] != 0) ? $spieler1_id[$p] : 'NULL') . ",'" . $spieler1[$p] . "'," . (($spieler2_id[$p] != 0) ? $spieler2_id[$p] : 'NULL') . ",'" . $spieler2[$p] . "')"
|
||||
. "\n (halloffame_id,jahr,platz,spieler1_id,spieler1,spieler2_id,spieler2,nicht_ausgespielt) VALUES"
|
||||
. "\n ($halloffame_id,$jahr,$p," . (($spieler1_id[$p] != 0) ? $spieler1_id[$p] : 'NULL') . ",'" . $spieler1[$p] . "'," . (($spieler2_id[$p] != 0) ? $spieler2_id[$p] : 'NULL') . ",'" . $spieler2[$p] . "',0)"
|
||||
. "\n ON DUPLICATE KEY UPDATE"
|
||||
. "\n spieler1_id = " . (($spieler1_id[$p] != 0) ? $spieler1_id[$p] : 'NULL') . ","
|
||||
. "\n spieler1 = '" . $spieler1[$p] . "',"
|
||||
. "\n spieler2_id = " . (($spieler2_id[$p] != 0) ? $spieler2_id[$p] : 'NULL') . ","
|
||||
. "\n spieler2 = '" . $spieler2[$p] . "';";
|
||||
. "\n spieler2 = '" . $spieler2[$p] . "',"
|
||||
. "\n nicht_ausgespielt = 0;";
|
||||
} else {
|
||||
$query = "DELETE FROM #__sportsmanager_mitglied_von_halloffame"
|
||||
. "\n WHERE halloffame_id = $halloffame_id"
|
||||
@@ -11092,6 +11185,7 @@ function adminSaveBegegnungSpielplan(): void
|
||||
$gast_team = $rows[0];
|
||||
}
|
||||
|
||||
$mail_fehler = '';
|
||||
if ($bestaetigen != 0 && !$zwischenergebnis) {
|
||||
$mailfrom = $app->getCfg('mailfrom');
|
||||
$fromname = $app->getCfg('fromname');
|
||||
@@ -11108,7 +11202,12 @@ function adminSaveBegegnungSpielplan(): void
|
||||
foreach ($rows as $row) {
|
||||
$mailer->addBcc($row->email);
|
||||
}
|
||||
try {
|
||||
$mailer->send();
|
||||
} catch (\Exception $e) {
|
||||
Log::add('Fehler beim Versenden der Ergebnis-Mail: ' . $e->getMessage(), Log::WARNING, 'com_sportsmanager');
|
||||
$mail_fehler = Text::_('COM_SPORTSMANAGER_MAIL_SEND_ERROR');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11130,19 +11229,19 @@ function adminSaveBegegnungSpielplan(): void
|
||||
begegnungSpielplan();
|
||||
} else {
|
||||
if ($erneut_oeffnen) {
|
||||
redirectSportsManagerURL('&task=' . ($bestaetigen != 0 ? ($bestaetigen == 1 ? 'admin_begegnung_spielplan_edit_bestaetigen' : 'pineingabe') : 'admin_begegnung_spielplan_edit') . '&id=' . $id . '&veranstaltungid=' . $veranstaltungId . ($bestaetigen != 0 ? '_bestaetigen' : '') . '&veranstaltungid=' . $veranstaltungId . '&id=' . $id . '&erneut_oeffnen=1' . (!empty($encrypted_pin) ? ('&epin=' . $encrypted_pin) : "") . ($aus_uebersicht ? '&aus_uebersicht=1' : ''));
|
||||
redirectSportsManagerURL('&task=' . ($bestaetigen != 0 ? ($bestaetigen == 1 ? 'admin_begegnung_spielplan_edit_bestaetigen' : 'pineingabe') : 'admin_begegnung_spielplan_edit') . '&id=' . $id . '&veranstaltungid=' . $veranstaltungId . ($bestaetigen != 0 ? '_bestaetigen' : '') . '&veranstaltungid=' . $veranstaltungId . '&id=' . $id . '&erneut_oeffnen=1' . (!empty($encrypted_pin) ? ('&epin=' . $encrypted_pin) : "") . ($aus_uebersicht ? '&aus_uebersicht=1' : ''), $mail_fehler, 'warning');
|
||||
} else if ($bestaetigen == 1) {
|
||||
if ($aus_uebersicht)
|
||||
redirectSportsManagerURL('#id' . $id);
|
||||
redirectSportsManagerURL('#id' . $id, $mail_fehler, 'warning');
|
||||
else
|
||||
redirectSportsManagerURL('&task=veranstaltung&veranstaltungid=' . $veranstaltungId . '#id' . $id);
|
||||
redirectSportsManagerURL('&task=veranstaltung&veranstaltungid=' . $veranstaltungId . '#id' . $id, $mail_fehler, 'warning');
|
||||
} else if ($bestaetigen == 2) {
|
||||
if ($aus_uebersicht)
|
||||
redirectSportsManagerURL();
|
||||
redirectSportsManagerURL(NULL, $mail_fehler, 'warning');
|
||||
else
|
||||
redirectSportsManagerURL('&task=veranstaltung&veranstaltungid=' . $veranstaltungId);
|
||||
redirectSportsManagerURL('&task=veranstaltung&veranstaltungid=' . $veranstaltungId, $mail_fehler, 'warning');
|
||||
} else {
|
||||
redirectSportsManagerURL('&task=admin_begegnungen&veranstaltungid=' . $veranstaltungId . '#id' . $id);
|
||||
redirectSportsManagerURL('&task=admin_begegnungen&veranstaltungid=' . $veranstaltungId . '#id' . $id, $mail_fehler, 'warning');
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -11463,6 +11562,7 @@ function adminBegegnungSpielplanBestaetigen(): void
|
||||
$subject = $heim_team->teamname . " vs. " . $gast_team->teamname . ": Ergebnis akzeptiert";
|
||||
$body = "Zur Begegnung " . $heim_team->teamname . " gegen " . $gast_team->teamname . " am " . FormatiertesDatum($begegnung->zeitpunkt) . " in der " . $veranstaltung->bezeichnung . " wurde von " . ($aktion_team_id == $heim_team->team_id ? $heim_team->teamname : $gast_team->teamname) . " das Ergebnis akzeptiert.";
|
||||
|
||||
$mail_fehler = '';
|
||||
$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 . ")";
|
||||
$rows = loadObjectList($db, $query);
|
||||
if(!empty($rows)) {
|
||||
@@ -11473,16 +11573,21 @@ function adminBegegnungSpielplanBestaetigen(): void
|
||||
foreach ($rows as $row) {
|
||||
$mailer->addBcc($row->email);
|
||||
}
|
||||
try {
|
||||
$mailer->send();
|
||||
} catch (\Exception $e) {
|
||||
Log::add('Fehler beim Versenden der Ergebnis-Mail: ' . $e->getMessage(), Log::WARNING, 'com_sportsmanager');
|
||||
$mail_fehler = Text::_('COM_SPORTSMANAGER_MAIL_SEND_ERROR');
|
||||
}
|
||||
}
|
||||
|
||||
if (isJson()) {
|
||||
begegnungSpielplan();
|
||||
} else {
|
||||
if ($aus_uebersicht) {
|
||||
redirectSportsManagerURL('#id' . $id);
|
||||
redirectSportsManagerURL('#id' . $id, $mail_fehler, 'warning');
|
||||
} else {
|
||||
redirectSportsManagerURL('&task=veranstaltung&veranstaltungid=' . $veranstaltungId . '#id' . $id);
|
||||
redirectSportsManagerURL('&task=veranstaltung&veranstaltungid=' . $veranstaltungId . '#id' . $id, $mail_fehler, 'warning');
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -12954,243 +13059,8 @@ function adminBegegnungenExportForm(): void
|
||||
HTML_sportsmanager_admin::adminBegegnungenExport($veranstaltung,$saison);
|
||||
}
|
||||
|
||||
#[NoReturn] function adminBegegnungenExport(): void
|
||||
function sportsmanagerExportErmittleTeams($db, int $veranstaltungId): array
|
||||
{
|
||||
$db = getDatabase();
|
||||
$jInput = Factory::getContainer()->get(SiteApplication::class)->input;
|
||||
|
||||
$veranstaltungId = $jInput->get('veranstaltungId', 0, 'INT');
|
||||
$export = $jInput->get('export', '', 'RAW');
|
||||
|
||||
if ($veranstaltungId == 0) die("Missing id!");
|
||||
|
||||
if (!benutzerZugriff("mannschaftswettbewerb_aendern") && !benutzerVeranstaltungModerator($veranstaltungId))
|
||||
keinZugriff();
|
||||
|
||||
// Veranstaltung ermitteln
|
||||
$query = "SELECT * FROM #__sportsmanager_veranstaltung WHERE veranstaltung_id = $veranstaltungId";
|
||||
|
||||
$rows = loadObjectList($db, $query);
|
||||
if (count($rows) < 1) die("Wrong id!");
|
||||
$veranstaltung = $rows[0];
|
||||
|
||||
if ($jInput->get('cancel', false, 'BOOL')) {
|
||||
redirectSportsManagerURL('&task=admin_begegnungen&veranstaltungid=' . $veranstaltungId);
|
||||
}
|
||||
|
||||
unset($rows);
|
||||
|
||||
$dateiname = "";
|
||||
if ($export == "spieler") {
|
||||
$query = "
|
||||
SELECT t5.bezeichnung AS Veranstaltung, t2.vereinsname AS Verein, t1.teamname AS Team, t4.spielernr AS Passnummer,
|
||||
t4.nachname AS Nachname, t4.vorname AS Vorname, t4.geburtsjahr AS Geburtsjahr, LOWER(LEFT(geschlecht, 1)) AS Geschlecht,
|
||||
t6.saisonbezeichnung AS Saison, t3.erster_spieltag AS Spielberechtigt_von, t3.letzter_spieltag AS Spielberechtigt_bis
|
||||
FROM #__sportsmanager_team AS t1
|
||||
LEFT JOIN #__sportsmanager_veranstaltung AS t5 ON t1.veranstaltung_id = t5.veranstaltung_id
|
||||
LEFT JOIN #__sportsmanager_verein AS t2 ON t1.verein_id = t2.verein_id
|
||||
LEFT JOIN #__sportsmanager_mitglied_von_team AS t3 ON t1.team_id = t3.team_id
|
||||
LEFT JOIN #__sportsmanager_spieler AS t4 ON t3.spieler_id = t4.spieler_id
|
||||
LEFT JOIN #__sportsmanager_saison AS t6 ON t5.saison_id = t6.saison_id
|
||||
WHERE t1.veranstaltung_id = " . $veranstaltungId . ";
|
||||
";
|
||||
|
||||
$rows = loadObjectList($db, $query);
|
||||
if (!isset($rows) or count($rows) == 0) {
|
||||
redirectSportsManagerURL('&task=admin_begegnungen&veranstaltungid=1', "Zu dieser Auswahl sind keine Daten vorhanden!");
|
||||
}
|
||||
$dateiname = "Spieler " . $veranstaltung->bezeichnung;
|
||||
}
|
||||
|
||||
if ($export == "spielplan" or $export == "spielberichte") {
|
||||
$query = "
|
||||
SELECT t1.begegnung_id AS ID, ";
|
||||
if (einstellungswert("verbands_kuerzel") == "STFV"){
|
||||
$query .= "
|
||||
CONCAT(t5.saisonbezeichnung,LPAD(t4.kategorie,2,'0'),LPAD(t1.spieltag,2,'0'),LPAD(IFNULL(t1.spiel_nr, '0'),2,'0')) AS stfv_id, ";
|
||||
}
|
||||
$query .= "
|
||||
t5.saisonbezeichnung AS Saison,
|
||||
t4.bezeichnung AS Liga, t1.spieltag AS Spieltag_Nr, t1.spiel_nr AS Spiel_Nr,
|
||||
t1.zeitpunkt AS Spielstart, '' AS verlegt_auf, t2.teamname AS Heim, t3.teamname AS Gast,
|
||||
t1.heim_punkte AS Heim_Tore, t1.gast_punkte AS Gast_Tore,
|
||||
t1.heim_spielpunkte AS Heim_Satzpunkte, t1.gast_spielpunkte AS Gast_Satzpunkte
|
||||
FROM #__sportsmanager_begegnung AS t1
|
||||
LEFT JOIN #__sportsmanager_team AS t2 ON t1.heim_team_id = t2.team_id
|
||||
LEFT JOIN #__sportsmanager_team AS t3 ON t1.gast_team_id = t3.team_id
|
||||
LEFT JOIN #__sportsmanager_veranstaltung AS t4 ON t2.veranstaltung_id = t4.veranstaltung_id
|
||||
LEFT JOIN #__sportsmanager_saison AS t5 ON t4.saison_id = t5.saison_id
|
||||
WHERE t4.veranstaltung_id = " . $veranstaltungId . "
|
||||
ORDER BY t4.veranstaltung_id, t1.spieltag, t1.spiel_nr, t1.zeitpunkt;
|
||||
";
|
||||
$rows = loadObjectList($db, $query);
|
||||
|
||||
// Spielverlegungen
|
||||
foreach ($rows as $value) {
|
||||
|
||||
$beantragt = [];
|
||||
$genehmigt = [];
|
||||
|
||||
// Spielverlegung vorgeschlagen
|
||||
$query = "
|
||||
SELECT t1.zeitpunkt AS Termin_alt
|
||||
FROM #__sportsmanager_begegnung_historie AS t1
|
||||
WHERE begegnung_id = " . $value->ID . "
|
||||
AND aktion IN (2)
|
||||
ORDER BY eingetragen ASC LIMIT 1;
|
||||
";
|
||||
$beantragt = loadObjectList($db, $query);
|
||||
if (!empty($beantragt))
|
||||
$value->Spielstart = $beantragt[0]->Termin_alt;
|
||||
|
||||
// Spielverlegung vorgeschlagen
|
||||
$query = "
|
||||
SELECT t1.zeitpunkt AS Termin_neu
|
||||
FROM #__sportsmanager_begegnung_historie AS t1
|
||||
WHERE begegnung_id = " . $value->ID . "
|
||||
AND aktion IN (1)
|
||||
ORDER BY eingetragen DESC LIMIT 1;
|
||||
";
|
||||
$genehmigt = loadObjectList($db, $query);
|
||||
if (!empty($genehmigt))
|
||||
$value->verlegt_auf = $genehmigt[0]->Termin_neu;
|
||||
}
|
||||
$dateiname = "Spielplan " . $veranstaltung->bezeichnung;
|
||||
|
||||
if (!isset($rows) or count($rows) == 0) {
|
||||
redirectSportsManagerURL('&task=admin_begegnungen&veranstaltungid=1', "Zu dieser Auswahl sind keine Daten vorhanden!");
|
||||
}
|
||||
}
|
||||
|
||||
if ($export == "spielberichte") {
|
||||
// Modus ermitteln
|
||||
$query = "
|
||||
SELECT t2.* FROM #__sportsmanager_veranstaltung AS t1
|
||||
LEFT JOIN #__sportsmanager_teamspiel_modus AS t2 ON t1.modus_id = t2.teamspiel_modus_id
|
||||
WHERE t1.veranstaltung_id = " . $veranstaltungId . "
|
||||
";
|
||||
|
||||
$spielmodus = loadObjectList($db, $query);
|
||||
$Anzahl_Saetze = count(explode(",", $spielmodus[0]->modus));
|
||||
|
||||
|
||||
foreach ($rows as $value) {
|
||||
|
||||
$Bestaetigt = [];
|
||||
$Bestaetigt = [];
|
||||
$Moderator = [];
|
||||
$value->vorgeschlagen_um = "";
|
||||
$value->vorgeschlagen_von = "";
|
||||
$value->bestaetigt_um = "";
|
||||
$value->bestaetigt_von = "";
|
||||
$value->moderator_um = "";
|
||||
$value->moderator_von = "";
|
||||
|
||||
// Endergebnis vorgeschlagen
|
||||
$query = "
|
||||
SELECT t1.eingetragen AS gespeichert_um,
|
||||
t2.name AS gespeichert_von_user,
|
||||
t3.teamname AS gespeichert_von_team
|
||||
FROM #__sportsmanager_begegnung_historie AS t1
|
||||
LEFT JOIN #__users AS t2 ON t1.user_id = t2.id
|
||||
LEFT JOIN #__sportsmanager_team AS t3 ON t1.team_id = t3.team_id
|
||||
WHERE begegnung_id = " . $value->ID . "
|
||||
AND aktion IN (6)
|
||||
ORDER BY eingetragen DESC LIMIT 1;
|
||||
";
|
||||
$Vorgeschlagen = loadObjectList($db, $query);
|
||||
if (!empty($Vorgeschlagen)) {
|
||||
$value->vorgeschlagen_um = $Vorgeschlagen[0]->gespeichert_um;
|
||||
if (!empty($Vorgeschlagen[0]->gespeichert_von_user))
|
||||
$value->vorgeschlagen_von = $Vorgeschlagen[0]->gespeichert_von_user;
|
||||
if (!empty($Vorgeschlagen[0]->gespeichert_von_team))
|
||||
$value->vorgeschlagen_von = $Vorgeschlagen[0]->gespeichert_von_team;
|
||||
}
|
||||
|
||||
// Endergebnis bestätigen Gegner
|
||||
$query = "
|
||||
SELECT t1.eingetragen AS gespeichert_um,
|
||||
t2.name AS gespeichert_von_user,
|
||||
t3.teamname AS gespeichert_von_team
|
||||
FROM #__sportsmanager_begegnung_historie AS t1
|
||||
LEFT JOIN #__users AS t2 ON t1.user_id = t2.id
|
||||
LEFT JOIN #__sportsmanager_team AS t3 ON t1.team_id = t3.team_id
|
||||
WHERE begegnung_id = " . $value->ID . "
|
||||
AND aktion IN (7)
|
||||
ORDER BY eingetragen DESC LIMIT 1;
|
||||
";
|
||||
$Bestaetigt = loadObjectList($db, $query);
|
||||
if (!empty($Bestaetigt)) {
|
||||
$value->bestaetigt_um = $Bestaetigt[0]->gespeichert_um;
|
||||
if (!empty($Bestaetigt[0]->gespeichert_von_user))
|
||||
$value->bestaetigt_von = $Bestaetigt[0]->gespeichert_von_user;
|
||||
if (!empty($Bestaetigt[0]->gespeichert_von_team))
|
||||
$value->bestaetigt_von = $Bestaetigt[0]->gespeichert_von_team;
|
||||
}
|
||||
|
||||
// Endergebnis bestätigen Moderator
|
||||
$query = "
|
||||
SELECT t1.eingetragen AS gespeichert_um,
|
||||
t2.name AS gespeichert_von_user,
|
||||
t3.teamname AS gespeichert_von_team
|
||||
FROM #__sportsmanager_begegnung_historie AS t1
|
||||
LEFT JOIN #__users AS t2 ON t1.user_id = t2.id
|
||||
LEFT JOIN #__sportsmanager_team AS t3 ON t1.team_id = t3.team_id
|
||||
WHERE begegnung_id = " . $value->ID . "
|
||||
AND aktion IN (8)
|
||||
ORDER BY eingetragen DESC LIMIT 1;
|
||||
";
|
||||
$Moderator = loadObjectList($db, $query);
|
||||
if (!empty($Moderator)) {
|
||||
$value->moderator_um = $Moderator[0]->gespeichert_um;
|
||||
if (!empty($Moderator[0]->gespeichert_von_user))
|
||||
$value->moderator_von = $Moderator[0]->gespeichert_von_user;
|
||||
if (!empty($Moderator[0]->gespeichert_von_team))
|
||||
$value->moderator_von = $Moderator[0]->gespeichert_von_team;
|
||||
}
|
||||
|
||||
// Spielbericht
|
||||
$query = "
|
||||
SELECT
|
||||
t1.teamspiel_nummer AS Satz_Nr,
|
||||
t3.spielernr AS Pass_Heim1, t4.spielernr AS Pass_Heim2,
|
||||
t5.spielernr AS Pass_Gast1, t6.spielernr AS Pass_Gast2,
|
||||
t1.teamspiel_heim_punkte AS Heim_Tore, t1.teamspiel_gast_punkte AS Gast_Tore,
|
||||
t1.teamspiel_heim_spielpunkte AS Heim_Punkte, t1.teamspiel_gast_spielpunkte AS Gast_Punkte
|
||||
FROM #__sportsmanager_teamspiel AS t1
|
||||
LEFT JOIN #__sportsmanager_begegnung AS t2 ON t1.begegnung_id = t2.begegnung_id
|
||||
LEFT JOIN #__sportsmanager_spieler AS t3 ON t1.heim_spieler_1_id = t3.spieler_id
|
||||
LEFT JOIN #__sportsmanager_spieler AS t4 ON t1.heim_spieler_2_id = t4.spieler_id
|
||||
LEFT JOIN #__sportsmanager_spieler AS t5 ON t1.gast_spieler_1_id = t5.spieler_id
|
||||
LEFT JOIN #__sportsmanager_spieler AS t6 ON t1.gast_spieler_2_id = t6.spieler_id
|
||||
WHERE t1.begegnung_id = " . $value->ID . "
|
||||
ORDER BY t1.teamspiel_nummer;
|
||||
";
|
||||
|
||||
$spielbericht = loadObjectList($db, $query);
|
||||
for ($i = 1; $i <= $Anzahl_Saetze; $i++) {
|
||||
$variable = "S" . $i . "_Pass_Heim1";
|
||||
$value->$variable = $spielbericht[$i - 1]->Pass_Heim1;
|
||||
$variable = "S" . $i . "_Pass_Heim2";
|
||||
$value->$variable = $spielbericht[$i - 1]->Pass_Heim2;
|
||||
$variable = "S" . $i . "_Pass_Gast1";
|
||||
$value->$variable = $spielbericht[$i - 1]->Pass_Gast1;
|
||||
$variable = "S" . $i . "_Pass_Gast2";
|
||||
$value->$variable = $spielbericht[$i - 1]->Pass_Gast2;
|
||||
$variable = "S" . $i . "_Heim_Tore";
|
||||
$value->$variable = $spielbericht[$i - 1]->Heim_Tore;
|
||||
$variable = "S" . $i . "_Gast_Tore";
|
||||
$value->$variable = $spielbericht[$i - 1]->Gast_Tore;
|
||||
$variable = "S" . $i . "_Heim_Punkte";
|
||||
$value->$variable = $spielbericht[$i - 1]->Heim_Punkte;
|
||||
$variable = "S" . $i . "_Gast_Punkte";
|
||||
$value->$variable = $spielbericht[$i - 1]->Gast_Punkte;
|
||||
}
|
||||
}
|
||||
$dateiname = "Spielberichte " . $veranstaltung->bezeichnung;
|
||||
}
|
||||
|
||||
if ($export == "teams") {
|
||||
$query = "SELECT t2.verein_id, t2.vereinsname AS Verein, t2.vereinssitz AS Vereinssitz,"
|
||||
. "\n t2.vereinssitz_ortsteil AS Vereinssitz_Ortsteil, t2.url AS Vereinswebseite,"
|
||||
. "\n t1.team_id, t1.teamname AS Team, t3.bezeichnung AS Liga, t1.tischtyp AS Tisch,"
|
||||
@@ -13204,9 +13074,6 @@ function adminBegegnungenExportForm(): void
|
||||
. "\n WHERE t1.veranstaltung_id = " . $veranstaltungId . ";";
|
||||
|
||||
$rows = loadObjectList($db, $query);
|
||||
if (!isset($rows) or count($rows) == 0) {
|
||||
redirectSportsManagerURL('&task=admin_begegnungen&veranstaltungid=1', "Zu dieser Auswahl sind keine Daten vorhanden!");
|
||||
}
|
||||
|
||||
foreach ($rows AS $value)
|
||||
{
|
||||
@@ -13270,6 +13137,262 @@ function adminBegegnungenExportForm(): void
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $rows;
|
||||
}
|
||||
|
||||
function sportsmanagerExportErmittleSpieler($db, int $veranstaltungId): array
|
||||
{
|
||||
$query = "
|
||||
SELECT t5.bezeichnung AS Veranstaltung, t2.vereinsname AS Verein, t1.teamname AS Team, t4.spielernr AS Passnummer,
|
||||
t4.nachname AS Nachname, t4.vorname AS Vorname, t4.geburtsjahr AS Geburtsjahr, LOWER(LEFT(geschlecht, 1)) AS Geschlecht,
|
||||
t6.saisonbezeichnung AS Saison, t3.erster_spieltag AS Spielberechtigt_von, t3.letzter_spieltag AS Spielberechtigt_bis
|
||||
FROM #__sportsmanager_team AS t1
|
||||
LEFT JOIN #__sportsmanager_veranstaltung AS t5 ON t1.veranstaltung_id = t5.veranstaltung_id
|
||||
LEFT JOIN #__sportsmanager_verein AS t2 ON t1.verein_id = t2.verein_id
|
||||
LEFT JOIN #__sportsmanager_mitglied_von_team AS t3 ON t1.team_id = t3.team_id
|
||||
LEFT JOIN #__sportsmanager_spieler AS t4 ON t3.spieler_id = t4.spieler_id
|
||||
LEFT JOIN #__sportsmanager_saison AS t6 ON t5.saison_id = t6.saison_id
|
||||
WHERE t1.veranstaltung_id = " . $veranstaltungId . ";
|
||||
";
|
||||
|
||||
return loadObjectList($db, $query);
|
||||
}
|
||||
|
||||
function sportsmanagerExportErmittleSpielplan($db, int $veranstaltungId): array
|
||||
{
|
||||
$query = "
|
||||
SELECT t1.begegnung_id AS ID, ";
|
||||
if (einstellungswert("verbands_kuerzel") == "STFV"){
|
||||
$query .= "
|
||||
CONCAT(t5.saisonbezeichnung,LPAD(t4.kategorie,2,'0'),LPAD(t1.spieltag,2,'0'),LPAD(IFNULL(t1.spiel_nr, '0'),2,'0')) AS stfv_id, ";
|
||||
}
|
||||
$query .= "
|
||||
t5.saisonbezeichnung AS Saison,
|
||||
t4.bezeichnung AS Liga, t1.spieltag AS Spieltag_Nr, t1.spiel_nr AS Spiel_Nr,
|
||||
t1.zeitpunkt AS Spielstart, '' AS verlegt_auf, t2.teamname AS Heim, t3.teamname AS Gast,
|
||||
t1.heim_punkte AS Heim_Tore, t1.gast_punkte AS Gast_Tore,
|
||||
t1.heim_spielpunkte AS Heim_Satzpunkte, t1.gast_spielpunkte AS Gast_Satzpunkte
|
||||
FROM #__sportsmanager_begegnung AS t1
|
||||
LEFT JOIN #__sportsmanager_team AS t2 ON t1.heim_team_id = t2.team_id
|
||||
LEFT JOIN #__sportsmanager_team AS t3 ON t1.gast_team_id = t3.team_id
|
||||
LEFT JOIN #__sportsmanager_veranstaltung AS t4 ON t2.veranstaltung_id = t4.veranstaltung_id
|
||||
LEFT JOIN #__sportsmanager_saison AS t5 ON t4.saison_id = t5.saison_id
|
||||
WHERE t4.veranstaltung_id = " . $veranstaltungId . "
|
||||
ORDER BY t4.veranstaltung_id, t1.spieltag, t1.spiel_nr, t1.zeitpunkt;
|
||||
";
|
||||
$rows = loadObjectList($db, $query);
|
||||
|
||||
// Spielverlegungen
|
||||
foreach ($rows as $value) {
|
||||
|
||||
$beantragt = [];
|
||||
$genehmigt = [];
|
||||
|
||||
// Spielverlegung vorgeschlagen
|
||||
$query = "
|
||||
SELECT t1.zeitpunkt AS Termin_alt
|
||||
FROM #__sportsmanager_begegnung_historie AS t1
|
||||
WHERE begegnung_id = " . $value->ID . "
|
||||
AND aktion IN (2)
|
||||
ORDER BY eingetragen ASC LIMIT 1;
|
||||
";
|
||||
$beantragt = loadObjectList($db, $query);
|
||||
if (!empty($beantragt))
|
||||
$value->Spielstart = $beantragt[0]->Termin_alt;
|
||||
|
||||
// Spielverlegung vorgeschlagen
|
||||
$query = "
|
||||
SELECT t1.zeitpunkt AS Termin_neu
|
||||
FROM #__sportsmanager_begegnung_historie AS t1
|
||||
WHERE begegnung_id = " . $value->ID . "
|
||||
AND aktion IN (1)
|
||||
ORDER BY eingetragen DESC LIMIT 1;
|
||||
";
|
||||
$genehmigt = loadObjectList($db, $query);
|
||||
if (!empty($genehmigt))
|
||||
$value->verlegt_auf = $genehmigt[0]->Termin_neu;
|
||||
}
|
||||
|
||||
return $rows;
|
||||
}
|
||||
|
||||
function sportsmanagerExportErgaenzeSpielberichte($db, int $veranstaltungId, array $rows): array
|
||||
{
|
||||
// Modus ermitteln
|
||||
$query = "
|
||||
SELECT t2.* FROM #__sportsmanager_veranstaltung AS t1
|
||||
LEFT JOIN #__sportsmanager_teamspiel_modus AS t2 ON t1.modus_id = t2.teamspiel_modus_id
|
||||
WHERE t1.veranstaltung_id = " . $veranstaltungId . "
|
||||
";
|
||||
|
||||
$spielmodus = loadObjectList($db, $query);
|
||||
$Anzahl_Saetze = count(explode(",", $spielmodus[0]->modus));
|
||||
|
||||
|
||||
foreach ($rows as $value) {
|
||||
|
||||
$value->vorgeschlagen_um = "";
|
||||
$value->vorgeschlagen_von = "";
|
||||
$value->bestaetigt_um = "";
|
||||
$value->bestaetigt_von = "";
|
||||
$value->moderator_um = "";
|
||||
$value->moderator_von = "";
|
||||
|
||||
// Endergebnis vorgeschlagen / bestätigt (Gegner) / bestätigt (Moderator)
|
||||
$query = "
|
||||
SELECT t1.aktion,
|
||||
t1.eingetragen AS gespeichert_um,
|
||||
t2.name AS gespeichert_von_user,
|
||||
t3.teamname AS gespeichert_von_team
|
||||
FROM #__sportsmanager_begegnung_historie AS t1
|
||||
LEFT JOIN #__users AS t2 ON t1.user_id = t2.id
|
||||
LEFT JOIN #__sportsmanager_team AS t3 ON t1.team_id = t3.team_id
|
||||
WHERE begegnung_id = " . $value->ID . "
|
||||
AND aktion IN (6,7,8)
|
||||
ORDER BY eingetragen DESC;
|
||||
";
|
||||
$Historie = loadObjectList($db, $query);
|
||||
foreach ($Historie as $eintrag) {
|
||||
if ($eintrag->aktion == 6 && empty($value->vorgeschlagen_um)) {
|
||||
$value->vorgeschlagen_um = $eintrag->gespeichert_um;
|
||||
if (!empty($eintrag->gespeichert_von_user))
|
||||
$value->vorgeschlagen_von = $eintrag->gespeichert_von_user;
|
||||
if (!empty($eintrag->gespeichert_von_team))
|
||||
$value->vorgeschlagen_von = $eintrag->gespeichert_von_team;
|
||||
}
|
||||
if ($eintrag->aktion == 7 && empty($value->bestaetigt_um)) {
|
||||
$value->bestaetigt_um = $eintrag->gespeichert_um;
|
||||
if (!empty($eintrag->gespeichert_von_user))
|
||||
$value->bestaetigt_von = $eintrag->gespeichert_von_user;
|
||||
if (!empty($eintrag->gespeichert_von_team))
|
||||
$value->bestaetigt_von = $eintrag->gespeichert_von_team;
|
||||
}
|
||||
if ($eintrag->aktion == 8 && empty($value->moderator_um)) {
|
||||
$value->moderator_um = $eintrag->gespeichert_um;
|
||||
if (!empty($eintrag->gespeichert_von_user))
|
||||
$value->moderator_von = $eintrag->gespeichert_von_user;
|
||||
if (!empty($eintrag->gespeichert_von_team))
|
||||
$value->moderator_von = $eintrag->gespeichert_von_team;
|
||||
}
|
||||
}
|
||||
|
||||
// Spielbericht
|
||||
$query = "
|
||||
SELECT
|
||||
t1.teamspiel_nummer AS Satz_Nr,
|
||||
t3.spielernr AS Pass_Heim1, t4.spielernr AS Pass_Heim2,
|
||||
t5.spielernr AS Pass_Gast1, t6.spielernr AS Pass_Gast2,
|
||||
t1.teamspiel_heim_punkte AS Heim_Tore, t1.teamspiel_gast_punkte AS Gast_Tore,
|
||||
t1.teamspiel_heim_spielpunkte AS Heim_Punkte, t1.teamspiel_gast_spielpunkte AS Gast_Punkte
|
||||
FROM #__sportsmanager_teamspiel AS t1
|
||||
LEFT JOIN #__sportsmanager_begegnung AS t2 ON t1.begegnung_id = t2.begegnung_id
|
||||
LEFT JOIN #__sportsmanager_spieler AS t3 ON t1.heim_spieler_1_id = t3.spieler_id
|
||||
LEFT JOIN #__sportsmanager_spieler AS t4 ON t1.heim_spieler_2_id = t4.spieler_id
|
||||
LEFT JOIN #__sportsmanager_spieler AS t5 ON t1.gast_spieler_1_id = t5.spieler_id
|
||||
LEFT JOIN #__sportsmanager_spieler AS t6 ON t1.gast_spieler_2_id = t6.spieler_id
|
||||
WHERE t1.begegnung_id = " . $value->ID . "
|
||||
ORDER BY t1.teamspiel_nummer;
|
||||
";
|
||||
|
||||
$spielbericht = loadObjectList($db, $query);
|
||||
for ($i = 1; $i <= $Anzahl_Saetze; $i++) {
|
||||
$variable = "S" . $i . "_Pass_Heim1";
|
||||
$value->$variable = $spielbericht[$i - 1]->Pass_Heim1;
|
||||
$variable = "S" . $i . "_Pass_Heim2";
|
||||
$value->$variable = $spielbericht[$i - 1]->Pass_Heim2;
|
||||
$variable = "S" . $i . "_Pass_Gast1";
|
||||
$value->$variable = $spielbericht[$i - 1]->Pass_Gast1;
|
||||
$variable = "S" . $i . "_Pass_Gast2";
|
||||
$value->$variable = $spielbericht[$i - 1]->Pass_Gast2;
|
||||
$variable = "S" . $i . "_Heim_Tore";
|
||||
$value->$variable = $spielbericht[$i - 1]->Heim_Tore;
|
||||
$variable = "S" . $i . "_Gast_Tore";
|
||||
$value->$variable = $spielbericht[$i - 1]->Gast_Tore;
|
||||
$variable = "S" . $i . "_Heim_Punkte";
|
||||
$value->$variable = $spielbericht[$i - 1]->Heim_Punkte;
|
||||
$variable = "S" . $i . "_Gast_Punkte";
|
||||
$value->$variable = $spielbericht[$i - 1]->Gast_Punkte;
|
||||
}
|
||||
}
|
||||
|
||||
return $rows;
|
||||
}
|
||||
|
||||
#[NoReturn] function adminBegegnungenExport(): void
|
||||
{
|
||||
$db = getDatabase();
|
||||
$jInput = Factory::getContainer()->get(SiteApplication::class)->input;
|
||||
|
||||
$veranstaltungId = $jInput->get('veranstaltungId', 0, 'INT');
|
||||
$export = $jInput->get('export', '', 'CMD');
|
||||
$exportformat = $jInput->get('exportformat', 'csvdatei', 'CMD');
|
||||
|
||||
if ($veranstaltungId == 0) die("Missing id!");
|
||||
|
||||
if (!benutzerZugriff("mannschaftswettbewerb_aendern") && !benutzerVeranstaltungModerator($veranstaltungId))
|
||||
keinZugriff();
|
||||
|
||||
// Veranstaltung ermitteln
|
||||
$query = "SELECT * FROM #__sportsmanager_veranstaltung WHERE veranstaltung_id = $veranstaltungId";
|
||||
|
||||
$rows = loadObjectList($db, $query);
|
||||
if (count($rows) < 1) die("Wrong id!");
|
||||
$veranstaltung = $rows[0];
|
||||
|
||||
if ($jInput->get('cancel', false, 'BOOL')) {
|
||||
redirectSportsManagerURL('&task=admin_begegnungen&veranstaltungid=' . $veranstaltungId);
|
||||
}
|
||||
|
||||
unset($rows);
|
||||
|
||||
// JSON-Export: Teams, Spieler und Spielberichte gemeinsam in dieser Reihenfolge exportieren
|
||||
if ($exportformat == "jsondatei") {
|
||||
$teams = sportsmanagerExportErmittleTeams($db, $veranstaltungId);
|
||||
$spieler = sportsmanagerExportErmittleSpieler($db, $veranstaltungId);
|
||||
$spielberichte = sportsmanagerExportErgaenzeSpielberichte($db, $veranstaltungId, sportsmanagerExportErmittleSpielplan($db, $veranstaltungId));
|
||||
|
||||
if (empty($teams) && empty($spieler) && empty($spielberichte)) {
|
||||
redirectSportsManagerURL('&task=admin_begegnungen&veranstaltungid=$veranstaltungId', "Zu dieser Auswahl sind keine Daten vorhanden!");
|
||||
}
|
||||
|
||||
$daten = [
|
||||
'teams' => $teams,
|
||||
'spieler' => $spieler,
|
||||
'spielberichte' => $spielberichte,
|
||||
];
|
||||
|
||||
exportJSON($daten, "Export " . $veranstaltung->bezeichnung . ".json");
|
||||
}
|
||||
|
||||
$dateiname = "";
|
||||
if ($export == "spieler") {
|
||||
$rows = sportsmanagerExportErmittleSpieler($db, $veranstaltungId);
|
||||
if (!isset($rows) or count($rows) == 0) {
|
||||
redirectSportsManagerURL('&task=admin_begegnungen&veranstaltungid=$veranstaltungId', "Zu dieser Auswahl sind keine Daten vorhanden!");
|
||||
}
|
||||
$dateiname = "Spieler " . $veranstaltung->bezeichnung;
|
||||
}
|
||||
|
||||
if ($export == "spielplan" or $export == "spielberichte") {
|
||||
$rows = sportsmanagerExportErmittleSpielplan($db, $veranstaltungId);
|
||||
$dateiname = "Spielplan " . $veranstaltung->bezeichnung;
|
||||
|
||||
if (!isset($rows) or count($rows) == 0) {
|
||||
redirectSportsManagerURL('&task=admin_begegnungen&veranstaltungid=$veranstaltungId', "Zu dieser Auswahl sind keine Daten vorhanden!");
|
||||
}
|
||||
}
|
||||
|
||||
if ($export == "spielberichte") {
|
||||
$rows = sportsmanagerExportErgaenzeSpielberichte($db, $veranstaltungId, $rows);
|
||||
$dateiname = "Spielberichte " . $veranstaltung->bezeichnung;
|
||||
}
|
||||
|
||||
if ($export == "teams") {
|
||||
$rows = sportsmanagerExportErmittleTeams($db, $veranstaltungId);
|
||||
if (!isset($rows) or count($rows) == 0) {
|
||||
redirectSportsManagerURL('&task=admin_begegnungen&veranstaltungid=$veranstaltungId', "Zu dieser Auswahl sind keine Daten vorhanden!");
|
||||
}
|
||||
$dateiname = "Teams " . $veranstaltung->bezeichnung;
|
||||
}
|
||||
|
||||
@@ -17557,12 +17680,15 @@ function adminSaveTermin($admin_uebersicht): void
|
||||
}
|
||||
$termin_aktion_id = $db->insertid();
|
||||
|
||||
termineEmailBenachrichtigung($termin_aktion_id, $ueberarbeiten);
|
||||
$mail_erfolg = termineEmailBenachrichtigung($termin_aktion_id, $ueberarbeiten);
|
||||
|
||||
if ($zugriffsebene == 1) {
|
||||
if (!$mail_erfolg) {
|
||||
Factory::getContainer()->get(SiteApplication::class)->enqueueMessage(Text::_('COM_SPORTSMANAGER_TERMIN_MAIL_SEND_ERROR'), 'warning');
|
||||
}
|
||||
HTML_sportsmanager_admin::adminTermineBeantragtBestaetigung($admin_uebersicht);
|
||||
} else {
|
||||
redirectSportsManagerURL('&task=' . ($admin_uebersicht ? 'admin_' : '') . ($uebersicht ? 'termine' : 'termine_verlauf') . ($nur_beantragte ? '&nur_beantragte=1' : ''));
|
||||
redirectSportsManagerURL('&task=' . ($admin_uebersicht ? 'admin_' : '') . ($uebersicht ? 'termine' : 'termine_verlauf') . ($nur_beantragte ? '&nur_beantragte=1' : ''), $mail_erfolg ? '' : Text::_('COM_SPORTSMANAGER_TERMIN_MAIL_SEND_ERROR'), 'warning');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17685,12 +17811,15 @@ function adminRemoveTermin($admin_uebersicht): void
|
||||
}
|
||||
$termin_aktion_id = $db->insertid();
|
||||
|
||||
termineEmailBenachrichtigung($termin_aktion_id);
|
||||
$mail_erfolg = termineEmailBenachrichtigung($termin_aktion_id);
|
||||
|
||||
if ($zugriffsebene == 1) {
|
||||
if (!$mail_erfolg) {
|
||||
Factory::getContainer()->get(SiteApplication::class)->enqueueMessage(Text::_('COM_SPORTSMANAGER_TERMIN_MAIL_SEND_ERROR'), 'warning');
|
||||
}
|
||||
HTML_sportsmanager_admin::adminTermineBeantragtBestaetigung($admin_uebersicht);
|
||||
} else {
|
||||
redirectSportsManagerURL('&task=' . ($admin_uebersicht ? 'admin_' : '') . 'termine');
|
||||
redirectSportsManagerURL('&task=' . ($admin_uebersicht ? 'admin_' : '') . 'termine', $mail_erfolg ? '' : Text::_('COM_SPORTSMANAGER_TERMIN_MAIL_SEND_ERROR'), 'warning');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17867,6 +17996,7 @@ function termineEmailBenachrichtigung($termin_aktion_id, $ueberarbeiten = false)
|
||||
$body = "<p>Das " . htmlentities_utf8($aktion[$terminaktion->typ]) . " des folgenden Termins wurde " . ($terminaktion->status == 0 ? ($ueberarbeiten ? "in überarbeiteter Form akzeptiert" : "akzeptiert") : "abgelehnt") . ".</p>";
|
||||
}
|
||||
$body .= "<table>\r\n" . $termin_beschreibung . $termin_moderationsstatus . "</table>\r\n";
|
||||
$erfolg = true;
|
||||
if(!empty($benachrichtigung_emails)) {
|
||||
$mailer = Factory::getContainer()->get(MailerFactoryInterface::class)->createMailer();
|
||||
$mailer->setSender($from, $fromName);
|
||||
@@ -17875,7 +18005,12 @@ function termineEmailBenachrichtigung($termin_aktion_id, $ueberarbeiten = false)
|
||||
$mailer->setBody($body);
|
||||
foreach ($benachrichtigung_emails as $email)
|
||||
$mailer->addBcc($email);
|
||||
try {
|
||||
$mailer->send();
|
||||
} catch (\Exception $e) {
|
||||
Log::add('Fehler beim Versenden der Termin-Benachrichtigung (Antragsteller): ' . $e->getMessage(), Log::WARNING, 'com_sportsmanager');
|
||||
$erfolg = false;
|
||||
}
|
||||
}
|
||||
|
||||
$from = $app->getCfg('mailfrom');
|
||||
@@ -17899,7 +18034,12 @@ function termineEmailBenachrichtigung($termin_aktion_id, $ueberarbeiten = false)
|
||||
$mailer->setBody($body);
|
||||
foreach ($benachrichtigung_moderatoren_informieren as $email)
|
||||
$mailer->addBcc($email);
|
||||
try {
|
||||
$mailer->send();
|
||||
} catch (\Exception $e) {
|
||||
Log::add('Fehler beim Versenden der Termin-Benachrichtigung (Moderatoren informieren): ' . $e->getMessage(), Log::WARNING, 'com_sportsmanager');
|
||||
$erfolg = false;
|
||||
}
|
||||
}
|
||||
|
||||
$body .= "<p>Bitte <a href=\"" . SportsManagerURL('&task=admin_termin_details&nur_beantragte=1&id=' . $terminaktion->termin_aktion_id, -1) . "\">hier</a> klicken, um den Termin zu moderieren.</p>\r\n";
|
||||
@@ -17911,10 +18051,15 @@ function termineEmailBenachrichtigung($termin_aktion_id, $ueberarbeiten = false)
|
||||
$mailer->setBody($body);
|
||||
foreach ($benachrichtigung_moderatoren_aendern as $email)
|
||||
$mailer->addBcc($email);
|
||||
try {
|
||||
$mailer->send();
|
||||
} catch (\Exception $e) {
|
||||
Log::add('Fehler beim Versenden der Termin-Benachrichtigung (Moderatoren ändern): ' . $e->getMessage(), Log::WARNING, 'com_sportsmanager');
|
||||
$erfolg = false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
return $erfolg;
|
||||
}
|
||||
|
||||
#[NoReturn] function adminTerminModerieren($admin_uebersicht): void
|
||||
@@ -18003,9 +18148,9 @@ function termineEmailBenachrichtigung($termin_aktion_id, $ueberarbeiten = false)
|
||||
die($db->stderr(true));
|
||||
}
|
||||
|
||||
termineEmailBenachrichtigung($id);
|
||||
$mail_erfolg = termineEmailBenachrichtigung($id);
|
||||
|
||||
redirectSportsManagerURL('&task=' . ($admin_uebersicht ? 'admin_' : '') . ($uebersicht ? 'termine' : 'termine_verlauf') . ($nur_beantragte ? '&nur_beantragte=1' : ''));
|
||||
redirectSportsManagerURL('&task=' . ($admin_uebersicht ? 'admin_' : '') . ($uebersicht ? 'termine' : 'termine_verlauf') . ($nur_beantragte ? '&nur_beantragte=1' : ''), $mail_erfolg ? '' : Text::_('COM_SPORTSMANAGER_TERMIN_MAIL_SEND_ERROR'), 'warning');
|
||||
}
|
||||
|
||||
function adminTermineVerlauf($admin_uebersicht): void
|
||||
|
||||
@@ -5741,6 +5741,52 @@ function updateDatabase(): void
|
||||
}
|
||||
}
|
||||
|
||||
if ($datenbank_version < 121) {
|
||||
|
||||
$columns = $db->getTableColumns('#__sportsmanager_mitglied_von_halloffame');
|
||||
if (!array_key_exists('teamspieler', $columns)){
|
||||
$query = "ALTER TABLE `#__sportsmanager_mitglied_von_halloffame`"
|
||||
. "\n ADD `teamspieler` TEXT NULL DEFAULT NULL AFTER `teamname`;";
|
||||
$db->setQuery($query);
|
||||
if (!$db->execute()) {
|
||||
die($db->stderr(true));
|
||||
}
|
||||
}
|
||||
|
||||
if (!array_key_exists('nicht_ausgespielt', $columns)){
|
||||
$query = "ALTER TABLE `#__sportsmanager_mitglied_von_halloffame`"
|
||||
. "\n ADD `nicht_ausgespielt` TINYINT(1) NOT NULL DEFAULT '0' AFTER `jahr`;";
|
||||
$db->setQuery($query);
|
||||
if (!$db->execute()) {
|
||||
die($db->stderr(true));
|
||||
}
|
||||
}
|
||||
|
||||
$columns = $db->getTableColumns('#__sportsmanager_spielort');
|
||||
if (!array_key_exists('zusatzinfo', $columns)){
|
||||
$query = "ALTER TABLE `#__sportsmanager_spielort`"
|
||||
. "\n ADD `zusatzinfo` TEXT NULL DEFAULT NULL AFTER `ruhetage`;";
|
||||
$db->setQuery($query);
|
||||
if (!$db->execute()) {
|
||||
die($db->stderr(true));
|
||||
}
|
||||
}
|
||||
|
||||
$zielpfad = JPATH_ROOT . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager' . DIRECTORY_SEPARATOR . 'spieler' . DIRECTORY_SEPARATOR . 'n.png';
|
||||
if (!is_file($zielpfad)) {
|
||||
$quellpfad = JPATH_SITE . DIRECTORY_SEPARATOR . 'components' . DIRECTORY_SEPARATOR . 'com_sportsmanager' . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'spieler-n.png';
|
||||
bildKopierenAngepasst($quellpfad, $zielpfad, 180, 240, 1);
|
||||
}
|
||||
|
||||
$query = "UPDATE #__sportsmanager_einstellungen"
|
||||
. "\n SET wert = '121'"
|
||||
. "\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";
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 1.2 KiB |
@@ -61,8 +61,27 @@ global $params;
|
||||
|
||||
$app = Factory::getContainer()->get(SiteApplication::class);
|
||||
$jInput = $app->input;
|
||||
$task = $jInput->getCmd('task');
|
||||
$params = $app->getParams('com_sportsmanager');
|
||||
|
||||
// zusätzliche, im Menüpunkt hinterlegte Parameter (z.B. "test=test&foo=bar") wie GET-Parameter verfügbar machen;
|
||||
// tatsächlich in der URL übergebene Werte haben weiterhin Vorrang (def() setzt nur, wenn noch nicht vorhanden);
|
||||
// muss vor dem Auslesen von task/content erfolgen, damit diese die Zusatzparameter berücksichtigen
|
||||
$zusatzparameter = trim((string) $params->get('zusatzparameter', ''));
|
||||
if ($zusatzparameter !== '') {
|
||||
// Namen, die den gesamten Seitenaufbau umstellen würden, nicht über einen Menüparameter
|
||||
$gesperrteNamen = ['option', 'Itemid', 'format', 'tmpl', 'lang'];
|
||||
parse_str($zusatzparameter, $zusatzparameterWerte);
|
||||
foreach ($zusatzparameterWerte as $zusatzparameterName => $zusatzparameterWert) {
|
||||
// Arrays (z.B. "task[]=x") würden weiter unten zu einem TypeError führen
|
||||
if (!is_scalar($zusatzparameterWert)
|
||||
|| in_array($zusatzparameterName, $gesperrteNamen, true)) {
|
||||
continue;
|
||||
}
|
||||
$jInput->def($zusatzparameterName, $zusatzparameterWert);
|
||||
}
|
||||
}
|
||||
|
||||
$task = $jInput->getCmd('task');
|
||||
$content = isJson() && $jInput->getCmd('content', NULL) != NULL ? $jInput->getCmd('content') : $params->get('content');
|
||||
|
||||
if (berechnungen())
|
||||
@@ -74,6 +93,10 @@ if ($task == "spielerbild") {
|
||||
terminDokument();
|
||||
} else if ($task == "spieler_details") {
|
||||
spielerDetails();
|
||||
} else if ($task == "team_details") {
|
||||
mannschaftDetails($content == "teams_vereinigt", $content != "teams" && $content != "teams_vereinigt");
|
||||
} else if ($task == "verein_details") {
|
||||
vereinDetails();
|
||||
} 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) {
|
||||
@@ -847,9 +870,6 @@ if ($task == "spielerbild") {
|
||||
case 'begegnung_spielplan':
|
||||
begegnungSpielplan(true);
|
||||
break;
|
||||
case 'team_details':
|
||||
mannschaftDetails($content == "teams_vereinigt");
|
||||
break;
|
||||
case 'team_spielplan_xml':
|
||||
teamSpielplanXML();
|
||||
case 'team_begegnungen_ical':
|
||||
@@ -860,9 +880,6 @@ if ($task == "spielerbild") {
|
||||
}
|
||||
} else if ($content == "vereine") {
|
||||
switch ($task) {
|
||||
case 'verein_details':
|
||||
vereinDetails();
|
||||
break;
|
||||
case 'verein_begegnungen_ical':
|
||||
vereinBegegnungeniCal();
|
||||
break;
|
||||
@@ -1146,7 +1163,7 @@ if ($task == "spielerbild") {
|
||||
|
||||
return;
|
||||
|
||||
#[NoReturn] function redirectSportsManagerURL($weitereParameter = NULL, $nachricht = ''): void
|
||||
#[NoReturn] function redirectSportsManagerURL($weitereParameter = NULL, $nachricht = '', $nachrichtTyp = 'message'): void
|
||||
{
|
||||
global $redirect_session_id;
|
||||
if (!empty($redirect_session_id)) {
|
||||
@@ -1156,7 +1173,7 @@ return;
|
||||
}
|
||||
$app = Factory::getContainer()->get(SiteApplication::class);
|
||||
if ($nachricht != '') {
|
||||
$app->enqueueMessage($nachricht);
|
||||
$app->enqueueMessage($nachricht, $nachrichtTyp);
|
||||
}
|
||||
$app->redirect(SportsManagerURL($weitereParameter), 200);
|
||||
exit;
|
||||
@@ -4450,11 +4467,34 @@ function halloffame(): void
|
||||
{
|
||||
$db = getDatabase();
|
||||
global $params;
|
||||
$jInput = Factory::getContainer()->get(SiteApplication::class)->input;
|
||||
|
||||
$gruppierung = $jInput->get('gruppierung', '', 'STRING');
|
||||
if ($gruppierung !== 'jahr' && $gruppierung !== 'summe' && $gruppierung !== 'summedisziplin')
|
||||
$gruppierung = '';
|
||||
|
||||
if ($gruppierung === 'jahr') {
|
||||
halloffameNachJahrGruppiert();
|
||||
return;
|
||||
}
|
||||
|
||||
if ($gruppierung === 'summe') {
|
||||
halloffameNachSummeGruppiert();
|
||||
return;
|
||||
}
|
||||
|
||||
if ($gruppierung === 'summedisziplin') {
|
||||
halloffameNachSummeDisziplinGruppiert();
|
||||
return;
|
||||
}
|
||||
|
||||
$query = "SELECT t1.*, COUNT(DISTINCT t2.jahr) AS anzahl,"
|
||||
. "\n IF (COUNT(DISTINCT t2.jahr) > 0, CONCAT(min(t2.jahr), ' - ', max(t2.jahr)), '" . Text::_('COM_SPORTSMANAGER_NO_ENTRY') . "') AS zeitspanne"
|
||||
. "\n FROM #__sportsmanager_halloffame t1"
|
||||
. "\n LEFT JOIN #__sportsmanager_mitglied_von_halloffame t2 ON t2.halloffame_id = t1.halloffame_id"
|
||||
. "\n WHERE 1=1"
|
||||
. halloffameIdFilter("AND t1.halloffame_id IN")
|
||||
. halloffameJahrFilter("AND t2.jahr IN")
|
||||
. "\n GROUP BY t1.halloffame_id"
|
||||
. kategorieFilter("HAVING t1.kategorie IN")
|
||||
. "\n ORDER BY t1.reihenfolge;";
|
||||
@@ -4466,11 +4506,363 @@ function halloffame(): void
|
||||
if (isJson()) {
|
||||
echo json_encode($halloffame);
|
||||
} else {
|
||||
HTML_sportsmanager::halloffame($params->get('titel'), $params->get('beschreibung'), $halloffame);
|
||||
HTML_sportsmanager::halloffame(halloffameTitel(), $params->get('beschreibung'), $halloffame);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function halloffameNachJahrGruppiert(): void
|
||||
{
|
||||
$db = getDatabase();
|
||||
global $params;
|
||||
$jInput = Factory::getContainer()->get(SiteApplication::class)->input;
|
||||
|
||||
$platzierung = $jInput->get('platzierung', '', 'STRING');
|
||||
if ($platzierung !== 'inspalten' && $platzierung !== 'inzeilen')
|
||||
$platzierung = '';
|
||||
|
||||
$plaetzezeigen = $jInput->get('plaetzezeigen', 0, 'INT');
|
||||
|
||||
$sortierung = $jInput->get('sortierung', 'jahrabwaerts', 'STRING');
|
||||
if ($sortierung !== 'jahraufwaerts')
|
||||
$sortierung = 'jahrabwaerts';
|
||||
$jahrSortierung = $sortierung === 'jahraufwaerts' ? 'ASC' : 'DESC';
|
||||
|
||||
$query = "SELECT t2.*, t1.halloffame, t1.spielform, t1.reihenfolge"
|
||||
. "\n FROM #__sportsmanager_halloffame t1"
|
||||
. "\n LEFT JOIN #__sportsmanager_mitglied_von_halloffame t2 ON t2.halloffame_id = t1.halloffame_id"
|
||||
. "\n WHERE t2.jahr IS NOT NULL"
|
||||
. kategorieFilter("AND t1.kategorie IN")
|
||||
. halloffameIdFilter("AND t1.halloffame_id IN")
|
||||
. halloffameJahrFilter("AND t2.jahr IN")
|
||||
. "\n ORDER BY t2.jahr $jahrSortierung, t1.reihenfolge, t2.platz ASC;";
|
||||
$rows = loadObjectList($db, $query);
|
||||
$alleTeams = halloffameAlleTeams($db);
|
||||
$alleSpielerInfo = halloffameAlleSpielerInfo($db);
|
||||
$alleVereineInfo = halloffameAlleVereineInfo($db);
|
||||
|
||||
$disziplinen = [];
|
||||
$jahresDaten = [];
|
||||
|
||||
foreach ($rows as $row) {
|
||||
if (!isset($disziplinen[$row->halloffame_id])) {
|
||||
$disziplinen[$row->halloffame_id] = (object) [
|
||||
'halloffame_id' => $row->halloffame_id,
|
||||
'halloffame' => $row->halloffame,
|
||||
'spielform' => $row->spielform,
|
||||
'reihenfolge' => $row->reihenfolge,
|
||||
'platz2_zeigen' => 0,
|
||||
'platz3_zeigen' => 0,
|
||||
'teamspieler_zeigen' => 0,
|
||||
'anzahl_m' => 0,
|
||||
'anzahl_w' => 0,
|
||||
];
|
||||
}
|
||||
$disziplin = $disziplinen[$row->halloffame_id];
|
||||
|
||||
if (!empty($row->nicht_ausgespielt)) continue;
|
||||
|
||||
if (!isset($jahresDaten[$row->jahr]))
|
||||
$jahresDaten[$row->jahr] = [];
|
||||
if (!isset($jahresDaten[$row->jahr][$row->halloffame_id]))
|
||||
$jahresDaten[$row->jahr][$row->halloffame_id] = new stdClass();
|
||||
$ziel = $jahresDaten[$row->jahr][$row->halloffame_id];
|
||||
|
||||
if ($disziplin->spielform == 1) {
|
||||
$index_vereinid = "verein_id_" . $row->platz;
|
||||
$index_teamid = "team_id_" . $row->platz;
|
||||
$index_team = "teamname_" . $row->platz;
|
||||
$index_teamspieler = "teamspieler_" . $row->platz;
|
||||
|
||||
$ziel->$index_vereinid = $row->verein_id;
|
||||
$ziel->$index_team = $row->teamname;
|
||||
$ziel->$index_teamspieler = $row->teamspieler;
|
||||
if (empty($row->verein_id)) {
|
||||
$ziel->$index_teamid = halloffameTeamIdFuerTeamname($alleTeams, $row->teamname);
|
||||
} else {
|
||||
$ziel->$index_teamid = "";
|
||||
}
|
||||
if ($row->platz == 2 && !empty($row->teamname))
|
||||
$disziplin->platz2_zeigen = 1;
|
||||
if ($row->platz == 3 && !empty($row->teamname))
|
||||
$disziplin->platz3_zeigen = 1;
|
||||
if (mb_strlen(trim((string) $row->teamspieler)) >= 3)
|
||||
$disziplin->teamspieler_zeigen = 1;
|
||||
} else {
|
||||
$index_spieler1id = "spieler1_id_" . $row->platz;
|
||||
$index_spieler1 = "spieler1_" . $row->platz;
|
||||
$index_spieler2id = "spieler2_id_" . $row->platz;
|
||||
$index_spieler2 = "spieler2_" . $row->platz;
|
||||
|
||||
$ziel->$index_spieler1id = $row->spieler1_id;
|
||||
$ziel->$index_spieler1 = $row->spieler1;
|
||||
$ziel->$index_spieler2id = $row->spieler2_id;
|
||||
$ziel->$index_spieler2 = $row->spieler2;
|
||||
if ($row->platz == 2 && (!empty($row->spieler1) || !empty($row->spieler2)))
|
||||
$disziplin->platz2_zeigen = 1;
|
||||
if ($row->platz == 3 && (!empty($row->spieler1) || !empty($row->spieler2)))
|
||||
$disziplin->platz3_zeigen = 1;
|
||||
halloffameGeschlechtZaehlen($disziplin, $alleSpielerInfo, $row->spieler1_id, $disziplin->spielform == 2 ? $row->spieler2_id : null);
|
||||
}
|
||||
}
|
||||
|
||||
foreach ($disziplinen as $disziplin)
|
||||
$disziplin->geschaetztes_geschlecht = halloffameGeschaetztesGeschlecht($disziplin->anzahl_m, $disziplin->anzahl_w);
|
||||
|
||||
if ($plaetzezeigen > 0) {
|
||||
foreach ($disziplinen as $disziplin) {
|
||||
if ($plaetzezeigen < 2)
|
||||
$disziplin->platz2_zeigen = 0;
|
||||
if ($plaetzezeigen < 3)
|
||||
$disziplin->platz3_zeigen = 0;
|
||||
}
|
||||
}
|
||||
|
||||
usort($disziplinen, fn($a, $b) => $a->reihenfolge <=> $b->reihenfolge);
|
||||
|
||||
if (isJson()) {
|
||||
echo json_encode(['disziplinen' => $disziplinen, 'jahre' => $jahresDaten]);
|
||||
} else {
|
||||
HTML_sportsmanager::halloffameNachJahrGruppiert(halloffameTitel(), $params->get('beschreibung'), $disziplinen, $jahresDaten, $platzierung, $alleSpielerInfo, $alleVereineInfo);
|
||||
}
|
||||
}
|
||||
|
||||
function halloffameSummeTitelHinzufuegen(object $traegerEintrag, object $row): void
|
||||
{
|
||||
if (!isset($traegerEintrag->titel[$row->halloffame_id])) {
|
||||
$traegerEintrag->titel[$row->halloffame_id] = (object) [
|
||||
'halloffame' => $row->halloffame,
|
||||
'jahre' => [],
|
||||
];
|
||||
}
|
||||
$traegerEintrag->titel[$row->halloffame_id]->jahre[] = $row->jahr;
|
||||
}
|
||||
|
||||
function halloffameNachSummeGruppiert(): void
|
||||
{
|
||||
$db = getDatabase();
|
||||
global $params;
|
||||
$jInput = Factory::getContainer()->get(SiteApplication::class)->input;
|
||||
|
||||
$anzahltitel = $jInput->get('anzahltitel', 0, 'INT');
|
||||
|
||||
$sortierung = $jInput->get('sortierung', 'anzahl', 'STRING');
|
||||
if ($sortierung !== 'name')
|
||||
$sortierung = 'anzahl';
|
||||
|
||||
$query = "SELECT t2.*, t1.halloffame, t1.spielform, t1.reihenfolge"
|
||||
. "\n FROM #__sportsmanager_halloffame t1"
|
||||
. "\n LEFT JOIN #__sportsmanager_mitglied_von_halloffame t2 ON t2.halloffame_id = t1.halloffame_id"
|
||||
. "\n WHERE t2.jahr IS NOT NULL AND t2.platz = 1"
|
||||
. kategorieFilter("AND t1.kategorie IN")
|
||||
. halloffameIdFilter("AND t1.halloffame_id IN")
|
||||
. halloffameJahrFilter("AND t2.jahr IN")
|
||||
. "\n ORDER BY t1.reihenfolge, t2.jahr ASC;";
|
||||
$rows = loadObjectList($db, $query);
|
||||
$alleTeams = halloffameAlleTeams($db);
|
||||
$alleSpielerInfo = halloffameAlleSpielerInfo($db);
|
||||
$alleVereineInfo = halloffameAlleVereineInfo($db);
|
||||
|
||||
$traeger = [];
|
||||
|
||||
foreach ($rows as $row) {
|
||||
if (!empty($row->nicht_ausgespielt)) continue;
|
||||
|
||||
if ($row->spielform == 1) {
|
||||
$name = trim($row->teamname);
|
||||
if ($name === '') continue;
|
||||
|
||||
$key = 'team:' . $name;
|
||||
if (!isset($traeger[$key])) {
|
||||
if (empty($row->verein_id)) {
|
||||
$bild_type = 'mannschaften';
|
||||
$bild_id = halloffameTeamIdFuerTeamname($alleTeams, $row->teamname);
|
||||
} else {
|
||||
$bild_type = 'vereine';
|
||||
$bild_id = $row->verein_id;
|
||||
}
|
||||
$traeger[$key] = (object) [
|
||||
'name' => $name,
|
||||
'bild_type' => $bild_type,
|
||||
'bild_id' => $bild_id,
|
||||
'aktiv' => $bild_type === 'vereine' ? halloffameVereinAktiv($alleVereineInfo, $bild_id) : true,
|
||||
'geschlecht' => null,
|
||||
'titel' => [],
|
||||
];
|
||||
}
|
||||
halloffameSummeTitelHinzufuegen($traeger[$key], $row);
|
||||
} else {
|
||||
if (!empty($row->spieler1_id)) {
|
||||
$key = 'spieler:' . $row->spieler1_id;
|
||||
if (!isset($traeger[$key])) {
|
||||
$traeger[$key] = (object) [
|
||||
'name' => $row->spieler1,
|
||||
'bild_type' => 'spieler',
|
||||
'bild_id' => $row->spieler1_id,
|
||||
'aktiv' => halloffameSpielerAktiv($alleSpielerInfo, $row->spieler1_id),
|
||||
'geschlecht' => $alleSpielerInfo[$row->spieler1_id]->geschlecht ?? null,
|
||||
'titel' => [],
|
||||
];
|
||||
}
|
||||
halloffameSummeTitelHinzufuegen($traeger[$key], $row);
|
||||
}
|
||||
if ($row->spielform == 2 && !empty($row->spieler2_id)) {
|
||||
$key = 'spieler:' . $row->spieler2_id;
|
||||
if (!isset($traeger[$key])) {
|
||||
$traeger[$key] = (object) [
|
||||
'name' => $row->spieler2,
|
||||
'bild_type' => 'spieler',
|
||||
'bild_id' => $row->spieler2_id,
|
||||
'aktiv' => halloffameSpielerAktiv($alleSpielerInfo, $row->spieler2_id),
|
||||
'geschlecht' => $alleSpielerInfo[$row->spieler2_id]->geschlecht ?? null,
|
||||
'titel' => [],
|
||||
];
|
||||
}
|
||||
halloffameSummeTitelHinzufuegen($traeger[$key], $row);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
foreach ($traeger as $t) {
|
||||
$t->anzahl = 0;
|
||||
foreach ($t->titel as $titel)
|
||||
$t->anzahl += count($titel->jahre);
|
||||
}
|
||||
|
||||
if ($anzahltitel > 0)
|
||||
$traeger = array_filter($traeger, fn($t) => $t->anzahl >= $anzahltitel);
|
||||
|
||||
if ($sortierung === 'name') {
|
||||
usort($traeger, fn($a, $b) => strcasecmp($a->name, $b->name));
|
||||
} else {
|
||||
usort($traeger, fn($a, $b) => ($b->anzahl <=> $a->anzahl) ?: strcasecmp($a->name, $b->name));
|
||||
}
|
||||
|
||||
if (isJson()) {
|
||||
echo json_encode($traeger);
|
||||
} else {
|
||||
HTML_sportsmanager::halloffameNachSummeGruppiert(halloffameTitel(), $params->get('beschreibung'), $traeger);
|
||||
}
|
||||
}
|
||||
|
||||
function halloffameNachSummeDisziplinGruppiert(): void
|
||||
{
|
||||
$db = getDatabase();
|
||||
global $params;
|
||||
$jInput = Factory::getContainer()->get(SiteApplication::class)->input;
|
||||
|
||||
$anzahltitel = $jInput->get('anzahltitel', 0, 'INT');
|
||||
|
||||
$sortierung = $jInput->get('sortierung', 'anzahl', 'STRING');
|
||||
if ($sortierung !== 'name')
|
||||
$sortierung = 'anzahl';
|
||||
|
||||
$query = "SELECT t2.*, t1.halloffame, t1.spielform, t1.reihenfolge"
|
||||
. "\n FROM #__sportsmanager_halloffame t1"
|
||||
. "\n LEFT JOIN #__sportsmanager_mitglied_von_halloffame t2 ON t2.halloffame_id = t1.halloffame_id"
|
||||
. "\n WHERE t2.jahr IS NOT NULL AND t2.platz = 1"
|
||||
. kategorieFilter("AND t1.kategorie IN")
|
||||
. halloffameIdFilter("AND t1.halloffame_id IN")
|
||||
. halloffameJahrFilter("AND t2.jahr IN")
|
||||
. "\n ORDER BY t1.reihenfolge, t2.jahr ASC;";
|
||||
$rows = loadObjectList($db, $query);
|
||||
$alleTeams = halloffameAlleTeams($db);
|
||||
$alleSpielerInfo = halloffameAlleSpielerInfo($db);
|
||||
$alleVereineInfo = halloffameAlleVereineInfo($db);
|
||||
|
||||
$disziplinen = [];
|
||||
|
||||
foreach ($rows as $row) {
|
||||
if (!isset($disziplinen[$row->halloffame_id])) {
|
||||
$disziplinen[$row->halloffame_id] = (object) [
|
||||
'halloffame_id' => $row->halloffame_id,
|
||||
'halloffame' => $row->halloffame,
|
||||
'reihenfolge' => $row->reihenfolge,
|
||||
'traeger' => [],
|
||||
];
|
||||
}
|
||||
$disziplin = $disziplinen[$row->halloffame_id];
|
||||
|
||||
if (!empty($row->nicht_ausgespielt)) continue;
|
||||
|
||||
if ($row->spielform == 1) {
|
||||
$name = trim($row->teamname);
|
||||
if ($name === '') continue;
|
||||
|
||||
$key = 'team:' . $name;
|
||||
if (!isset($disziplin->traeger[$key])) {
|
||||
if (empty($row->verein_id)) {
|
||||
$bild_type = 'mannschaften';
|
||||
$bild_id = halloffameTeamIdFuerTeamname($alleTeams, $row->teamname);
|
||||
} else {
|
||||
$bild_type = 'vereine';
|
||||
$bild_id = $row->verein_id;
|
||||
}
|
||||
$disziplin->traeger[$key] = (object) [
|
||||
'name' => $name,
|
||||
'bild_type' => $bild_type,
|
||||
'bild_id' => $bild_id,
|
||||
'aktiv' => $bild_type === 'vereine' ? halloffameVereinAktiv($alleVereineInfo, $bild_id) : true,
|
||||
'geschlecht' => null,
|
||||
'jahre' => [],
|
||||
];
|
||||
}
|
||||
$disziplin->traeger[$key]->jahre[] = $row->jahr;
|
||||
} else {
|
||||
if (!empty($row->spieler1_id)) {
|
||||
$key = 'spieler:' . $row->spieler1_id;
|
||||
if (!isset($disziplin->traeger[$key])) {
|
||||
$disziplin->traeger[$key] = (object) [
|
||||
'name' => $row->spieler1,
|
||||
'bild_type' => 'spieler',
|
||||
'bild_id' => $row->spieler1_id,
|
||||
'aktiv' => halloffameSpielerAktiv($alleSpielerInfo, $row->spieler1_id),
|
||||
'geschlecht' => $alleSpielerInfo[$row->spieler1_id]->geschlecht ?? null,
|
||||
'jahre' => [],
|
||||
];
|
||||
}
|
||||
$disziplin->traeger[$key]->jahre[] = $row->jahr;
|
||||
}
|
||||
if ($row->spielform == 2 && !empty($row->spieler2_id)) {
|
||||
$key = 'spieler:' . $row->spieler2_id;
|
||||
if (!isset($disziplin->traeger[$key])) {
|
||||
$disziplin->traeger[$key] = (object) [
|
||||
'name' => $row->spieler2,
|
||||
'bild_type' => 'spieler',
|
||||
'bild_id' => $row->spieler2_id,
|
||||
'aktiv' => halloffameSpielerAktiv($alleSpielerInfo, $row->spieler2_id),
|
||||
'geschlecht' => $alleSpielerInfo[$row->spieler2_id]->geschlecht ?? null,
|
||||
'jahre' => [],
|
||||
];
|
||||
}
|
||||
$disziplin->traeger[$key]->jahre[] = $row->jahr;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
foreach ($disziplinen as $disziplin) {
|
||||
foreach ($disziplin->traeger as $t)
|
||||
$t->anzahl = count($t->jahre);
|
||||
|
||||
if ($anzahltitel > 0)
|
||||
$disziplin->traeger = array_filter($disziplin->traeger, fn($t) => $t->anzahl >= $anzahltitel);
|
||||
|
||||
if ($sortierung === 'name') {
|
||||
usort($disziplin->traeger, fn($a, $b) => strcasecmp($a->name, $b->name));
|
||||
} else {
|
||||
usort($disziplin->traeger, fn($a, $b) => ($b->anzahl <=> $a->anzahl) ?: strcasecmp($a->name, $b->name));
|
||||
}
|
||||
}
|
||||
|
||||
usort($disziplinen, fn($a, $b) => $a->reihenfolge <=> $b->reihenfolge);
|
||||
|
||||
if (isJson()) {
|
||||
echo json_encode($disziplinen);
|
||||
} else {
|
||||
HTML_sportsmanager::halloffameNachSummeDisziplinGruppiert(halloffameTitel(), $params->get('beschreibung'), $disziplinen);
|
||||
}
|
||||
}
|
||||
|
||||
function halloffameDetails($uebergabe_id = 0): void
|
||||
{
|
||||
$db = getDatabase();
|
||||
@@ -4484,9 +4876,21 @@ function halloffameDetails($uebergabe_id = 0): void
|
||||
else
|
||||
$id = $uebergabe_id;
|
||||
|
||||
$platzierung = $jInput->get('platzierung', '', 'STRING');
|
||||
if ($platzierung !== 'inspalten' && $platzierung !== 'inzeilen')
|
||||
$platzierung = '';
|
||||
|
||||
$plaetzezeigen = $jInput->get('plaetzezeigen', 0, 'INT');
|
||||
|
||||
$sortierung = $jInput->get('sortierung', 'jahrabwaerts', 'STRING');
|
||||
if ($sortierung !== 'jahraufwaerts')
|
||||
$sortierung = 'jahrabwaerts';
|
||||
$jahrSortierung = $sortierung === 'jahraufwaerts' ? 'ASC' : 'DESC';
|
||||
|
||||
$mitglieder = null;
|
||||
|
||||
$query = "SELECT * FROM #__sportsmanager_halloffame WHERE halloffame_id = $id";
|
||||
$query = "SELECT * FROM #__sportsmanager_halloffame WHERE halloffame_id = $id"
|
||||
. halloffameIdFilter("AND halloffame_id IN");
|
||||
$rows = loadObjectList($db, $query);
|
||||
if (count($rows) < 1) {
|
||||
abortWithError("Wrong id!");
|
||||
@@ -4494,36 +4898,46 @@ function halloffameDetails($uebergabe_id = 0): void
|
||||
$halloffame = $rows[0];
|
||||
$halloffame->platz2_zeigen = 0;
|
||||
$halloffame->platz3_zeigen = 0;
|
||||
$halloffame->teamspieler_zeigen = 0;
|
||||
$halloffame->anzahl_m = 0;
|
||||
$halloffame->anzahl_w = 0;
|
||||
|
||||
$query = "SELECT t2.*, t1.halloffame"
|
||||
. "\n FROM #__sportsmanager_halloffame t1"
|
||||
. "\n LEFT JOIN #__sportsmanager_mitglied_von_halloffame t2 ON t2.halloffame_id = t1.halloffame_id"
|
||||
. "\n WHERE t2.halloffame_id = $id"
|
||||
. "\n ORDER BY t2.jahr DESC, platz ASC;";
|
||||
. halloffameJahrFilter("AND t2.jahr IN")
|
||||
. "\n ORDER BY t2.jahr $jahrSortierung, platz ASC;";
|
||||
$rows = loadObjectList($db, $query);
|
||||
$alleSpielerInfo = halloffameAlleSpielerInfo($db);
|
||||
$alleVereineInfo = halloffameAlleVereineInfo($db);
|
||||
|
||||
if (count($rows) > 0){
|
||||
$mitglieder = [];
|
||||
if ($halloffame->spielform == 1){
|
||||
$alleTeams = halloffameAlleTeams($db);
|
||||
foreach ($rows as $row) {
|
||||
$index_vereinid = "verein_id_" . $row->platz;
|
||||
$index_teamid = "team_id_" . $row->platz;
|
||||
$index_team = "teamname_" . $row->platz;
|
||||
$index_teamspieler = "teamspieler_" . $row->platz;
|
||||
if (!isset($mitglieder[$row->jahr])) {
|
||||
$mitglieder[$row->jahr] = new stdClass();
|
||||
}
|
||||
$mitglieder[$row->jahr]->jahr = $row->jahr;
|
||||
$mitglieder[$row->jahr]->$index_vereinid = $row->verein_id;
|
||||
$mitglieder[$row->jahr]->$index_team = $row->teamname;
|
||||
$mitglieder[$row->jahr]->$index_team = !empty($row->nicht_ausgespielt) ? Text::_('COM_SPORTSMANAGER_HALL_OF_FAME_NOT_HELD') : $row->teamname;
|
||||
$mitglieder[$row->jahr]->$index_teamspieler = $row->teamspieler;
|
||||
if ($row->platz == 2 && !empty($row->teamname))
|
||||
$halloffame->platz2_zeigen = 1;
|
||||
if ($row->platz == 3 && !empty($row->teamname))
|
||||
$halloffame->platz3_zeigen = 1;
|
||||
if (mb_strlen(trim((string) $row->teamspieler)) >= 3)
|
||||
$halloffame->teamspieler_zeigen = 1;
|
||||
|
||||
//Suche team_id wenn keine verein_id vorhanden
|
||||
if (empty($row->verein_id)){
|
||||
$query = "SELECT team_id FROM #__sportsmanager_team WHERE teamname LIKE '$row->teamname%' ORDER BY team_id DESC LIMIT 1;";
|
||||
$mitglieder[$row->jahr]->$index_teamid = loadResult($db, $query);
|
||||
$mitglieder[$row->jahr]->$index_teamid = halloffameTeamIdFuerTeamname($alleTeams, $row->teamname);
|
||||
} else {
|
||||
$mitglieder[$row->jahr]->$index_teamid = "";
|
||||
}
|
||||
@@ -4541,21 +4955,31 @@ function halloffameDetails($uebergabe_id = 0): void
|
||||
}
|
||||
$mitglieder[$row->jahr]->jahr = $row->jahr;
|
||||
$mitglieder[$row->jahr]->$index_spieler1id = $row->spieler1_id;
|
||||
$mitglieder[$row->jahr]->$index_spieler1 = $row->spieler1;
|
||||
$mitglieder[$row->jahr]->$index_spieler1 = !empty($row->nicht_ausgespielt) ? Text::_('COM_SPORTSMANAGER_HALL_OF_FAME_NOT_HELD') : $row->spieler1;
|
||||
$mitglieder[$row->jahr]->$index_spieler2id = $row->spieler2_id;
|
||||
$mitglieder[$row->jahr]->$index_spieler2 = $row->spieler2;
|
||||
if ($row->platz == 2 && (!empty($row->spieler1) || !empty($row->spieler2)))
|
||||
$halloffame->platz2_zeigen = 1;
|
||||
if ($row->platz == 3 && (!empty($row->spieler1) || !empty($row->spieler2)))
|
||||
$halloffame->platz3_zeigen = 1;
|
||||
halloffameGeschlechtZaehlen($halloffame, $alleSpielerInfo, $row->spieler1_id, $halloffame->spielform == 2 ? $row->spieler2_id : null);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$halloffame->geschaetztes_geschlecht = halloffameGeschaetztesGeschlecht($halloffame->anzahl_m, $halloffame->anzahl_w);
|
||||
|
||||
if ($plaetzezeigen > 0) {
|
||||
if ($plaetzezeigen < 2)
|
||||
$halloffame->platz2_zeigen = 0;
|
||||
if ($plaetzezeigen < 3)
|
||||
$halloffame->platz3_zeigen = 0;
|
||||
}
|
||||
|
||||
if (isJson()) {
|
||||
echo json_encode($mitglieder);
|
||||
} else {
|
||||
HTML_sportsmanager::halloffameDetails($params->get('titel'), $params->get('beschreibung'), $mitglieder, $halloffame);
|
||||
HTML_sportsmanager::halloffameDetails(halloffameTitel(), $params->get('beschreibung'), $mitglieder, $halloffame, $platzierung, $alleSpielerInfo, $alleVereineInfo);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -19,11 +19,17 @@ require_once JPATH_SITE . '/components/com_sportsmanager/database/init.php';
|
||||
|
||||
/** @noinspection PhpUnused */
|
||||
function mathParserVerteilung($rohpunkte, $platz, $teilnehmer, $multiplikator) {
|
||||
if ($teilnehmer <= 1){
|
||||
return 0;
|
||||
}
|
||||
return max(round($multiplikator * round(((($rohpunkte - 1) * (-log($platz / $teilnehmer) * (1 - ($platz / $teilnehmer)))) / (-log(1 / $teilnehmer) * (1 - (1 / $teilnehmer)))) + 1)), 1);
|
||||
}
|
||||
|
||||
/** @noinspection PhpUnused */
|
||||
function mathParserVerteilungR($rohpunkte, $platz, $teilnehmer, $multiplikator) {
|
||||
if ($teilnehmer <= 1){
|
||||
return 0;
|
||||
}
|
||||
return max(round(((($multiplikator * $rohpunkte - 1) * (-log($platz / $teilnehmer) * (1 - ($platz / $teilnehmer)))) / (-log(1 / $teilnehmer) * (1 - (1 / $teilnehmer)))) + 1), 1);
|
||||
}
|
||||
|
||||
@@ -226,6 +232,217 @@ function kategorieFilter($prefix, $suffix = ""): string
|
||||
return " $prefix (" . implode(", ", $filter) . ") $suffix";
|
||||
}
|
||||
|
||||
function idListeParameterFilter(string $parameterName, string $prefix, string $suffix = ""): string
|
||||
{
|
||||
$jInput = Factory::getContainer()->get(SiteApplication::class)->input;
|
||||
$werte = $jInput->get($parameterName, '', 'STRING');
|
||||
|
||||
$result = [];
|
||||
foreach (explode(",", $werte) as $item) {
|
||||
$item = trim($item);
|
||||
if ($item === '') continue;
|
||||
|
||||
$num = intval($item);
|
||||
if ($num > 0) {
|
||||
$result[$num] = true; // Duplikate vermeiden
|
||||
}
|
||||
}
|
||||
|
||||
if (empty($result)) {
|
||||
return "";
|
||||
}
|
||||
|
||||
$filter = array_keys($result);
|
||||
sort($filter, SORT_NUMERIC);
|
||||
|
||||
return " $prefix (" . implode(", ", $filter) . ") $suffix";
|
||||
}
|
||||
|
||||
function halloffameIdFilter($prefix): string
|
||||
{
|
||||
// Keine Bereichssuche bei der Halloffame-Id, nur einzelne Werte
|
||||
return idListeParameterFilter('halloffame_id', $prefix);
|
||||
}
|
||||
|
||||
function halloffameJahrFilter($prefix): string
|
||||
{
|
||||
$minJahr = 1900;
|
||||
$maxJahr = (int) date('Y') + 5;
|
||||
|
||||
$jInput = Factory::getContainer()->get(SiteApplication::class)->input;
|
||||
$werte = $jInput->get('jahr', '', 'STRING');
|
||||
|
||||
$result = [];
|
||||
foreach (explode(",", $werte) as $item) {
|
||||
$item = trim($item);
|
||||
if ($item === '') continue;
|
||||
|
||||
// Prüfen, ob es ein Bereich ist
|
||||
if (strpos($item, '-') !== false) {
|
||||
$rangeParts = explode('-', $item);
|
||||
|
||||
// genau 2 Teile für einen gültigen Bereich
|
||||
if (count($rangeParts) !== 2) continue;
|
||||
|
||||
$start = intval(trim($rangeParts[0]));
|
||||
$end = intval(trim($rangeParts[1]));
|
||||
|
||||
if ($start <= 0 || $end <= 0) continue;
|
||||
|
||||
// Werte vertauschen, falls der 2. Wert kleiner als der 1. ist
|
||||
if ($end < $start) {
|
||||
[$start, $end] = [$end, $start];
|
||||
}
|
||||
|
||||
// Bereich auf 1900 .. aktuelles Jahr+5 begrenzen
|
||||
$start = max($start, $minJahr);
|
||||
$end = min($end, $maxJahr);
|
||||
|
||||
if ($start > $end) continue;
|
||||
|
||||
for ($i = $start; $i <= $end; $i++) {
|
||||
$result[$i] = true; // Duplikate vermeiden
|
||||
}
|
||||
} else {
|
||||
$num = intval($item);
|
||||
if ($num <= 0) continue;
|
||||
|
||||
// Einzelwert auf 1900 .. aktuelles Jahr+5 begrenzen
|
||||
$num = max($minJahr, min($maxJahr, $num));
|
||||
$result[$num] = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (empty($result)) {
|
||||
return "";
|
||||
}
|
||||
|
||||
$filter = array_keys($result);
|
||||
sort($filter, SORT_NUMERIC);
|
||||
|
||||
return " $prefix (" . implode(", ", $filter) . ")";
|
||||
}
|
||||
|
||||
function halloffameAlleTeams($db): array
|
||||
{
|
||||
return loadObjectList($db, "SELECT team_id, teamname FROM #__sportsmanager_team ORDER BY team_id DESC");
|
||||
}
|
||||
|
||||
function halloffameTeamIdFuerTeamname(array $alleTeams, ?string $teamname)
|
||||
{
|
||||
if (empty($teamname))
|
||||
return null;
|
||||
foreach ($alleTeams as $team) {
|
||||
if (str_starts_with($team->teamname, $teamname))
|
||||
return $team->team_id;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
function halloffameAlleSpielerInfo($db): array
|
||||
{
|
||||
// "Aktiv" = hat einen aktuellen Verein; ohne aktuellen Verein liefert spieler_details ohnehin keine Daten
|
||||
$rows = loadObjectList($db, "SELECT spieler_id, geschlecht, aktueller_verein_id FROM #__sportsmanager_spieler");
|
||||
$result = [];
|
||||
foreach ($rows as $row) {
|
||||
$result[$row->spieler_id] = (object) [
|
||||
'geschlecht' => $row->geschlecht,
|
||||
'aktiv' => !empty($row->aktueller_verein_id),
|
||||
];
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
|
||||
function halloffameSpielerAktiv(array $alleSpielerInfo, $spieler_id): bool
|
||||
{
|
||||
return empty($spieler_id) || !isset($alleSpielerInfo[$spieler_id]) || $alleSpielerInfo[$spieler_id]->aktiv;
|
||||
}
|
||||
|
||||
function halloffameSpielerBildId(array $alleSpielerInfo, $spieler_id)
|
||||
{
|
||||
return halloffameSpielerAktiv($alleSpielerInfo, $spieler_id) ? $spieler_id : '';
|
||||
}
|
||||
|
||||
function halloffameSpielerBildAlternativ(array $alleSpielerInfo, $spieler_id, string $geschaetztesGeschlecht = ''): string
|
||||
{
|
||||
if (!empty($spieler_id) && isset($alleSpielerInfo[$spieler_id]))
|
||||
return $alleSpielerInfo[$spieler_id]->geschlecht == 'M' ? 'm' : 'w';
|
||||
if ($geschaetztesGeschlecht === 'M')
|
||||
return 'm';
|
||||
if ($geschaetztesGeschlecht === 'W')
|
||||
return 'w';
|
||||
return 'n';
|
||||
}
|
||||
|
||||
function halloffameGeschlechtZaehlen(object $ziel, array $alleSpielerInfo, $spieler1_id, $spieler2_id): void
|
||||
{
|
||||
foreach ([$spieler1_id, $spieler2_id] as $id) {
|
||||
if (empty($id) || !isset($alleSpielerInfo[$id]))
|
||||
continue;
|
||||
if ($alleSpielerInfo[$id]->geschlecht == 'M')
|
||||
$ziel->anzahl_m++;
|
||||
else
|
||||
$ziel->anzahl_w++;
|
||||
}
|
||||
}
|
||||
|
||||
function halloffameGeschaetztesGeschlecht($anzahl_m, $anzahl_w): string
|
||||
{
|
||||
if ($anzahl_m > $anzahl_w)
|
||||
return 'M';
|
||||
if ($anzahl_w > $anzahl_m)
|
||||
return 'W';
|
||||
return '';
|
||||
}
|
||||
|
||||
function halloffameAlleVereineInfo($db): array
|
||||
{
|
||||
$rows = loadObjectList($db, "SELECT verein_id, ausgetreten FROM #__sportsmanager_verein");
|
||||
$result = [];
|
||||
foreach ($rows as $row) {
|
||||
$result[$row->verein_id] = (object) [
|
||||
'aktiv' => empty($row->ausgetreten),
|
||||
];
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
|
||||
function halloffameVereinAktiv(array $alleVereineInfo, $verein_id): bool
|
||||
{
|
||||
return empty($verein_id) || !isset($alleVereineInfo[$verein_id]) || $alleVereineInfo[$verein_id]->aktiv;
|
||||
}
|
||||
|
||||
function halloffameNameLink(string $bild_type, $id, array $alleSpielerInfo, array $alleVereineInfo, string $nameHtml): string
|
||||
{
|
||||
if (empty($id))
|
||||
return $nameHtml;
|
||||
if ($bild_type === 'spieler' && !halloffameSpielerAktiv($alleSpielerInfo, $id))
|
||||
return $nameHtml;
|
||||
if ($bild_type === 'vereine' && !halloffameVereinAktiv($alleVereineInfo, $id))
|
||||
return $nameHtml;
|
||||
|
||||
$tasks = ['spieler' => 'spieler_details', 'vereine' => 'verein_details', 'mannschaften' => 'team_details'];
|
||||
if (!isset($tasks[$bild_type]))
|
||||
return $nameHtml;
|
||||
|
||||
return '<a href="' . SportsManagerURL('&task=' . $tasks[$bild_type] . '&id=' . $id) . '">' . $nameHtml . '</a>';
|
||||
}
|
||||
|
||||
function halloffameTitel(): string
|
||||
{
|
||||
global $params;
|
||||
|
||||
$titel = trim((string) $params->get('titel', ''));
|
||||
if ($titel !== '')
|
||||
return $titel;
|
||||
|
||||
$menu = Factory::getContainer()->get(SiteApplication::class)->getMenu()->getActive();
|
||||
if ($menu !== null && trim((string) $menu->title) !== '')
|
||||
return $menu->title;
|
||||
|
||||
return '';
|
||||
}
|
||||
|
||||
function turnierFilter($prefix): string
|
||||
{
|
||||
$user_id = isExternalDatabase() ? 0 : Factory::getContainer()->get(SiteApplication::class)->getIdentity()->id;
|
||||
|
||||
@@ -45,6 +45,11 @@
|
||||
default=""
|
||||
label="COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_CATEGORIES"
|
||||
description="COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_CATEGORIES_DESC" />
|
||||
<field name="zusatzparameter"
|
||||
type="text"
|
||||
default=""
|
||||
label="COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_EXTRA_PARAMS"
|
||||
description="COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_EXTRA_PARAMS_DESC" />
|
||||
</fieldset>
|
||||
</fields>
|
||||
</metadata>
|
||||
@@ -112,6 +112,7 @@ static function veranstaltungenHeader($titel, $beschreibung, $saisons, $filter_s
|
||||
}
|
||||
if (($praesentation == 0 && count($saisons) > 0) || $ticker_anzeigen) {
|
||||
?>
|
||||
<script>function smChangeSaison(v){var u=new URL(window.location.href);u.searchParams.set('filter_saison_id',v);window.location.href=u.toString();}</script>
|
||||
<form action="<?php echo SportsManagerURL(); ?>" method="post" name="adminForm" id="adminForm">
|
||||
<div class="uk-overflow-auto">
|
||||
<table class="uk-table contentpaneopen<?php echo $params->get('pageclass_sfx'); ?>">
|
||||
@@ -123,14 +124,14 @@ static function veranstaltungenHeader($titel, $beschreibung, $saisons, $filter_s
|
||||
<label for="filter_saison_id"><?php echo Text::_('COM_SPORTSMANAGER_SEASON'); ?>
|
||||
:</label>
|
||||
<select class="uk-select uk-form-width-medium" name="filter_saison_id"
|
||||
id="filter_saison_id" size="1" onChange="document.adminForm.submit();">
|
||||
id="filter_saison_id" size="1" onChange="smChangeSaison(this.value);">
|
||||
<?php
|
||||
foreach ($saisons as $saison)
|
||||
echo "<option value=\"" . $saison->saison_id . "\" " . ($filter_saison_id == $saison->saison_id ? "selected" : "") . ">" . htmlentities_utf8($saison->saisonbezeichnung) . "</option>";
|
||||
?>
|
||||
</select>
|
||||
<input type="submit" name="ok" value="<?php echo Text::_('COM_SPORTSMANAGER_GO'); ?>"
|
||||
class="button uk-button uk-button-primary"/>
|
||||
class="button uk-button uk-button-primary" onclick="smChangeSaison(document.getElementById('filter_saison_id').value); return false;"/>
|
||||
</td>
|
||||
<td> </td>
|
||||
<?php
|
||||
@@ -225,6 +226,7 @@ static function veranstaltungHeaderAlone($veranstaltung, $vorherige_veranstaltun
|
||||
<?php
|
||||
if (($showSeasons && count($seasons) > 1)) {
|
||||
?>
|
||||
<script>function smChangeSaisonAlone(v){var u=new URL(window.location.href);u.searchParams.set('filter_saison_id',v);u.searchParams.set('task','veranstaltungen');u.searchParams.delete('veranstaltungid');window.location.href=u.toString();}</script>
|
||||
<form action="<?php echo SportsManagerURL(); ?>" method="post" name="adminForm" id="adminForm">
|
||||
<div class="uk-overflow-auto">
|
||||
<table class="uk-table contentpaneopen<?php echo $params->get('pageclass_sfx'); ?>">
|
||||
@@ -233,14 +235,14 @@ static function veranstaltungHeaderAlone($veranstaltung, $vorherige_veranstaltun
|
||||
<label for="filter_saison_id"><?php echo Text::_('COM_SPORTSMANAGER_SEASON'); ?>
|
||||
:</label>
|
||||
<select class="uk-select uk-form-width-medium" name="filter_saison_id"
|
||||
id="filter_saison_id" size="1" onChange="document.adminForm.submit();">
|
||||
id="filter_saison_id" size="1" onChange="smChangeSaisonAlone(this.value);">
|
||||
<?php
|
||||
foreach ($seasons as $season)
|
||||
echo "<option value=\"" . $season->saison_id . "\" " . ($filter_saison_id == $season->saison_id ? "selected" : "") . ">" . htmlentities_utf8($season->saisonbezeichnung) . "</option>";
|
||||
?>
|
||||
</select>
|
||||
<input type="submit" name="ok" value="<?php echo Text::_('COM_SPORTSMANAGER_GO'); ?>"
|
||||
class="button uk-button uk-button-primary"/>
|
||||
class="button uk-button uk-button-primary" onclick="smChangeSaisonAlone(document.getElementById('filter_saison_id').value); return false;"/>
|
||||
</td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
@@ -317,6 +319,7 @@ static function turniereHeader($beschreibung, $saisons, $filter_saison_id): void
|
||||
}
|
||||
if (count($saisons) > 0) {
|
||||
?>
|
||||
<script>function smChangeSaison(v){var u=new URL(window.location.href);u.searchParams.set('filter_saison_id',v);window.location.href=u.toString();}</script>
|
||||
<form action="<?php echo SportsManagerURL(); ?>" method="post" name="adminForm" id="adminForm">
|
||||
<div class="uk-overflow-auto">
|
||||
<table class="uk-table contentpaneopen<?php echo $params->get('pageclass_sfx'); ?>">
|
||||
@@ -324,14 +327,14 @@ static function turniereHeader($beschreibung, $saisons, $filter_saison_id): void
|
||||
<td nowrap>
|
||||
<label for="filter_saison_id"><?php echo Text::_('COM_SPORTSMANAGER_SEASON'); ?>:</label>
|
||||
<select class="uk-select uk-form-width-medium" name="filter_saison_id" id="filter_saison_id"
|
||||
size="1" onChange="document.adminForm.submit();">
|
||||
size="1" onChange="smChangeSaison(this.value);">
|
||||
<?php
|
||||
foreach ($saisons as $saison)
|
||||
echo "<option value=\"" . $saison->saison_id . "\" " . ($filter_saison_id == $saison->saison_id ? "selected" : "") . ">" . htmlentities_utf8($saison->saisonbezeichnung) . "</option>";
|
||||
?>
|
||||
</select>
|
||||
<input type="submit" name="ok" value="<?php echo Text::_('COM_SPORTSMANAGER_GO'); ?>"
|
||||
class="button uk-button uk-button-primary"/>
|
||||
class="button uk-button uk-button-primary" onclick="smChangeSaison(document.getElementById('filter_saison_id').value); return false;"/>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
@@ -2150,6 +2153,7 @@ static function tabelleEigeneAnzeigen($veranstaltung, $teams, $alleine_angezeigt
|
||||
}
|
||||
if (count($saisons) > 0) {
|
||||
?>
|
||||
<script>function smChangeSaison(v){var u=new URL(window.location.href);u.searchParams.set('filter_saison_id',v);window.location.href=u.toString();}</script>
|
||||
<form action="<?php echo SportsManagerURL(); ?>" method="post" name="adminForm" id="adminForm">
|
||||
<div class="uk-overflow-auto">
|
||||
<table class="uk-table contentpaneopen<?php echo $params->get('pageclass_sfx'); ?>">
|
||||
@@ -2158,7 +2162,7 @@ static function tabelleEigeneAnzeigen($veranstaltung, $teams, $alleine_angezeigt
|
||||
<label for="filter_saison_id"><?php echo Text::_('COM_SPORTSMANAGER_SEASON'); ?>
|
||||
:</label>
|
||||
<select class="uk-select uk-form-width-medium" name="filter_saison_id"
|
||||
id="filter_saison_id" size="1" onChange="document.adminForm.submit();">
|
||||
id="filter_saison_id" size="1" onChange="smChangeSaison(this.value);">
|
||||
<?php
|
||||
foreach ($saisons as $saison)
|
||||
echo "<option value=\"" . $saison->saison_id . "\" " . ($filter_saison_id == $saison->saison_id ? "selected" : "") . ">" . htmlentities_utf8($saison->saisonbezeichnung) . "</option>";
|
||||
@@ -2166,7 +2170,7 @@ static function tabelleEigeneAnzeigen($veranstaltung, $teams, $alleine_angezeigt
|
||||
</select>
|
||||
<input type="submit" name="ok"
|
||||
value="<?php echo Text::_('COM_SPORTSMANAGER_GO'); ?>"
|
||||
class="button uk-button uk-button-primary"/>
|
||||
class="button uk-button uk-button-primary" onclick="smChangeSaison(document.getElementById('filter_saison_id').value); return false;"/>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
@@ -2660,13 +2664,47 @@ global $params;
|
||||
else
|
||||
echo htmlentities_utf8($team->name);
|
||||
$anschrift = $team->strasse . (!empty($team->strasse) && (!empty($team->plz) || !empty($team->ortsname) || !empty($team->ortsteil)) ? ", " : "") . $team->plz . (!empty($team->plz) ? " " : "") . $team->ortsname . (!empty($team->ortsname) && !empty($team->ortsteil) ? "-" : "") . $team->ortsteil;
|
||||
echo "<br />" . htmlentities_utf8($anschrift);
|
||||
if (!empty($anschrift))
|
||||
echo "<br /><a href=\"https://www.google.com/maps/search/?api=1&query=" . urlencode($anschrift) . "\" target=\"_blank\" rel=\"noopener\">" . htmlentities_utf8($anschrift) . "</a>";
|
||||
if (!empty($team->telefon))
|
||||
echo "<br />" . htmlentities_utf8($team->telefon);
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php
|
||||
if (!empty($team->zusatzinfo)) {
|
||||
?>
|
||||
<tr>
|
||||
<td nowrap style="vertical-align: top">
|
||||
<strong>Weitere Infos:</strong></td>
|
||||
<td>
|
||||
<?php echo nl2br(htmlentities_utf8($team->zusatzinfo)); ?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
if (!empty($team->ruhetage)) {
|
||||
?>
|
||||
<tr>
|
||||
<td nowrap style="vertical-align: top">
|
||||
<strong>Ruhetag:</strong></td>
|
||||
<td nowrap>
|
||||
<?php echo htmlentities_utf8($team->ruhetage); ?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
if (!empty($team->trainingstage)) {
|
||||
?>
|
||||
<tr>
|
||||
<td nowrap style="vertical-align: top">
|
||||
<strong>Training:</strong></td>
|
||||
<td nowrap>
|
||||
<?php echo htmlentities_utf8($team->trainingstage); ?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
}
|
||||
if ($team->nichtraucherschutz != 0) {
|
||||
?>
|
||||
@@ -4162,8 +4200,8 @@ static function halloffame($titel, $beschreibung, $rows): void
|
||||
global $params;
|
||||
if (!empty($titel)) { ?>
|
||||
<style>td{padding: 3px;}</style>
|
||||
<div
|
||||
class="componentheading<?php echo $params->get('pageclass_sfx'); ?>"><?php echo htmlentities_utf8($titel); ?></div><?php }
|
||||
<h1
|
||||
class="componentheading<?php echo $params->get('pageclass_sfx'); ?>" style="font-size: inherit; margin: 0;"><?php echo htmlentities_utf8($titel); ?></h1><?php }
|
||||
if (!empty($beschreibung)) {
|
||||
?>
|
||||
<div class="uk-overflow-auto">
|
||||
@@ -4213,13 +4251,490 @@ static function halloffame($titel, $beschreibung, $rows): void
|
||||
<?php
|
||||
}
|
||||
|
||||
static function halloffameDetails($titel, $beschreibung, $rows, $halloffame): void
|
||||
static function halloffameNachJahrGruppiert($titel, $beschreibung, $disziplinen, $jahresDaten, $platzierung = '', $alleSpielerInfo = [], $alleVereineInfo = []): void
|
||||
{
|
||||
global $params;
|
||||
if (!empty($titel)) { ?>
|
||||
<style>td{padding: 3px;}</style>
|
||||
<div
|
||||
class="componentheading<?php echo $params->get('pageclass_sfx'); ?>"><?php echo htmlentities_utf8($titel); ?></div><?php }
|
||||
<h1
|
||||
class="componentheading<?php echo $params->get('pageclass_sfx'); ?>" style="font-size: inherit; margin: 0;"><?php echo htmlentities_utf8($titel); ?></h1><?php }
|
||||
if (!empty($beschreibung)) {
|
||||
?>
|
||||
<div class="uk-overflow-auto">
|
||||
<table class="contentpaneopen<?php echo $params->get('pageclass_sfx'); ?>">
|
||||
<tr>
|
||||
<td><?php echo str_contains($beschreibung, ">") ? $beschreibung : htmlentities_utf8($beschreibung); ?></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<?php
|
||||
}
|
||||
|
||||
if (count($disziplinen) > 0 && count($jahresDaten) > 0) {
|
||||
?>
|
||||
<style>
|
||||
.sm-halloffame-disziplin-link { color: inherit; text-decoration: none; }
|
||||
.sm-halloffame-disziplin-link:hover { text-decoration: underline; }
|
||||
</style>
|
||||
<?php
|
||||
|
||||
$maxPlatz = 1;
|
||||
foreach ($disziplinen as $disziplin) {
|
||||
if ($disziplin->platz3_zeigen) $maxPlatz = 3;
|
||||
else if ($disziplin->platz2_zeigen && $maxPlatz < 2) $maxPlatz = 2;
|
||||
}
|
||||
$nurPlatz1 = $maxPlatz == 1;
|
||||
$disziplinBreite = $nurPlatz1 ? 400 : 280;
|
||||
|
||||
$breite = 2;
|
||||
foreach ($disziplinen as $disziplin) {
|
||||
if ($disziplin->spielform == 2) $breite = 4;
|
||||
}
|
||||
|
||||
$teamspielerZeigen = false;
|
||||
if ($platzierung === 'inzeilen' || $nurPlatz1) {
|
||||
foreach ($disziplinen as $disziplin) {
|
||||
if ($disziplin->spielform == 1 && $disziplin->teamspieler_zeigen) {
|
||||
$teamspielerZeigen = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
foreach ($jahresDaten as $jahr => $disziplinenDesJahres) {
|
||||
?>
|
||||
<h4><?php echo htmlentities_utf8($jahr); ?></h4>
|
||||
<div class="uk-overflow-auto">
|
||||
<table style='border-collapse: collapse; table-layout: fixed;'
|
||||
class="uk-table-hover uk-table-divider uk-table-middle dtfl-table-medium contentpaneopen<?php echo $params->get('pageclass_sfx'); ?>">
|
||||
|
||||
<?php if ($platzierung === 'inzeilen') { ?>
|
||||
|
||||
<colgroup>
|
||||
<col style="width:400px;">
|
||||
<?php if (!$nurPlatz1) { ?><col style="width:70px;"><?php } ?>
|
||||
<col style="width:70px;">
|
||||
<col style="width:300px;">
|
||||
<?php if ($breite == 4) { ?>
|
||||
<col style="width:70px;">
|
||||
<col style="width:300px;">
|
||||
<?php } ?>
|
||||
<?php if ($teamspielerZeigen) { ?>
|
||||
<col style="width:300px;">
|
||||
<?php } ?>
|
||||
</colgroup>
|
||||
|
||||
<tr class="sectiontableheader<?php echo $params->get('pageclass_sfx'); ?>">
|
||||
<th style="text-align:left;" nowrap><strong><?php echo Text::_('COM_SPORTSMANAGER_HALL_OF_FAME'); ?></strong></th>
|
||||
<?php if (!$nurPlatz1) { ?>
|
||||
<th style="text-align:center;" nowrap><strong><?php echo Text::_('COM_SPORTSMANAGER_PLACE'); ?></strong></th>
|
||||
<?php } ?>
|
||||
<th colspan="<?php echo $breite; ?>" nowrap></th>
|
||||
<?php if ($teamspielerZeigen) { ?>
|
||||
<th style="text-align:left;" nowrap><strong><?php echo Text::_('COM_SPORTSMANAGER_HALL_OF_FAME_TEAM_PLAYERS'); ?></strong></th>
|
||||
<?php } ?>
|
||||
</tr>
|
||||
|
||||
<?php
|
||||
$k = 0;
|
||||
|
||||
foreach ($disziplinen as $disziplin) {
|
||||
if (!isset($disziplinenDesJahres[$disziplin->halloffame_id])) continue;
|
||||
$row = $disziplinenDesJahres[$disziplin->halloffame_id];
|
||||
$rowclass = "sectiontableentry" . ($k + 1) . $params->get('pageclass_sfx');
|
||||
$k = ($k + 1) % 2;
|
||||
|
||||
$plaetzeVorhanden = [];
|
||||
for ($i = 1; $i <= 3; $i++) {
|
||||
if ($i == 2 && !$disziplin->platz2_zeigen) continue;
|
||||
if ($i == 3 && !$disziplin->platz3_zeigen) continue;
|
||||
if ($disziplin->spielform == 2) {
|
||||
$spieler1 = "spieler1_" . $i;
|
||||
$spieler2 = "spieler2_" . $i;
|
||||
if (empty($row->$spieler1) && empty($row->$spieler2)) continue;
|
||||
} else {
|
||||
$txt = ($disziplin->spielform == 1 ? "teamname_" : "spieler1_") . $i;
|
||||
if (empty($row->$txt)) continue;
|
||||
}
|
||||
$plaetzeVorhanden[] = $i;
|
||||
}
|
||||
if (empty($plaetzeVorhanden)) $plaetzeVorhanden = [1];
|
||||
|
||||
$anzahlPlatzZeilen = count($plaetzeVorhanden);
|
||||
$ersteZeile = true;
|
||||
|
||||
foreach ($plaetzeVorhanden as $i) {
|
||||
?>
|
||||
<tr class="<?php echo $rowclass; ?>">
|
||||
<?php if ($ersteZeile) { ?>
|
||||
<td rowspan="<?php echo $anzahlPlatzZeilen; ?>" style="word-wrap: break-word; padding-right: 20px;">
|
||||
<a class="sm-halloffame-disziplin-link" href="<?php echo SportsManagerURL('&task=hall_of_fame_details&id=' . $disziplin->halloffame_id); ?>">
|
||||
<?php echo htmlentities_utf8(NichtLeererString($disziplin->halloffame)); ?>
|
||||
</a>
|
||||
</td>
|
||||
<?php } ?>
|
||||
<?php if (!$nurPlatz1) { ?>
|
||||
<td style="text-align:center;">
|
||||
<?php echo $i; ?>
|
||||
</td>
|
||||
<?php } ?>
|
||||
<?php if ($disziplin->spielform == 2) {
|
||||
$spieler1_id = "spieler1_id_" . $i;
|
||||
$spieler1 = "spieler1_" . $i;
|
||||
$spieler2_id = "spieler2_id_" . $i;
|
||||
$spieler2 = "spieler2_" . $i;
|
||||
?>
|
||||
<td nowrap style="text-align:center; width:70px;">
|
||||
<?php echo bildHTML("spieler", halloffameSpielerBildId($alleSpielerInfo, $row->$spieler1_id), 45, 60, 0, 0, 'border="0"', halloffameSpielerBildAlternativ($alleSpielerInfo, $row->$spieler1_id, $disziplin->geschaetztes_geschlecht)); ?>
|
||||
</td>
|
||||
<td style="text-align:left; word-wrap: break-word;">
|
||||
<?php echo halloffameNameLink('spieler', $row->$spieler1_id, $alleSpielerInfo, $alleVereineInfo, htmlentities_utf8($row->$spieler1)); ?>
|
||||
</td>
|
||||
<td nowrap style="text-align:center; width:70px;">
|
||||
<?php echo bildHTML("spieler", halloffameSpielerBildId($alleSpielerInfo, $row->$spieler2_id), 45, 60, 0, 0, 'border="0"', halloffameSpielerBildAlternativ($alleSpielerInfo, $row->$spieler2_id, $disziplin->geschaetztes_geschlecht)); ?>
|
||||
</td>
|
||||
<td style="text-align:left; word-wrap: break-word;">
|
||||
<?php echo halloffameNameLink('spieler', $row->$spieler2_id, $alleSpielerInfo, $alleVereineInfo, htmlentities_utf8($row->$spieler2)); ?>
|
||||
</td>
|
||||
<?php } else {
|
||||
if ($disziplin->spielform == 1) {
|
||||
$id = "verein_id_" . $i;
|
||||
$txt = "teamname_" . $i;
|
||||
$type = "vereine";
|
||||
if ($row->$id == "") {
|
||||
$id = "team_id_" . $i;
|
||||
$type = "mannschaften";
|
||||
}
|
||||
} else {
|
||||
$id = "spieler1_id_" . $i;
|
||||
$txt = "spieler1_" . $i;
|
||||
$type = "spieler";
|
||||
}
|
||||
?>
|
||||
<td nowrap style="text-align:center; width:70px;">
|
||||
<?php echo bildHTML($type, $type === 'spieler' ? halloffameSpielerBildId($alleSpielerInfo, $row->$id) : $row->$id, 45, 60, 0, 0, 'border="0"', $type === 'spieler' ? halloffameSpielerBildAlternativ($alleSpielerInfo, $row->$id, $disziplin->geschaetztes_geschlecht) : ''); ?>
|
||||
</td>
|
||||
<td style="text-align:left; word-wrap: break-word;">
|
||||
<?php echo halloffameNameLink($type, $row->$id, $alleSpielerInfo, $alleVereineInfo, htmlentities_utf8($row->$txt)); ?>
|
||||
</td>
|
||||
<?php if ($breite == 4) { ?>
|
||||
<td colspan="2"></td>
|
||||
<?php } ?>
|
||||
<?php } ?>
|
||||
<?php if ($teamspielerZeigen) {
|
||||
$index_teamspieler = "teamspieler_" . $i;
|
||||
?>
|
||||
<td style="text-align:left; word-wrap: break-word;">
|
||||
<?php echo $disziplin->spielform == 1 ? nl2br(htmlentities_utf8($row->$index_teamspieler)) : ''; ?>
|
||||
</td>
|
||||
<?php } ?>
|
||||
</tr>
|
||||
<?php
|
||||
$ersteZeile = false;
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
<?php } else { ?>
|
||||
|
||||
<colgroup>
|
||||
<col style="width:<?php echo $disziplinBreite; ?>px;">
|
||||
<?php for ($i = 1; $i <= $maxPlatz; $i++) { ?>
|
||||
<col style="width:70px;">
|
||||
<col style="width:300px;">
|
||||
<?php if ($breite == 4) { ?>
|
||||
<col style="width:70px;">
|
||||
<col style="width:300px;">
|
||||
<?php } ?>
|
||||
<?php } ?>
|
||||
<?php if ($teamspielerZeigen) { ?>
|
||||
<col style="width:300px;">
|
||||
<?php } ?>
|
||||
</colgroup>
|
||||
|
||||
<?php if (!$nurPlatz1 || $teamspielerZeigen) { ?>
|
||||
<tr class="sectiontableheader<?php echo $params->get('pageclass_sfx'); ?>">
|
||||
<th style="text-align:left;" nowrap><strong><?php echo Text::_('COM_SPORTSMANAGER_HALL_OF_FAME'); ?></strong></th>
|
||||
<?php for ($i = 1; $i <= $maxPlatz; $i++) { ?>
|
||||
<th style="text-align:left; padding-left:70px;" colspan="<?php echo $breite; ?>" nowrap>
|
||||
<?php if (!$nurPlatz1) { ?>
|
||||
<strong><?php echo Text::_('COM_SPORTSMANAGER_PLACE') . " " . $i; ?></strong>
|
||||
<?php } ?>
|
||||
</th>
|
||||
<?php } ?>
|
||||
<?php if ($teamspielerZeigen) { ?>
|
||||
<th style="text-align:left;" nowrap><strong><?php echo Text::_('COM_SPORTSMANAGER_HALL_OF_FAME_TEAM_PLAYERS'); ?></strong></th>
|
||||
<?php } ?>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
|
||||
<?php
|
||||
$k = 0;
|
||||
|
||||
foreach ($disziplinen as $disziplin) {
|
||||
if (!isset($disziplinenDesJahres[$disziplin->halloffame_id])) continue;
|
||||
$row = $disziplinenDesJahres[$disziplin->halloffame_id];
|
||||
$rowclass = "sectiontableentry" . ($k + 1) . $params->get('pageclass_sfx');
|
||||
$k = ($k + 1) % 2;
|
||||
?>
|
||||
<tr class="<?php echo $rowclass; ?>">
|
||||
<td style="word-wrap: break-word; padding-right: 20px;">
|
||||
<a class="sm-halloffame-disziplin-link" href="<?php echo SportsManagerURL('&task=hall_of_fame_details&id=' . $disziplin->halloffame_id); ?>">
|
||||
<?php echo htmlentities_utf8(NichtLeererString($disziplin->halloffame)); ?>
|
||||
</a>
|
||||
</td>
|
||||
<?php for ($i = 1; $i <= $maxPlatz; $i++) {
|
||||
$vorhanden = $i == 1 || ($i == 2 && $disziplin->platz2_zeigen) || ($i == 3 && $disziplin->platz3_zeigen);
|
||||
if (!$vorhanden) { ?>
|
||||
<td colspan="<?php echo $breite; ?>"></td>
|
||||
<?php continue; ?>
|
||||
<?php } ?>
|
||||
<?php if ($disziplin->spielform == 2) {
|
||||
$spieler1_id = "spieler1_id_" . $i;
|
||||
$spieler1 = "spieler1_" . $i;
|
||||
$spieler2_id = "spieler2_id_" . $i;
|
||||
$spieler2 = "spieler2_" . $i;
|
||||
?>
|
||||
<td nowrap style="text-align:center; width:70px;">
|
||||
<?php if (!empty($row->$spieler1)) echo bildHTML("spieler", halloffameSpielerBildId($alleSpielerInfo, $row->$spieler1_id), 45, 60, 0, 0, 'border="0"', halloffameSpielerBildAlternativ($alleSpielerInfo, $row->$spieler1_id, $disziplin->geschaetztes_geschlecht)); ?>
|
||||
</td>
|
||||
<td style="text-align:left; word-wrap: break-word;">
|
||||
<?php echo halloffameNameLink('spieler', $row->$spieler1_id, $alleSpielerInfo, $alleVereineInfo, htmlentities_utf8($row->$spieler1)); ?>
|
||||
</td>
|
||||
<td nowrap style="text-align:center; width:70px;">
|
||||
<?php if (!empty($row->$spieler2)) echo bildHTML("spieler", halloffameSpielerBildId($alleSpielerInfo, $row->$spieler2_id), 45, 60, 0, 0, 'border="0"', halloffameSpielerBildAlternativ($alleSpielerInfo, $row->$spieler2_id, $disziplin->geschaetztes_geschlecht)); ?>
|
||||
</td>
|
||||
<td style="text-align:left; word-wrap: break-word;">
|
||||
<?php echo halloffameNameLink('spieler', $row->$spieler2_id, $alleSpielerInfo, $alleVereineInfo, htmlentities_utf8($row->$spieler2)); ?>
|
||||
</td>
|
||||
<?php } else {
|
||||
if ($disziplin->spielform == 1) {
|
||||
$id = "verein_id_" . $i;
|
||||
$txt = "teamname_" . $i;
|
||||
$type = "vereine";
|
||||
if ($row->$id == "") {
|
||||
$id = "team_id_" . $i;
|
||||
$type = "mannschaften";
|
||||
}
|
||||
} else {
|
||||
$id = "spieler1_id_" . $i;
|
||||
$txt = "spieler1_" . $i;
|
||||
$type = "spieler";
|
||||
}
|
||||
?>
|
||||
<td nowrap style="text-align:center; width:70px;">
|
||||
<?php if (!empty($row->$txt)) echo bildHTML($type, $type === 'spieler' ? halloffameSpielerBildId($alleSpielerInfo, $row->$id) : $row->$id, 45, 60, 0, 0, 'border="0"', $type === 'spieler' ? halloffameSpielerBildAlternativ($alleSpielerInfo, $row->$id, $disziplin->geschaetztes_geschlecht) : ''); ?>
|
||||
</td>
|
||||
<td style="text-align:left; word-wrap: break-word;">
|
||||
<?php echo halloffameNameLink($type, $row->$id, $alleSpielerInfo, $alleVereineInfo, htmlentities_utf8($row->$txt)); ?>
|
||||
</td>
|
||||
<?php if ($breite == 4) { ?>
|
||||
<td colspan="2"></td>
|
||||
<?php } ?>
|
||||
<?php } ?>
|
||||
<?php } ?>
|
||||
<?php if ($teamspielerZeigen) {
|
||||
$index_teamspieler = "teamspieler_1";
|
||||
?>
|
||||
<td style="text-align:left; word-wrap: break-word;">
|
||||
<?php echo $disziplin->spielform == 1 ? nl2br(htmlentities_utf8($row->$index_teamspieler)) : ''; ?>
|
||||
</td>
|
||||
<?php } ?>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
|
||||
<?php } ?>
|
||||
</table>
|
||||
</div>
|
||||
<?php
|
||||
}
|
||||
}
|
||||
?>
|
||||
<span class="article_seperator<?php echo $params->get('pageclass_sfx'); ?>"> </span>
|
||||
<?php
|
||||
}
|
||||
|
||||
static function halloffameNachSummeGruppiert($titel, $beschreibung, $traeger): void
|
||||
{
|
||||
global $params;
|
||||
if (!empty($titel)) { ?>
|
||||
<style>td{padding: 3px;}</style>
|
||||
<h1
|
||||
class="componentheading<?php echo $params->get('pageclass_sfx'); ?>" style="font-size: inherit; margin: 0;"><?php echo htmlentities_utf8($titel); ?></h1><?php }
|
||||
if (!empty($beschreibung)) {
|
||||
?>
|
||||
<div class="uk-overflow-auto">
|
||||
<table class="contentpaneopen<?php echo $params->get('pageclass_sfx'); ?>">
|
||||
<tr>
|
||||
<td><?php echo str_contains($beschreibung, ">") ? $beschreibung : htmlentities_utf8($beschreibung); ?></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<?php
|
||||
}
|
||||
|
||||
if (count($traeger) > 0) {
|
||||
?>
|
||||
<div class="uk-overflow-auto">
|
||||
<table style='border-collapse: collapse; table-layout: fixed;'
|
||||
class="uk-table-hover uk-table-divider uk-table-middle dtfl-table-medium contentpaneopen<?php echo $params->get('pageclass_sfx'); ?>">
|
||||
|
||||
<colgroup>
|
||||
<col style="width:70px;">
|
||||
<col style="width:250px;">
|
||||
<col style="width:80px;">
|
||||
<col>
|
||||
</colgroup>
|
||||
|
||||
<tr class="sectiontableheader<?php echo $params->get('pageclass_sfx'); ?>">
|
||||
<th colspan="2" style="text-align:left;" nowrap><strong><?php echo Text::_('COM_SPORTSMANAGER_HALL_OF_FAME'); ?></strong></th>
|
||||
<th style="text-align:center;" nowrap><strong><?php echo Text::_('COM_SPORTSMANAGER_HALL_OF_FAME_TITLE_COUNT'); ?></strong></th>
|
||||
<th style="text-align:left;" nowrap><strong><?php echo Text::_('COM_SPORTSMANAGER_HALL_OF_FAME_TITLES'); ?></strong></th>
|
||||
</tr>
|
||||
|
||||
<?php
|
||||
$k = 0;
|
||||
foreach ($traeger as $t) {
|
||||
$rowclass = "sectiontableentry" . ($k + 1) . $params->get('pageclass_sfx');
|
||||
$k = ($k + 1) % 2;
|
||||
|
||||
$titelTexte = [];
|
||||
foreach ($t->titel as $titel) {
|
||||
$titelTexte[] = htmlentities_utf8(NichtLeererString($titel->halloffame)) . " (" . count($titel->jahre) . ") (" . implode(", ", $titel->jahre) . ")";
|
||||
}
|
||||
?>
|
||||
<tr class="<?php echo $rowclass; ?>">
|
||||
<td nowrap style="text-align:center; width:70px;">
|
||||
<?php
|
||||
$traegerBildId = $t->bild_type === 'spieler' && !$t->aktiv ? '' : $t->bild_id;
|
||||
$traegerBildAlt = $t->bild_type === 'spieler' ? ($t->geschlecht == 'M' ? 'm' : 'w') : '';
|
||||
echo bildHTML($t->bild_type, $traegerBildId, 45, 60, 0, 0, 'border="0"', $traegerBildAlt);
|
||||
?>
|
||||
</td>
|
||||
<td style="text-align:left; word-wrap: break-word;">
|
||||
<?php
|
||||
$traegerDetailsTask = ['spieler' => 'spieler_details', 'vereine' => 'verein_details', 'mannschaften' => 'team_details'][$t->bild_type] ?? '';
|
||||
if ($traegerDetailsTask !== '' && !empty($t->bild_id) && $t->aktiv) {
|
||||
echo '<a href="' . SportsManagerURL('&task=' . $traegerDetailsTask . '&id=' . $t->bild_id) . '">' . htmlentities_utf8($t->name) . '</a>';
|
||||
} else {
|
||||
echo htmlentities_utf8($t->name);
|
||||
}
|
||||
?>
|
||||
</td>
|
||||
<td style="text-align:center;">
|
||||
<?php echo $t->anzahl; ?>
|
||||
</td>
|
||||
<td style="text-align:left; word-wrap: break-word;">
|
||||
<?php echo implode("<br>", $titelTexte); ?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
</table>
|
||||
</div>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
<span class="article_seperator<?php echo $params->get('pageclass_sfx'); ?>"> </span>
|
||||
<?php
|
||||
}
|
||||
|
||||
static function halloffameNachSummeDisziplinGruppiert($titel, $beschreibung, $disziplinen): void
|
||||
{
|
||||
global $params;
|
||||
if (!empty($titel)) { ?>
|
||||
<style>td{padding: 3px;}</style>
|
||||
<h1
|
||||
class="componentheading<?php echo $params->get('pageclass_sfx'); ?>" style="font-size: inherit; margin: 0;"><?php echo htmlentities_utf8($titel); ?></h1><?php }
|
||||
if (!empty($beschreibung)) {
|
||||
?>
|
||||
<div class="uk-overflow-auto">
|
||||
<table class="contentpaneopen<?php echo $params->get('pageclass_sfx'); ?>">
|
||||
<tr>
|
||||
<td><?php echo str_contains($beschreibung, ">") ? $beschreibung : htmlentities_utf8($beschreibung); ?></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<?php
|
||||
}
|
||||
|
||||
?>
|
||||
<style>
|
||||
.sm-halloffame-disziplin-link { color: inherit; text-decoration: none; }
|
||||
.sm-halloffame-disziplin-link:hover { text-decoration: underline; }
|
||||
</style>
|
||||
<?php
|
||||
|
||||
foreach ($disziplinen as $disziplin) {
|
||||
if (count($disziplin->traeger) == 0) continue;
|
||||
?>
|
||||
<h4>
|
||||
<a class="sm-halloffame-disziplin-link" href="<?php echo SportsManagerURL('&task=hall_of_fame_details&id=' . $disziplin->halloffame_id); ?>">
|
||||
<?php echo htmlentities_utf8(NichtLeererString($disziplin->halloffame)); ?>
|
||||
</a>
|
||||
</h4>
|
||||
<div class="uk-overflow-auto">
|
||||
<table style='border-collapse: collapse; table-layout: fixed;'
|
||||
class="uk-table-hover uk-table-divider uk-table-middle dtfl-table-medium contentpaneopen<?php echo $params->get('pageclass_sfx'); ?>">
|
||||
|
||||
<colgroup>
|
||||
<col style="width:70px;">
|
||||
<col style="width:250px;">
|
||||
<col style="width:80px;">
|
||||
<col>
|
||||
</colgroup>
|
||||
|
||||
<tr class="sectiontableheader<?php echo $params->get('pageclass_sfx'); ?>">
|
||||
<th colspan="2" style="text-align:left;" nowrap><strong><?php echo Text::_('COM_SPORTSMANAGER_HALL_OF_FAME'); ?></strong></th>
|
||||
<th style="text-align:center;" nowrap><strong><?php echo Text::_('COM_SPORTSMANAGER_HALL_OF_FAME_TITLE_COUNT'); ?></strong></th>
|
||||
<th style="text-align:left;" nowrap><strong><?php echo Text::_('COM_SPORTSMANAGER_YEARS'); ?></strong></th>
|
||||
</tr>
|
||||
|
||||
<?php
|
||||
$k = 0;
|
||||
foreach ($disziplin->traeger as $t) {
|
||||
$rowclass = "sectiontableentry" . ($k + 1) . $params->get('pageclass_sfx');
|
||||
$k = ($k + 1) % 2;
|
||||
?>
|
||||
<tr class="<?php echo $rowclass; ?>">
|
||||
<td nowrap style="text-align:center; width:70px;">
|
||||
<?php
|
||||
$traegerBildId = $t->bild_type === 'spieler' && !$t->aktiv ? '' : $t->bild_id;
|
||||
$traegerBildAlt = $t->bild_type === 'spieler' ? ($t->geschlecht == 'M' ? 'm' : 'w') : '';
|
||||
echo bildHTML($t->bild_type, $traegerBildId, 45, 60, 0, 0, 'border="0"', $traegerBildAlt);
|
||||
?>
|
||||
</td>
|
||||
<td style="text-align:left; word-wrap: break-word;">
|
||||
<?php
|
||||
$traegerDetailsTask = ['spieler' => 'spieler_details', 'vereine' => 'verein_details', 'mannschaften' => 'team_details'][$t->bild_type] ?? '';
|
||||
if ($traegerDetailsTask !== '' && !empty($t->bild_id) && $t->aktiv) {
|
||||
echo '<a href="' . SportsManagerURL('&task=' . $traegerDetailsTask . '&id=' . $t->bild_id) . '">' . htmlentities_utf8($t->name) . '</a>';
|
||||
} else {
|
||||
echo htmlentities_utf8($t->name);
|
||||
}
|
||||
?>
|
||||
</td>
|
||||
<td style="text-align:center;">
|
||||
<?php echo $t->anzahl; ?>
|
||||
</td>
|
||||
<td style="text-align:left; word-wrap: break-word;">
|
||||
<?php echo implode(", ", $t->jahre); ?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
</table>
|
||||
</div>
|
||||
<?php } ?>
|
||||
<span class="article_seperator<?php echo $params->get('pageclass_sfx'); ?>"> </span>
|
||||
<?php
|
||||
}
|
||||
|
||||
static function halloffameDetails($titel, $beschreibung, $rows, $halloffame, $platzierung = '', $alleSpielerInfo = [], $alleVereineInfo = []): void
|
||||
{
|
||||
global $params;
|
||||
if (!empty($titel)) { ?>
|
||||
<style>td{padding: 3px;}</style>
|
||||
<h1
|
||||
class="componentheading<?php echo $params->get('pageclass_sfx'); ?>" style="font-size: inherit; margin: 0;"><?php echo htmlentities_utf8($titel); ?></h1><?php }
|
||||
if (!empty($beschreibung)) {
|
||||
?>
|
||||
<div class="uk-overflow-auto">
|
||||
@@ -4235,25 +4750,27 @@ static function halloffameDetails($titel, $beschreibung, $rows, $halloffame): vo
|
||||
echo "<H3>" . htmlentities_utf8($halloffame->halloffame) . "</H3>";
|
||||
|
||||
if ($rows != null) {
|
||||
$nurPlatz1 = !$halloffame->platz2_zeigen && !$halloffame->platz3_zeigen;
|
||||
$teamspielerZeigen = $halloffame->spielform == 1 && $halloffame->teamspieler_zeigen && ($platzierung === 'inzeilen' || $nurPlatz1);
|
||||
?>
|
||||
<div class="uk-overflow-auto">
|
||||
<table style='border-collapse: collapse;'
|
||||
class="uk-table-hover uk-table-divider uk-table-middle dtfl-table-medium contentpaneopen<?php echo $params->get('pageclass_sfx'); ?>">
|
||||
|
||||
<?php if ($platzierung === 'inzeilen') { ?>
|
||||
<tr class="sectiontableheader<?php echo $params->get('pageclass_sfx'); ?>">
|
||||
<th style="text-align:center; width:100px;" nowrap>
|
||||
<strong><?php echo Text::_('COM_SPORTSMANAGER_YEAR'); ?></strong>
|
||||
</th>
|
||||
|
||||
<?php
|
||||
for ($i = 1; $i <= 3; $i++) {
|
||||
if ($i == 2 && !$halloffame->platz2_zeigen) continue;
|
||||
if ($i == 3 && !$halloffame->platz3_zeigen) continue;
|
||||
?>
|
||||
<th style="text-align:center;" colspan="2" nowrap>
|
||||
<strong><?php echo Text::_('COM_SPORTSMANAGER_PLACE') . " " . $i; ?></strong>
|
||||
<?php if (!$nurPlatz1) { ?>
|
||||
<th style="text-align:center; width:100px;" nowrap>
|
||||
<strong><?php echo Text::_('COM_SPORTSMANAGER_PLACE'); ?></strong>
|
||||
</th>
|
||||
<?php } ?>
|
||||
<th style="text-align:center;" colspan="<?php echo $halloffame->spielform == 2 ? 4 : 2; ?>" nowrap></th>
|
||||
<?php if ($teamspielerZeigen) { ?>
|
||||
<th style="text-align:left;" nowrap><strong><?php echo Text::_('COM_SPORTSMANAGER_HALL_OF_FAME_TEAM_PLAYERS'); ?></strong></th>
|
||||
<?php } ?>
|
||||
</tr>
|
||||
|
||||
<?php
|
||||
@@ -4263,10 +4780,148 @@ static function halloffameDetails($titel, $beschreibung, $rows, $halloffame): vo
|
||||
$rowclass = "sectiontableentry" . ($k + 1) . $params->get('pageclass_sfx');
|
||||
$k = ($k + 1) % 2;
|
||||
|
||||
$plaetzeVorhanden = [];
|
||||
for ($i = 1; $i <= 3; $i++) {
|
||||
if ($i == 2 && !$halloffame->platz2_zeigen) continue;
|
||||
if ($i == 3 && !$halloffame->platz3_zeigen) continue;
|
||||
if ($halloffame->spielform == 2) {
|
||||
$spieler1 = "spieler1_" . $i;
|
||||
$spieler2 = "spieler2_" . $i;
|
||||
if (empty($row->$spieler1) && empty($row->$spieler2)) continue;
|
||||
} else {
|
||||
$txt = ($halloffame->spielform == 1 ? "teamname_" : "spieler1_") . $i;
|
||||
if (empty($row->$txt)) continue;
|
||||
}
|
||||
$plaetzeVorhanden[] = $i;
|
||||
}
|
||||
if (empty($plaetzeVorhanden)) $plaetzeVorhanden = [1];
|
||||
|
||||
$anzahlPlatzZeilen = count($plaetzeVorhanden);
|
||||
$ersteZeile = true;
|
||||
|
||||
foreach ($plaetzeVorhanden as $i) {
|
||||
?>
|
||||
<tr class="<?php echo $rowclass; ?>"<?php echo $ersteZeile ? ' style="border-top-width: 3px;"' : ''; ?>>
|
||||
<?php if ($ersteZeile) { ?>
|
||||
<td rowspan="<?php echo $anzahlPlatzZeilen; ?>" nowrap style="text-align:center;">
|
||||
<?php echo $row->jahr; ?>
|
||||
</td>
|
||||
<?php } ?>
|
||||
<?php if (!$nurPlatz1) { ?>
|
||||
<td nowrap style="text-align:center;">
|
||||
<?php echo $i; ?>
|
||||
</td>
|
||||
<?php } ?>
|
||||
<?php if ($halloffame->spielform == 2) {
|
||||
$spieler1_id = "spieler1_id_" . $i;
|
||||
$spieler1 = "spieler1_" . $i;
|
||||
$spieler2_id = "spieler2_id_" . $i;
|
||||
$spieler2 = "spieler2_" . $i;
|
||||
?>
|
||||
<td nowrap style="text-align:center; width:70px;">
|
||||
<?php echo bildHTML("spieler", halloffameSpielerBildId($alleSpielerInfo, $row->$spieler1_id), 45, 60, 0, 0, 'border="0"', halloffameSpielerBildAlternativ($alleSpielerInfo, $row->$spieler1_id, $halloffame->geschaetztes_geschlecht)); ?>
|
||||
</td>
|
||||
<td nowrap style="text-align:left; width:300px;">
|
||||
<?php echo halloffameNameLink('spieler', $row->$spieler1_id, $alleSpielerInfo, $alleVereineInfo, htmlentities_utf8($row->$spieler1)); ?>
|
||||
</td>
|
||||
<td nowrap style="text-align:center; width:70px;">
|
||||
<?php echo bildHTML("spieler", halloffameSpielerBildId($alleSpielerInfo, $row->$spieler2_id), 45, 60, 0, 0, 'border="0"', halloffameSpielerBildAlternativ($alleSpielerInfo, $row->$spieler2_id, $halloffame->geschaetztes_geschlecht)); ?>
|
||||
</td>
|
||||
<td nowrap style="text-align:left; width:300px;">
|
||||
<?php echo halloffameNameLink('spieler', $row->$spieler2_id, $alleSpielerInfo, $alleVereineInfo, htmlentities_utf8($row->$spieler2)); ?>
|
||||
</td>
|
||||
<?php } else {
|
||||
if ($halloffame->spielform == 1) {
|
||||
$id = "verein_id_" . $i;
|
||||
$txt = "teamname_" . $i;
|
||||
$type = "vereine";
|
||||
if ($row->$id == ""){
|
||||
$id = "team_id_" . $i;
|
||||
$type = "mannschaften";
|
||||
}
|
||||
} else {
|
||||
$id = "spieler1_id_" . $i;
|
||||
$txt = "spieler1_" . $i;
|
||||
$type = "spieler";
|
||||
}
|
||||
?>
|
||||
<td nowrap style="text-align:center; width:70px;">
|
||||
<?php echo bildHTML($type, $type === 'spieler' ? halloffameSpielerBildId($alleSpielerInfo, $row->$id) : $row->$id, 45, 60, 0, 0, 'border="0"', $type === 'spieler' ? halloffameSpielerBildAlternativ($alleSpielerInfo, $row->$id, $halloffame->geschaetztes_geschlecht) : ''); ?>
|
||||
</td>
|
||||
<td nowrap style="text-align:left; width:300px;">
|
||||
<?php echo halloffameNameLink($type, $row->$id, $alleSpielerInfo, $alleVereineInfo, htmlentities_utf8($row->$txt)); ?>
|
||||
</td>
|
||||
<?php if ($teamspielerZeigen) {
|
||||
$index_teamspieler = "teamspieler_" . $i;
|
||||
?>
|
||||
<td style="text-align:left; word-wrap: break-word;">
|
||||
<?php echo nl2br(htmlentities_utf8($row->$index_teamspieler)); ?>
|
||||
</td>
|
||||
<?php } ?>
|
||||
<?php } ?>
|
||||
</tr>
|
||||
<?php
|
||||
$ersteZeile = false;
|
||||
}
|
||||
}
|
||||
?>
|
||||
<?php } else {
|
||||
$einspaltigesDoppel = ($platzierung === '' && $halloffame->spielform == 2 && !$halloffame->platz2_zeigen && !$halloffame->platz3_zeigen);
|
||||
?>
|
||||
<tr class="sectiontableheader<?php echo $params->get('pageclass_sfx'); ?>">
|
||||
<th style="text-align:center; width:100px;" nowrap>
|
||||
<strong><?php echo Text::_('COM_SPORTSMANAGER_YEAR'); ?></strong>
|
||||
</th>
|
||||
|
||||
<?php
|
||||
for ($i = 1; $i <= 3; $i++) {
|
||||
if ($i == 2 && !$halloffame->platz2_zeigen) continue;
|
||||
if ($i == 3 && !$halloffame->platz3_zeigen) continue;
|
||||
?>
|
||||
<th style="text-align:left; padding-left:70px;" colspan="<?php echo $einspaltigesDoppel ? 4 : 2; ?>" nowrap>
|
||||
<?php if (!$nurPlatz1) { ?>
|
||||
<strong><?php echo Text::_('COM_SPORTSMANAGER_PLACE') . " " . $i; ?></strong>
|
||||
<?php } ?>
|
||||
</th>
|
||||
<?php } ?>
|
||||
<?php if ($teamspielerZeigen) { ?>
|
||||
<th style="text-align:left;" nowrap><strong><?php echo Text::_('COM_SPORTSMANAGER_HALL_OF_FAME_TEAM_PLAYERS'); ?></strong></th>
|
||||
<?php } ?>
|
||||
</tr>
|
||||
|
||||
<?php
|
||||
$k = 0;
|
||||
|
||||
foreach ($rows as $row) {
|
||||
$rowclass = "sectiontableentry" . ($k + 1) . $params->get('pageclass_sfx');
|
||||
$k = ($k + 1) % 2;
|
||||
|
||||
if ($halloffame->spielform == 2 && $einspaltigesDoppel) {
|
||||
?>
|
||||
<tr class="<?php echo $rowclass; ?>" style="border-top-width: 3px;">
|
||||
|
||||
<td nowrap style="text-align:center;">
|
||||
<?php echo $row->jahr; ?>
|
||||
</td>
|
||||
|
||||
<td nowrap style="text-align:center; width:70px;">
|
||||
<?php if (!empty($row->spieler1_1)) echo bildHTML("spieler", halloffameSpielerBildId($alleSpielerInfo, $row->spieler1_id_1), 45, 60, 0, 0, 'border="0"', halloffameSpielerBildAlternativ($alleSpielerInfo, $row->spieler1_id_1, $halloffame->geschaetztes_geschlecht)); ?>
|
||||
</td>
|
||||
<td nowrap style="text-align:left; width:300px;">
|
||||
<?php echo halloffameNameLink('spieler', $row->spieler1_id_1, $alleSpielerInfo, $alleVereineInfo, htmlentities_utf8($row->spieler1_1)); ?>
|
||||
</td>
|
||||
<td nowrap style="text-align:center; width:70px;">
|
||||
<?php if (!empty($row->spieler2_1)) echo bildHTML("spieler", halloffameSpielerBildId($alleSpielerInfo, $row->spieler2_id_1), 45, 60, 0, 0, 'border="0"', halloffameSpielerBildAlternativ($alleSpielerInfo, $row->spieler2_id_1, $halloffame->geschaetztes_geschlecht)); ?>
|
||||
</td>
|
||||
<td nowrap style="text-align:left; width:300px;">
|
||||
<?php echo halloffameNameLink('spieler', $row->spieler2_id_1, $alleSpielerInfo, $alleVereineInfo, htmlentities_utf8($row->spieler2_1)); ?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php
|
||||
} else if ($halloffame->spielform == 2) {
|
||||
?>
|
||||
<!-- Erste Zeile -->
|
||||
<tr class="<?php echo $rowclass; ?>">
|
||||
<tr class="<?php echo $rowclass; ?>" style="border-top-width: 3px;">
|
||||
|
||||
<td rowspan="2" nowrap style="text-align:center;">
|
||||
<?php echo $row->jahr; ?>
|
||||
@@ -4279,10 +4934,10 @@ static function halloffameDetails($titel, $beschreibung, $rows, $halloffame): vo
|
||||
$spieler1 = "spieler1_" . $i;
|
||||
?>
|
||||
<td nowrap style="text-align:center; width:70px;">
|
||||
<?php echo bildHTML("spieler", $row->$spieler1_id, 45, 60, 0, 0, 'border="0"'); ?>
|
||||
<?php if (!empty($row->$spieler1)) echo bildHTML("spieler", halloffameSpielerBildId($alleSpielerInfo, $row->$spieler1_id), 45, 60, 0, 0, 'border="0"', halloffameSpielerBildAlternativ($alleSpielerInfo, $row->$spieler1_id, $halloffame->geschaetztes_geschlecht)); ?>
|
||||
</td>
|
||||
<td nowrap style="text-align:left; width:300px;">
|
||||
<?php echo htmlentities_utf8($row->$spieler1); ?>
|
||||
<?php echo halloffameNameLink('spieler', $row->$spieler1_id, $alleSpielerInfo, $alleVereineInfo, htmlentities_utf8($row->$spieler1)); ?>
|
||||
</td>
|
||||
<?php } ?>
|
||||
</tr>
|
||||
@@ -4295,17 +4950,17 @@ static function halloffameDetails($titel, $beschreibung, $rows, $halloffame): vo
|
||||
$spieler2 = "spieler2_" . $i;
|
||||
?>
|
||||
<td nowrap style="text-align:center; width:70px;">
|
||||
<?php echo bildHTML("spieler", $row->$spieler2_id, 45, 60, 0, 0, 'border="0"'); ?>
|
||||
<?php if (!empty($row->$spieler2)) echo bildHTML("spieler", halloffameSpielerBildId($alleSpielerInfo, $row->$spieler2_id), 45, 60, 0, 0, 'border="0"', halloffameSpielerBildAlternativ($alleSpielerInfo, $row->$spieler2_id, $halloffame->geschaetztes_geschlecht)); ?>
|
||||
</td>
|
||||
<td nowrap style="text-align:left; width:300px;">
|
||||
<?php echo htmlentities_utf8($row->$spieler2); ?>
|
||||
<?php echo halloffameNameLink('spieler', $row->$spieler2_id, $alleSpielerInfo, $alleVereineInfo, htmlentities_utf8($row->$spieler2)); ?>
|
||||
</td>
|
||||
<?php } ?>
|
||||
</tr>
|
||||
<?php
|
||||
} else {
|
||||
?>
|
||||
<tr class="<?php echo $rowclass; ?>">
|
||||
<tr class="<?php echo $rowclass; ?>" style="border-top-width: 3px;">
|
||||
<td nowrap style="text-align:center;">
|
||||
<?php echo $row->jahr; ?>
|
||||
</td>
|
||||
@@ -4327,17 +4982,24 @@ static function halloffameDetails($titel, $beschreibung, $rows, $halloffame): vo
|
||||
}
|
||||
?>
|
||||
<td nowrap style="text-align:center; width:70px;">
|
||||
<?php echo bildHTML($type, $row->$id, 45, 60, 0, 0, 'border="0"'); ?>
|
||||
<?php if (!empty($row->$txt)) echo bildHTML($type, $type === 'spieler' ? halloffameSpielerBildId($alleSpielerInfo, $row->$id) : $row->$id, 45, 60, 0, 0, 'border="0"', $type === 'spieler' ? halloffameSpielerBildAlternativ($alleSpielerInfo, $row->$id, $halloffame->geschaetztes_geschlecht) : ''); ?>
|
||||
</td>
|
||||
<td nowrap style="text-align:left; width:300px;">
|
||||
<?php echo htmlentities_utf8($row->$txt); ?>
|
||||
<?php echo halloffameNameLink($type, $row->$id, $alleSpielerInfo, $alleVereineInfo, htmlentities_utf8($row->$txt)); ?>
|
||||
</td>
|
||||
<?php if ($teamspielerZeigen) {
|
||||
$index_teamspieler = "teamspieler_" . $i;
|
||||
?>
|
||||
<td style="text-align:left; word-wrap: break-word;">
|
||||
<?php echo nl2br(htmlentities_utf8($row->$index_teamspieler)); ?>
|
||||
</td>
|
||||
<?php } ?>
|
||||
<?php } ?>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
}
|
||||
?>
|
||||
} ?>
|
||||
</table>
|
||||
<?php
|
||||
}
|
||||
@@ -6053,6 +6715,7 @@ static function spielerstatistikenHeader($titel, $beschreibung, $saisons, $filte
|
||||
}
|
||||
if (!empty($saisons) || !empty($spiele) || !empty($teams)) {
|
||||
?>
|
||||
<script>function smChangeSaison(v){var u=new URL(window.location.href);u.searchParams.set('filter_saison_id',v);window.location.href=u.toString();}</script>
|
||||
<form action="<?php echo SportsManagerURL(); ?>" method="post" name="adminForm" id="adminForm">
|
||||
<div class="uk-overflow-auto">
|
||||
<table class="uk-table contentpaneopen<?php echo $params->get('pageclass_sfx'); ?>">
|
||||
@@ -6064,7 +6727,7 @@ static function spielerstatistikenHeader($titel, $beschreibung, $saisons, $filte
|
||||
:</label>
|
||||
<select class="uk-select uk-form-width-small" name="filter_saison_id"
|
||||
id="filter_saison_id" size="1"
|
||||
onChange="document.adminForm.submit();">
|
||||
onChange="smChangeSaison(this.value);">
|
||||
<?php
|
||||
foreach ($saisons as $saison)
|
||||
echo "<option value=\"" . $saison->saison_id . "\" " . ($filter_saison_id == $saison->saison_id ? "selected" : "") . ">" . htmlentities_utf8($saison->saisonbezeichnung) . "</option>";
|
||||
@@ -6423,6 +7086,7 @@ static function individualwettbewerbHeader($titel, $beschreibung, $saisons, $fil
|
||||
}
|
||||
if (count($saisons) > 0) {
|
||||
?>
|
||||
<script>function smChangeSaison(v){var u=new URL(window.location.href);u.searchParams.set('filter_saison_id',v);window.location.href=u.toString();}</script>
|
||||
<form action="<?php echo SportsManagerURL(); ?>" method="post" name="adminForm" id="adminForm">
|
||||
<div class="uk-overflow-auto">
|
||||
<table class="uk-table contentpaneopen<?php echo $params->get('pageclass_sfx'); ?>">
|
||||
@@ -6433,7 +7097,7 @@ static function individualwettbewerbHeader($titel, $beschreibung, $saisons, $fil
|
||||
:</label>
|
||||
<select class="uk-select uk-form-width-medium" name="filter_saison_id"
|
||||
id="filter_saison_id" size="1"
|
||||
onChange="document.adminForm.submit();">
|
||||
onChange="smChangeSaison(this.value);">
|
||||
<?php
|
||||
foreach ($saisons as $saison)
|
||||
echo "<option value=\"" . $saison->saison_id . "\" " . ($filter_saison_id == $saison->saison_id ? "selected" : "") . ">" . htmlentities_utf8($saison->saisonbezeichnung) . "</option>";
|
||||
@@ -6441,7 +7105,7 @@ static function individualwettbewerbHeader($titel, $beschreibung, $saisons, $fil
|
||||
</select>
|
||||
<input type="submit" name="ok"
|
||||
value="<?php echo Text::_('COM_SPORTSMANAGER_GO'); ?>"
|
||||
class="button uk-button uk-button-primary"/>
|
||||
class="button uk-button uk-button-primary" onclick="smChangeSaison(document.getElementById('filter_saison_id').value); return false;"/>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
@@ -7253,6 +7917,7 @@ static function ranglistenHeader($titel, $beschreibung, $saisons, $filter_saison
|
||||
}
|
||||
if (count($saisons) > 0) {
|
||||
?>
|
||||
<script>function smChangeSaison(v){var u=new URL(window.location.href);u.searchParams.set('filter_saison_id',v);window.location.href=u.toString();}</script>
|
||||
<form action="<?php echo SportsManagerURL(); ?>" method="post" name="adminForm" id="adminForm">
|
||||
<div class="uk-overflow-auto">
|
||||
<table class="uk-table contentpaneopen<?php echo $params->get('pageclass_sfx'); ?>">
|
||||
@@ -7263,7 +7928,7 @@ static function ranglistenHeader($titel, $beschreibung, $saisons, $filter_saison
|
||||
:</label>
|
||||
<select class="uk-select uk-form-width-small" name="filter_saison_id"
|
||||
id="filter_saison_id" size="1"
|
||||
onChange="document.adminForm.submit();">
|
||||
onChange="smChangeSaison(this.value);">
|
||||
<?php
|
||||
foreach ($saisons as $saison)
|
||||
echo "<option value=\"" . $saison->saison_id . "\" " . ($filter_saison_id == $saison->saison_id ? "selected" : "") . ">" . htmlentities_utf8($saison->saisonbezeichnung) . "</option>";
|
||||
@@ -7271,7 +7936,7 @@ static function ranglistenHeader($titel, $beschreibung, $saisons, $filter_saison
|
||||
</select>
|
||||
<input type="submit" name="ok"
|
||||
value="<?php echo Text::_('COM_SPORTSMANAGER_GO'); ?>"
|
||||
class="button uk-button uk-button-primary"/>
|
||||
class="button uk-button uk-button-primary" onclick="smChangeSaison(document.getElementById('filter_saison_id').value); return false;"/>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
@@ -4436,6 +4436,17 @@ class HTML_sportsmanager_admin
|
||||
value="<?php if ($row != null) echo htmlentities_utf8($row->ruhetage); ?>"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td nowrap style="width: 20%; text-align: right; vertical-align: top">
|
||||
<label
|
||||
for="zusatzinfo"><?php echo Text::_('COM_SPORTSMANAGER_ADDITIONAL_INFO'); ?>
|
||||
:</label>
|
||||
</td>
|
||||
<td nowrap>
|
||||
<textarea name="zusatzinfo" id="zusatzinfo" cols="60"
|
||||
rows="8"><?php if ($row != null) echo htmlentities_utf8($row->zusatzinfo); ?></textarea>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td nowrap style="width: 20%; text-align: right; vertical-align: top">
|
||||
<label
|
||||
@@ -8167,6 +8178,7 @@ static function adminVerbandsorganMitglieder($rows,$verbandsorgan): void
|
||||
|
||||
<?php
|
||||
if ($rows != null) {
|
||||
$einspaltigesDoppel = ($halloffame->spielform == 2 && !$halloffame->platz2_zeigen && !$halloffame->platz3_zeigen);
|
||||
?>
|
||||
<div class="uk-overflow-auto">
|
||||
<table style='border-collapse: collapse;'
|
||||
@@ -8182,7 +8194,7 @@ static function adminVerbandsorganMitglieder($rows,$verbandsorgan): void
|
||||
if ($i == 2 && !$halloffame->platz2_zeigen) continue;
|
||||
if ($i == 3 && !$halloffame->platz3_zeigen) continue;
|
||||
?>
|
||||
<th style="text-align:center;" colspan="2" nowrap>
|
||||
<th style="text-align:center;" colspan="<?php echo $einspaltigesDoppel ? 4 : 2; ?>" nowrap>
|
||||
<strong><?php echo Text::_('COM_SPORTSMANAGER_PLACE') . " " . $i; ?></strong>
|
||||
</th>
|
||||
<?php } ?>
|
||||
@@ -8198,7 +8210,42 @@ static function adminVerbandsorganMitglieder($rows,$verbandsorgan): void
|
||||
$rowclass = "sectiontableentry" . ($k + 1) . $params->get('pageclass_sfx');
|
||||
$k = ($k + 1) % 2;
|
||||
|
||||
if ($halloffame->spielform == 2) {
|
||||
if ($halloffame->spielform == 2 && $einspaltigesDoppel) {
|
||||
?>
|
||||
|
||||
<tr class="<?php echo $rowclass; ?>">
|
||||
|
||||
<td nowrap style="text-align:center;">
|
||||
<a href="<?php echo SportsManagerURL('&task=admin_halloffame_mitglied_edit&halloffame_id=' . $halloffame->halloffame_id . '&jahr=' . $row->jahr); ?>">
|
||||
<?php echo $row->jahr; ?>
|
||||
</a>
|
||||
</td>
|
||||
|
||||
<td nowrap style="text-align:center; width:70px;">
|
||||
<?php echo bildHTML("spieler", $row->spieler1_id_1, 45, 60, 0, 0, 'border="0"'); ?>
|
||||
</td>
|
||||
<td nowrap style="text-align:left; width:300px;">
|
||||
<?php echo htmlentities_utf8($row->spieler1_1); ?>
|
||||
</td>
|
||||
<td nowrap style="text-align:center; width:70px;">
|
||||
<?php echo bildHTML("spieler", $row->spieler2_id_1, 45, 60, 0, 0, 'border="0"'); ?>
|
||||
</td>
|
||||
<td nowrap style="text-align:left; width:300px;">
|
||||
<?php echo htmlentities_utf8($row->spieler2_1); ?>
|
||||
</td>
|
||||
|
||||
<td nowrap>
|
||||
<small>
|
||||
<a href="<?php echo SportsManagerURL('&task=admin_halloffame_mitglied_remove&halloffame_id=' . $halloffame->halloffame_id . '&jahr=' . $row->jahr); ?>"
|
||||
onclick="return confirm('<?php echo Text::_('COM_SPORTSMANAGER_REALLY_REMOVE_HALL_OF_FAME_YEAR'); ?>');"
|
||||
title="<?php echo Text::_('COM_SPORTSMANAGER_REMOVE'); ?>">
|
||||
X
|
||||
</a>
|
||||
</small>
|
||||
</td>
|
||||
</tr>
|
||||
<?php
|
||||
} else if ($halloffame->spielform == 2) {
|
||||
?>
|
||||
|
||||
<!-- Erste Zeile -->
|
||||
@@ -8310,11 +8357,58 @@ static function adminVerbandsorganMitglieder($rows,$verbandsorgan): void
|
||||
static function adminEditHalloffameMitglied($row,$halloffame,$vereine,$spieler,$jahre): void
|
||||
{
|
||||
global $params;
|
||||
|
||||
// Options nur einmal aufbauen (statt bis zu 6x je Formular) - bei grossen Spieler-/Vereinslisten deutlich schneller
|
||||
$vereineOptionsHtml = '';
|
||||
$spielerOptionsHtml = '';
|
||||
if ($halloffame->spielform == 1) {
|
||||
$vereineAktiv = array();
|
||||
$vereineInaktiv = array();
|
||||
foreach ($vereine as $v) {
|
||||
if (empty($v->ausgetreten))
|
||||
$vereineAktiv[] = $v;
|
||||
else
|
||||
$vereineInaktiv[] = $v;
|
||||
}
|
||||
$ausgetretenSuffix = " (" . Text::_('COM_SPORTSMANAGER_BEATEN') . ")";
|
||||
|
||||
$vereineOptionsHtml = '<option value="0"></option>';
|
||||
$vereineOptionsHtml .= '<optgroup label="' . htmlentities_utf8(Text::_('COM_SPORTSMANAGER_ACTIVE_CLUBS')) . '">';
|
||||
foreach ($vereineAktiv as $v)
|
||||
$vereineOptionsHtml .= '<option value="' . $v->verein_id . '">' . htmlentities_utf8($v->verein) . '</option>';
|
||||
$vereineOptionsHtml .= '</optgroup>';
|
||||
$vereineOptionsHtml .= '<optgroup label="' . htmlentities_utf8(Text::_('COM_SPORTSMANAGER_INACTIVE_CLUBS')) . '">';
|
||||
foreach ($vereineInaktiv as $v)
|
||||
$vereineOptionsHtml .= '<option value="' . $v->verein_id . '">' . htmlentities_utf8($v->verein . $ausgetretenSuffix) . '</option>';
|
||||
$vereineOptionsHtml .= '</optgroup>';
|
||||
} else {
|
||||
$spielerOptionsHtml = '<option value="0"></option>';
|
||||
foreach ($spieler as $s)
|
||||
$spielerOptionsHtml .= '<option value="' . $s->spieler_id . '">' . htmlentities_utf8($s->spieler) . '</option>';
|
||||
}
|
||||
?>
|
||||
<div
|
||||
class="componentheading<?php echo $params->get('pageclass_sfx'); ?>"><?php echo htmlentities_utf8($halloffame->halloffame); ?>
|
||||
: <?php echo($row != null ? Text::_('COM_SPORTSMANAGER_CHANGING') : Text::_('COM_SPORTSMANAGER_ADD')); ?></div>
|
||||
|
||||
<template id="halloffame-vereine-options"><?php echo $vereineOptionsHtml; ?></template>
|
||||
<template id="halloffame-spieler-options"><?php echo $spielerOptionsHtml; ?></template>
|
||||
|
||||
<script type="text/javascript">
|
||||
function halloffameNichtAusgespieltUmschalten(deaktiviert) {
|
||||
document.querySelectorAll('.halloffame-platz-zeile input, .halloffame-platz-zeile select, .halloffame-platz-zeile textarea').forEach(function (feld) {
|
||||
feld.disabled = deaktiviert;
|
||||
});
|
||||
}
|
||||
|
||||
function halloffameOptionenFuellen(selectId, templateId, wert) {
|
||||
var select = document.getElementById(selectId);
|
||||
var template = document.getElementById(templateId);
|
||||
select.innerHTML = template.innerHTML;
|
||||
if (wert) select.value = wert;
|
||||
}
|
||||
</script>
|
||||
|
||||
<form action="<?php echo SportsManagerURL(); ?>" method="post" name="adminForm" id="adminForm"
|
||||
enctype="multipart/form-data">
|
||||
<div class="uk-overflow-auto">
|
||||
@@ -8333,6 +8427,13 @@ static function adminVerbandsorganMitglieder($rows,$verbandsorgan): void
|
||||
}
|
||||
?>
|
||||
</select>
|
||||
|
||||
<label for="nicht_ausgespielt">
|
||||
<input type="checkbox" name="nicht_ausgespielt" id="nicht_ausgespielt" value="1"
|
||||
onclick="halloffameNichtAusgespieltUmschalten(this.checked);"
|
||||
<?php echo ($row != null && !empty($row->nicht_ausgespielt)) ? " checked" : ""; ?> />
|
||||
<?php echo Text::_('COM_SPORTSMANAGER_HALL_OF_FAME_NOT_HELD'); ?>
|
||||
</label>
|
||||
</td>
|
||||
</tr>
|
||||
<?php
|
||||
@@ -8340,26 +8441,35 @@ static function adminVerbandsorganMitglieder($rows,$verbandsorgan): void
|
||||
if ($halloffame->spielform == 1){
|
||||
$index_vereinid = "verein_id_" . $p;
|
||||
$index_team = "teamname_" . $p;
|
||||
$index_teamspieler = "teamspieler_" . $p;
|
||||
?>
|
||||
<tr>
|
||||
<tr class="halloffame-platz-zeile">
|
||||
<td nowrap style="width: 20%; text-align: right">
|
||||
<label for="verein1_<?php echo $p; ?>"><?php echo Text::_('COM_SPORTSMANAGER_PLACE') . " " . $p; ?>
|
||||
:</label>
|
||||
</td>
|
||||
<td nowrap>
|
||||
<select class="uk-select uk-form-width-large" name="verein_id_<?php echo $p; ?>"
|
||||
id="verein_id_<?php echo $p; ?>" size="1" style="width: 370px;">
|
||||
<?php
|
||||
echo "<option value=\"0\"></option>";
|
||||
foreach ($vereine as $v)
|
||||
echo "<option value=\"" . $v->verein_id . "\"" . ($row != null ? ($row->$index_vereinid == $v->verein_id ? " selected" : "") : "") . ">" . htmlentities_utf8($v->verein) . "</option>";
|
||||
?>
|
||||
</select>
|
||||
id="verein_id_<?php echo $p; ?>" size="1" style="width: 370px;"></select>
|
||||
<script type="text/javascript">
|
||||
halloffameOptionenFuellen('verein_id_<?php echo $p; ?>', 'halloffame-vereine-options', '<?php echo $row != null ? (int) $row->$index_vereinid : 0; ?>');
|
||||
</script>
|
||||
<input class="inputbox uk-select" type="text" style="width: 370px; height: 35px;"
|
||||
name="teamname_<?php echo $p; ?>" id="verein_<?php echo $p; ?>" size="50" maxlength="64"
|
||||
value="<?php echo $row != null ? htmlentities_utf8($row->$index_team) : ''; ?>"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="halloffame-platz-zeile">
|
||||
<td nowrap style="width: 20%; text-align: right">
|
||||
<label for="teamspieler_<?php echo $p; ?>"><?php echo Text::_('COM_SPORTSMANAGER_HALL_OF_FAME_TEAM_PLAYERS'); ?>
|
||||
:</label>
|
||||
</td>
|
||||
<td nowrap>
|
||||
<textarea class="uk-textarea" style="width: 740px; height: 70px;"
|
||||
name="teamspieler_<?php echo $p; ?>" id="teamspieler_<?php echo $p; ?>"
|
||||
><?php echo $row != null ? htmlentities_utf8($row->$index_teamspieler) : ''; ?></textarea>
|
||||
</td>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
|
||||
@@ -8369,33 +8479,27 @@ static function adminVerbandsorganMitglieder($rows,$verbandsorgan): void
|
||||
$index_spieler2id = "spieler2_id_" . $p;
|
||||
$index_spieler2 = "spieler2_" . $p;
|
||||
?>
|
||||
<tr>
|
||||
<tr class="halloffame-platz-zeile">
|
||||
<td nowrap style="width: 20%; text-align: right">
|
||||
<label for="player1_<?php echo $p; ?>"><?php echo Text::_('COM_SPORTSMANAGER_PLACE') . " " . $p; ?>
|
||||
:</label>
|
||||
</td>
|
||||
<td nowrap>
|
||||
<select class="uk-select uk-form-width-large" name="spieler1_id_<?php echo $p; ?>"
|
||||
id="player1_id_<?php echo $p; ?>" size="1" style="width: 370px;">
|
||||
<?php
|
||||
echo "<option value=\"0\"></option>";
|
||||
foreach ($spieler as $s)
|
||||
echo "<option value=\"" . $s->spieler_id . "\"" . ($row != null ? ($row->$index_spieler1id == $s->spieler_id ? " selected" : "") : "") . ">" . htmlentities_utf8($s->spieler) . "</option>";
|
||||
?>
|
||||
</select>
|
||||
id="player1_id_<?php echo $p; ?>" size="1" style="width: 370px;"></select>
|
||||
<script type="text/javascript">
|
||||
halloffameOptionenFuellen('player1_id_<?php echo $p; ?>', 'halloffame-spieler-options', '<?php echo $row != null ? (int) $row->$index_spieler1id : 0; ?>');
|
||||
</script>
|
||||
<input class="inputbox uk-select" type="text" style="width: 370px; height: 35px;"
|
||||
name="spieler1_<?php echo $p; ?>" id="player1_<?php echo $p; ?>" size="50" maxlength="64"
|
||||
value="<?php echo $row != null ? htmlentities_utf8($row->$index_spieler1) : ''; ?>"/>
|
||||
<?PHP if ($halloffame->spielform == 2){ ?>
|
||||
<br>
|
||||
<select class="uk-select uk-form-width-large" name="spieler2_id_<?php echo $p; ?>"
|
||||
id="player2_id_<?php echo $p; ?>" size="1" style="width: 370px;">
|
||||
<?php
|
||||
echo "<option value=\"0\"></option>";
|
||||
foreach ($spieler as $s)
|
||||
echo "<option value=\"" . $s->spieler_id . "\"" . ($row != null ? ($row->$index_spieler2id == $s->spieler_id ? " selected" : "") : "") . ">" . htmlentities_utf8($s->spieler) . "</option>";
|
||||
?>
|
||||
</select>
|
||||
id="player2_id_<?php echo $p; ?>" size="1" style="width: 370px;"></select>
|
||||
<script type="text/javascript">
|
||||
halloffameOptionenFuellen('player2_id_<?php echo $p; ?>', 'halloffame-spieler-options', '<?php echo $row != null ? (int) $row->$index_spieler2id : 0; ?>');
|
||||
</script>
|
||||
<input class="inputbox uk-select" type="text" style="width: 370px; height: 35px;"
|
||||
name="spieler2_<?php echo $p; ?>" id="player2_<?php echo $p; ?>" size="50" maxlength="64"
|
||||
value="<?php echo $row != null ? htmlentities_utf8($row->$index_spieler2) : ''; ?>"/>
|
||||
@@ -8418,6 +8522,9 @@ static function adminVerbandsorganMitglieder($rows,$verbandsorgan): void
|
||||
<input type="hidden" name="halloffame_id" value="<?php echo $halloffame->halloffame_id; ?>"/>
|
||||
<input type="hidden" name="spielform" value="<?php echo $halloffame->spielform; ?>"/>
|
||||
</form>
|
||||
<script type="text/javascript">
|
||||
halloffameNichtAusgespieltUmschalten(document.getElementById('nicht_ausgespielt').checked);
|
||||
</script>
|
||||
<?php
|
||||
}
|
||||
|
||||
@@ -11841,8 +11948,9 @@ static function adminVerbandsorganMitglieder($rows,$verbandsorgan): void
|
||||
$spiel_einzel = $spieltypen[$i - 1][0] != "D";
|
||||
if (($spiel_einzel && $spielpunkte_wertung_einzel == 2) || (!$spiel_einzel && $spielpunkte_wertung_doppel == 2))
|
||||
continue;
|
||||
echo " punkte_heim = document.adminForm.spiel_" . $i . "_heim_punkte.value != '' ? document.adminForm.spiel_" . $i . "_heim_punkte.value : 0;\n"
|
||||
. " punkte_gast = document.adminForm.spiel_" . $i . "_gast_punkte.value != '' ? document.adminForm.spiel_" . $i . "_gast_punkte.value : 0;\n"
|
||||
// Number(): .value ist eine Zeichenkette, "10" > "9" wäre sonst unwahr
|
||||
echo " punkte_heim = document.adminForm.spiel_" . $i . "_heim_punkte.value != '' ? Number(document.adminForm.spiel_" . $i . "_heim_punkte.value) : 0;\n"
|
||||
. " punkte_gast = document.adminForm.spiel_" . $i . "_gast_punkte.value != '' ? Number(document.adminForm.spiel_" . $i . "_gast_punkte.value) : 0;\n"
|
||||
. " if (punkte_heim > punkte_gast)\n"
|
||||
. " spielpunkte_heim += " . ($spiel_einzel ? "spielpunkte_sieg_einzel" : "spielpunkte_sieg_doppel") . ";\n"
|
||||
. " else if (punkte_heim < punkte_gast)\n"
|
||||
@@ -12842,6 +12950,12 @@ static function adminVerbandsorganMitglieder($rows,$verbandsorgan): void
|
||||
{
|
||||
global $params;
|
||||
?>
|
||||
<script type="text/javascript">
|
||||
function anzeige_aktualisieren() {
|
||||
document.getElementById("export_row").style.display = document.adminForm.exportformat.value !== "jsondatei" ? '' : 'none';
|
||||
}
|
||||
window.addEventListener("pageshow", anzeige_aktualisieren);
|
||||
</script>
|
||||
<form action="<?php echo SportsManagerURL(); ?>" method="post" name="adminForm" id="adminForm">
|
||||
<div class="uk-overflow-auto">
|
||||
<table style="width: 500px">
|
||||
@@ -12861,7 +12975,7 @@ static function adminVerbandsorganMitglieder($rows,$verbandsorgan): void
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<tr id="export_row">
|
||||
<td nowrap style="text-align: right">
|
||||
<label for="export">Exportieren</label>
|
||||
</td>
|
||||
@@ -12879,8 +12993,9 @@ static function adminVerbandsorganMitglieder($rows,$verbandsorgan): void
|
||||
<label for="exportformat">Exportformat</label>
|
||||
</td>
|
||||
<td nowrap>
|
||||
<select class="uk-select uk-form-width-large" style='width: 320px;' name="exportformat" id="exportformat" size="1">
|
||||
<select class="uk-select uk-form-width-large" style='width: 320px;' name="exportformat" id="exportformat" size="1" onchange="anzeige_aktualisieren();">
|
||||
<option value='csvdatei'>CSV-Datei</option>
|
||||
<option value='jsondatei'>JSON-Datei</option>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -395,6 +395,8 @@ COM_SPORTSMANAGER_BEATEN="Ausgetreten"
|
||||
COM_SPORTSMANAGER_HIDE="Verstecken"
|
||||
COM_SPORTSMANAGER_PASSIVE="Passiv"
|
||||
COM_SPORTSMANAGER_BEATEN_CLUB="Verein ausgetreten"
|
||||
COM_SPORTSMANAGER_ACTIVE_CLUBS="Aktive Vereine"
|
||||
COM_SPORTSMANAGER_INACTIVE_CLUBS="Inaktive Vereine"
|
||||
COM_SPORTSMANAGER_SINGLE_SEED="Elo-Startwert Einzel"
|
||||
COM_SPORTSMANAGER_DOUBLE_SEED="Elo-Startwert Doppel"
|
||||
COM_SPORTSMANAGER_PLAYER_EXPORT="Spieler: Exportieren"
|
||||
@@ -1087,6 +1089,7 @@ COM_SPORTSMANAGER_MATCH_SWAPPING_HELP="Bei Heimrechttausch gleichen Termin eintr
|
||||
COM_SPORTSMANAGER_NOT_VALID_TIME="Ungültige Uhrzeit"
|
||||
COM_SPORTSMANAGER_REALLY_MATCH_RESCHEDULING="Willst Du diesen Spielverlegung wirklich entfernen?"
|
||||
COM_SPORTSMANAGER_REST_DAYS="Ruhetage"
|
||||
COM_SPORTSMANAGER_ADDITIONAL_INFO="Zusatzinfo"
|
||||
COM_SPORTSMANAGER_TRAINING_DAYS="Trainingstage"
|
||||
COM_SPORTSMANAGER_NOT_ACTUALIZED_DATA="Nicht aktualisierte Daten"
|
||||
COM_SPORTSMANAGER_ASSOCIATION_BODIES="Verbandsorgane"
|
||||
@@ -1107,6 +1110,10 @@ COM_SPORTSMANAGER_MATCH_TYPE="Spielform"
|
||||
COM_SPORTSMANAGER_REALLY_REMOVE_HALL_OF_FAME_YEAR="Willst Du wirklich dieses Hall of Fame Jahr löschen?"
|
||||
COM_SPORTSMANAGER_YEARS="Jahre"
|
||||
COM_SPORTSMANAGER_ADD_HALL_OF_FAME_YEAR="Hall of Fame Jahr hinzufügen"
|
||||
COM_SPORTSMANAGER_HALL_OF_FAME_TITLE_COUNT="Anzahl"
|
||||
COM_SPORTSMANAGER_HALL_OF_FAME_TITLES="Titel"
|
||||
COM_SPORTSMANAGER_HALL_OF_FAME_TEAM_PLAYERS="Mannschaftsspieler"
|
||||
COM_SPORTSMANAGER_HALL_OF_FAME_NOT_HELD="Nicht ausgespielt"
|
||||
COM_SPORTSMANAGER_NO_ENTRY="kein Eintrag"
|
||||
COM_SPORTSMANAGER_REALLY_SWAP_MATCH="Willst Du wirklich das Heimrecht tauschen?"
|
||||
COM_SPORTSMANAGER_SWAP_MATCH="Heimrechttausch"
|
||||
@@ -1116,3 +1123,5 @@ COM_SPORTSMANAGER_MATCH_REPORT_WAS_DELETED="Der Spielbericht wurde erfolgreich g
|
||||
COM_SPORTSMANAGER_MATCH_REPORT_CORRECTED="Spielberichtskorrektur"
|
||||
COM_SPORTSMANAGER_MIN_MATCHES="Mindestzahl Spiele"
|
||||
COM_SPORTSMANAGER_SELECT_ALL="Alle"
|
||||
COM_SPORTSMANAGER_MAIL_SEND_ERROR="Die Benachrichtigungs-E-Mail zum Ergebnis konnte nicht versendet werden."
|
||||
COM_SPORTSMANAGER_TERMIN_MAIL_SEND_ERROR="Mindestens eine Benachrichtigungs-E-Mail zum Termin konnte nicht versendet werden."
|
||||
@@ -395,6 +395,8 @@ COM_SPORTSMANAGER_BEATEN="Excreted"
|
||||
COM_SPORTSMANAGER_HIDE="Hide"
|
||||
COM_SPORTSMANAGER_PASSIVE="Passive"
|
||||
COM_SPORTSMANAGER_BEATEN_CLUB="Club excreted"
|
||||
COM_SPORTSMANAGER_ACTIVE_CLUBS="Active clubs"
|
||||
COM_SPORTSMANAGER_INACTIVE_CLUBS="Inactive clubs"
|
||||
COM_SPORTSMANAGER_SINGLE_SEED="Elo starting value singles"
|
||||
COM_SPORTSMANAGER_DOUBLE_SEED="Elo starting value doubles"
|
||||
COM_SPORTSMANAGER_PLAYER_EXPORT="Players: Export"
|
||||
@@ -1087,6 +1089,7 @@ COM_SPORTSMANAGER_MATCH_SWAPPING_HELP="If home advantage is swapped, enter the s
|
||||
COM_SPORTSMANAGER_NOT_VALID_TIME="Not valid time"
|
||||
COM_SPORTSMANAGER_REALLY_MATCH_RESCHEDULING="Do you really want to remove this match rescheduling?"
|
||||
COM_SPORTSMANAGER_REST_DAYS="Rest days"
|
||||
COM_SPORTSMANAGER_ADDITIONAL_INFO="Additional info"
|
||||
COM_SPORTSMANAGER_TRAINING_DAYS="Training days"
|
||||
COM_SPORTSMANAGER_NOT_ACTUALIZED_DATA="Data not updated"
|
||||
COM_SPORTSMANAGER_ASSOCIATION_BODIES="Association bodies"
|
||||
@@ -1107,6 +1110,10 @@ COM_SPORTSMANAGER_MATCH_TYPE="Game Type"
|
||||
COM_SPORTSMANAGER_REALLY_REMOVE_HALL_OF_FAME_YEAR="Are you sure you want to delete this Hall of Fame year?"
|
||||
COM_SPORTSMANAGER_YEARS="Years"
|
||||
COM_SPORTSMANAGER_ADD_HALL_OF_FAME_YEAR="Add Hall of Fame Year"
|
||||
COM_SPORTSMANAGER_HALL_OF_FAME_TITLE_COUNT="Number"
|
||||
COM_SPORTSMANAGER_HALL_OF_FAME_TITLES="Titles"
|
||||
COM_SPORTSMANAGER_HALL_OF_FAME_TEAM_PLAYERS="Team Players"
|
||||
COM_SPORTSMANAGER_HALL_OF_FAME_NOT_HELD="Not held"
|
||||
COM_SPORTSMANAGER_NO_ENTRY="no entry"
|
||||
COM_SPORTSMANAGER_REALLY_SWAP_MATCH="Do you really want to swap the home advantage?"
|
||||
COM_SPORTSMANAGER_SWAP_MATCH="Swap home advantage"
|
||||
@@ -1116,3 +1123,5 @@ COM_SPORTSMANAGER_MATCH_REPORT_WAS_DELETED="The match report has been successful
|
||||
COM_SPORTSMANAGER_MATCH_REPORT_CORRECTED="Match report corrected"
|
||||
COM_SPORTSMANAGER_MIN_MATCHES="Min count matches"
|
||||
COM_SPORTSMANAGER_SELECT_ALL="All"
|
||||
COM_SPORTSMANAGER_MAIL_SEND_ERROR="The notification e-mail for the result could not be sent."
|
||||
COM_SPORTSMANAGER_TERMIN_MAIL_SEND_ERROR="At least one notification e-mail for the appointment could not be sent."
|
||||
@@ -94,6 +94,12 @@ return new class () implements InstallerScriptInterface
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!bildKopierenAngepasst(JPATH_ROOT.DIRECTORY_SEPARATOR.'components'.DIRECTORY_SEPARATOR.'com_sportsmanager'.DIRECTORY_SEPARATOR.'images'.DIRECTORY_SEPARATOR.'spieler-n.png', JPATH_ROOT.DIRECTORY_SEPARATOR.'images'.DIRECTORY_SEPARATOR.'sportsmanager'.DIRECTORY_SEPARATOR.'spieler'.DIRECTORY_SEPARATOR.'n.png', 180, 240, 1)) {
|
||||
Log::add('Image /components/com_sportsmanager/images/spieler-n.png could not be copied to /images/sportsmanager/spieler/n.png', Log::ERROR);
|
||||
echo '<p>Fehler: Bild spieler-n.png konnte nicht nach /images/sportsmanager/spieler/n.png verschoben werden</p>';
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
$adapter->getParent()->setRedirectURL('index.php?option=com_sportsmanager');
|
||||
return true;
|
||||
@@ -674,6 +680,7 @@ return new class () implements InstallerScriptInterface
|
||||
. "\n `telefon` varchar(64) DEFAULT NULL,"
|
||||
. "\n `email` varchar(64) DEFAULT NULL,"
|
||||
. "\n `ruhetage` varchar(64) DEFAULT NULL,"
|
||||
. "\n `zusatzinfo` text DEFAULT NULL,"
|
||||
. "\n `beschreibung` varchar(500) DEFAULT NULL,"
|
||||
. "\n `status` tinyint(1) NOT NULL DEFAULT '0',"
|
||||
. "\n PRIMARY KEY (`spielort_id`)"
|
||||
@@ -1251,9 +1258,11 @@ return new class () implements InstallerScriptInterface
|
||||
. "\n `mitglied_halloffame_id` int(11) NOT NULL AUTO_INCREMENT,"
|
||||
. "\n `halloffame_id` int(11) NOT NULL,"
|
||||
. "\n `jahr` int(4) DEFAULT NULL,"
|
||||
. "\n `nicht_ausgespielt` tinyint(1) NOT NULL DEFAULT '0',"
|
||||
. "\n `platz` int(11) DEFAULT NULL,"
|
||||
. "\n `verein_id` int(11) DEFAULT NULL,"
|
||||
. "\n `teamname` varchar(64) DEFAULT NULL,"
|
||||
. "\n `teamspieler` text DEFAULT NULL,"
|
||||
. "\n `spieler1_id` int(11) DEFAULT NULL,"
|
||||
. "\n `spieler1` varchar(64) DEFAULT NULL,"
|
||||
. "\n `spieler2_id` int(11) DEFAULT NULL,"
|
||||
@@ -1274,7 +1283,7 @@ return new class () implements InstallerScriptInterface
|
||||
$db->setQuery( $query );
|
||||
if (!$db->execute()) { die($db->stderr(true)); }
|
||||
|
||||
$query = "INSERT IGNORE #__sportsmanager_einstellungen SET name = 'datenbank_version', wert = '120';";
|
||||
$query = "INSERT IGNORE #__sportsmanager_einstellungen SET name = 'datenbank_version', wert = '121';";
|
||||
$db->setQuery( $query );
|
||||
if (!$db->execute()) { die($db->stderr(true)); }
|
||||
|
||||
|
||||
Reference in New Issue
Block a user