mirror of
https://github.com/Deutscher-Tischfussballbund/com_sportsmanager.git
synced 2026-06-10 06:27:52 +00:00
Merge branch 'sportsmanager2-dev' into fix/issue-6-sql-syntax-error
This commit is contained in:
@@ -6,7 +6,7 @@ name: Sportsmanager Release
|
|||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
tags:
|
tags:
|
||||||
- 'v[0-9]+.[0-9]+.[0-9]+' # run only on version tags like v1.0.0
|
- 'v[0-9]+.[0-9]+.[0-9]+' # run only on version tags like v1.0.0
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
@@ -24,7 +24,19 @@ jobs:
|
|||||||
|
|
||||||
- name: Install npm dependencies
|
- name: Install npm dependencies
|
||||||
run: npm ci
|
run: npm ci
|
||||||
|
|
||||||
|
- name: Get version from git tag
|
||||||
|
run: echo "VERSION=$(git describe --tags --abbrev=0)" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: Update version.php
|
||||||
|
run: |
|
||||||
|
echo "<?php" > src/structure/components/com_sportsmanager/util/version.php
|
||||||
|
echo "defined('_JEXEC') or die;" >> src/structure/components/com_sportsmanager/util/version.php
|
||||||
|
echo "return [" >> src/structure/components/com_sportsmanager/util/version.php
|
||||||
|
echo " 'version' => '${{ env.VERSION }}'," >> src/structure/components/com_sportsmanager/util/version.php
|
||||||
|
echo " 'date' => '$(date +%F)'," >> src/structure/components/com_sportsmanager/util/version.php
|
||||||
|
echo "];" >> src/structure/components/com_sportsmanager/util/version.php
|
||||||
|
|
||||||
- name: Generate release notes
|
- name: Generate release notes
|
||||||
id: release_notes_extension
|
id: release_notes_extension
|
||||||
uses: release-drafter/release-drafter@v6
|
uses: release-drafter/release-drafter@v6
|
||||||
@@ -37,10 +49,10 @@ jobs:
|
|||||||
- name: Save release notes to file
|
- name: Save release notes to file
|
||||||
run: |
|
run: |
|
||||||
echo "${{ steps.release_notes_extension.outputs.body }}" > RELEASE_NOTES.md
|
echo "${{ steps.release_notes_extension.outputs.body }}" > RELEASE_NOTES.md
|
||||||
|
|
||||||
- name: Run build script
|
- name: Run build script
|
||||||
run: npm run release
|
run: npm run release
|
||||||
|
|
||||||
- name: Generate release notes
|
- name: Generate release notes
|
||||||
id: release_notes_github
|
id: release_notes_github
|
||||||
uses: release-drafter/release-drafter@v6
|
uses: release-drafter/release-drafter@v6
|
||||||
@@ -52,7 +64,7 @@ jobs:
|
|||||||
- name: Save release notes to file
|
- name: Save release notes to file
|
||||||
run: |
|
run: |
|
||||||
echo "${{ steps.release_notes_github.outputs.body }}" > RELEASE_NOTES.md
|
echo "${{ steps.release_notes_github.outputs.body }}" > RELEASE_NOTES.md
|
||||||
|
|
||||||
- name: Create GitHub Release
|
- name: Create GitHub Release
|
||||||
uses: softprops/action-gh-release@v2
|
uses: softprops/action-gh-release@v2
|
||||||
with:
|
with:
|
||||||
@@ -62,7 +74,7 @@ jobs:
|
|||||||
body_path: "RELEASE_NOTES.md"
|
body_path: "RELEASE_NOTES.md"
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
- name: Delete draft release via API # workaround: remove leftover draft by release-drafter
|
- name: Delete draft release via API # workaround: remove leftover draft by release-drafter
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
@@ -70,7 +82,7 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
drafts=$(curl -s -H "Authorization: token $GITHUB_TOKEN" \
|
drafts=$(curl -s -H "Authorization: token $GITHUB_TOKEN" \
|
||||||
https://api.github.com/repos/$REPO/releases | jq '.[] | select(.draft == true)')
|
https://api.github.com/repos/$REPO/releases | jq '.[] | select(.draft == true)')
|
||||||
|
|
||||||
if [ -n "$drafts" ]; then
|
if [ -n "$drafts" ]; then
|
||||||
id=$(echo "$drafts" | jq -r '.id')
|
id=$(echo "$drafts" | jq -r '.id')
|
||||||
curl -s -X DELETE -H "Authorization: token $GITHUB_TOKEN" \
|
curl -s -X DELETE -H "Authorization: token $GITHUB_TOKEN" \
|
||||||
|
|||||||
@@ -83,7 +83,3 @@ JConfig: `./data/joomla_data/configuration.php`
|
|||||||
7. Click on "Start Listening for PHP Debug Connections" in the top row of intellij
|
7. Click on "Start Listening for PHP Debug Connections" in the top row of intellij
|
||||||
8. (Not sure if optional) Install a browser extension by Jetbrains
|
8. (Not sure if optional) Install a browser extension by Jetbrains
|
||||||
https://chromewebstore.google.com/detail/xdebug-helper-by-jetbrain/aoelhdemabeimdhedkidlnbkfhnhgnhm
|
https://chromewebstore.google.com/detail/xdebug-helper-by-jetbrain/aoelhdemabeimdhedkidlnbkfhnhgnhm
|
||||||
|
|
||||||
=======
|
|
||||||
|
|
||||||
Test
|
|
||||||
|
|||||||
@@ -20,8 +20,6 @@ require_once JPATH_SITE . '/components/com_sportsmanager/database/init.php';
|
|||||||
|
|
||||||
function UhrzeitWandlerDE($Zeitstempel): mixed
|
function UhrzeitWandlerDE($Zeitstempel): mixed
|
||||||
{
|
{
|
||||||
//Jürgen Meyer 07.03.2025
|
|
||||||
|
|
||||||
$Temp = explode(' ', $Zeitstempel);
|
$Temp = explode(' ', $Zeitstempel);
|
||||||
$Datum = $Temp[0];
|
$Datum = $Temp[0];
|
||||||
$Uhrzeit = $Temp[1];
|
$Uhrzeit = $Temp[1];
|
||||||
@@ -36,7 +34,6 @@ function UhrzeitWandlerDE($Zeitstempel): mixed
|
|||||||
|
|
||||||
function validateDate($date, $format = 'Y-m-d H:i:s'): bool
|
function validateDate($date, $format = 'Y-m-d H:i:s'): bool
|
||||||
{
|
{
|
||||||
//Jürgen Meyer 07.03.2025
|
|
||||||
$d = DateTime::createFromFormat($format, $date);
|
$d = DateTime::createFromFormat($format, $date);
|
||||||
return $d && $d->format($format) == $date;
|
return $d && $d->format($format) == $date;
|
||||||
}
|
}
|
||||||
@@ -2242,14 +2239,9 @@ function adminImportSpielerDetailsForm(): void
|
|||||||
$rows = $db->loadObjectList();
|
$rows = $db->loadObjectList();
|
||||||
|
|
||||||
foreach ($rows as $row) {
|
foreach ($rows as $row) {
|
||||||
$query = "DELETE FROM #__sportsmanager_spieler_import"
|
adminDeleteSpielerImport($row->session_id);
|
||||||
. "\n WHERE session_id = '$row->session_id'";
|
|
||||||
$db->setQuery($query);
|
|
||||||
if (!$db->execute()) {
|
|
||||||
die($db->stderr(true));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (empty($_FILES["daten"]["tmp_name"]) || !is_uploaded_file($_FILES["daten"]["tmp_name"])) {
|
if (empty($_FILES["daten"]["tmp_name"]) || !is_uploaded_file($_FILES["daten"]["tmp_name"])) {
|
||||||
redirectSportsManagerURL('&task=admin_spieler', Text::_('COM_SPORTSMANAGER_NO_FILE_SPECIFIED'));
|
redirectSportsManagerURL('&task=admin_spieler', Text::_('COM_SPORTSMANAGER_NO_FILE_SPECIFIED'));
|
||||||
}
|
}
|
||||||
@@ -2507,12 +2499,7 @@ function adminImportSpielerDetailsForm(): void
|
|||||||
die($db->stderr(true));
|
die($db->stderr(true));
|
||||||
}
|
}
|
||||||
|
|
||||||
$query = "DELETE FROM #__sportsmanager_spieler_import"
|
adminDeleteSpielerImport($session_id);
|
||||||
. "\n WHERE session_id = '" . $db->escape($session_id) . "'";
|
|
||||||
$db->setQuery($query);
|
|
||||||
if (!$db->execute()) {
|
|
||||||
die($db->stderr(true));
|
|
||||||
}
|
|
||||||
|
|
||||||
HTML_sportsmanager_admin::adminImportSpielerBericht($lizenzen_aktualisiert, array(), 0, array(), array(), array(), false, redirectSessionIdEmpty() ? null : redirectSessionIdSetzen());
|
HTML_sportsmanager_admin::adminImportSpielerBericht($lizenzen_aktualisiert, array(), 0, array(), array(), array(), false, redirectSessionIdEmpty() ? null : redirectSessionIdSetzen());
|
||||||
|
|
||||||
@@ -2629,8 +2616,19 @@ function adminImportSpielerDetailsForm(): void
|
|||||||
HTML_sportsmanager_admin::adminImportSpielerDetails($beschraenkter_zugriff, $ansprechpartner_importieren, $veranstalter, $veranstalter_import, $veranstalter_zugehoerigkeit, $session_id, implode(",", $spalten), $verein_import, $vereine, einstellungswert("spielerimport_persoenliche_daten_vorauswahl"));
|
HTML_sportsmanager_admin::adminImportSpielerDetails($beschraenkter_zugriff, $ansprechpartner_importieren, $veranstalter, $veranstalter_import, $veranstalter_zugehoerigkeit, $session_id, implode(",", $spalten), $verein_import, $vereine, einstellungswert("spielerimport_persoenliche_daten_vorauswahl"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function adminDeleteSpielerImport($session_id){
|
||||||
|
$db = getDatabase();
|
||||||
|
$query = "DELETE FROM #__sportsmanager_spieler_import"
|
||||||
|
. "\n WHERE session_id = '" . $db->escape($session_id) . "'";
|
||||||
|
$db->setQuery($query);
|
||||||
|
if (!$db->execute()) {
|
||||||
|
die($db->stderr(true));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function adminImportSpielerVorschau(): void
|
function adminImportSpielerVorschau(): void
|
||||||
{
|
{
|
||||||
|
|
||||||
$db = getDatabase();
|
$db = getDatabase();
|
||||||
global $_FILES;
|
global $_FILES;
|
||||||
$jInput = Factory::getContainer()->get(SiteApplication::class)->input;
|
$jInput = Factory::getContainer()->get(SiteApplication::class)->input;
|
||||||
@@ -2677,6 +2675,24 @@ function adminImportSpielerVorschau(): void
|
|||||||
$n++;
|
$n++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//check Passnummer auf gueltiges Format
|
||||||
|
$query = "SELECT nachname, vorname, spielernr, spielernr_alt"
|
||||||
|
. "\n FROM #__sportsmanager_spieler_import"
|
||||||
|
. "\n WHERE session_id = '" . $db->escape($session_id) . "'"
|
||||||
|
. "\n AND ((spielernr NOT REGEXP '^[0-9]{2}-[0-9]{4,6}$' AND spielernr <> '')"
|
||||||
|
. "\n OR (spielernr_alt NOT REGEXP '^[0-9]{2}-[0-9]{4,6}$' AND spielernr_alt <> ''));";
|
||||||
|
|
||||||
|
$db->setQuery($query);
|
||||||
|
if (!$db->execute()) {
|
||||||
|
die($db->stderr(true));
|
||||||
|
}
|
||||||
|
$spielerfehler = $db->loadObjectList();
|
||||||
|
if (count($spielerfehler) > 0) {
|
||||||
|
adminDeleteSpielerImport($session_id);
|
||||||
|
HTML_sportsmanager_admin::adminImportSpielerFehler($spielerfehler, $fehler="Passnummer");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
$spielernr_aendern = false;
|
$spielernr_aendern = false;
|
||||||
if (isset($spalten["spielernr_alt"])) {
|
if (isset($spalten["spielernr_alt"])) {
|
||||||
$query = "SELECT nachname, vorname, spielernr, spielernr_alt"
|
$query = "SELECT nachname, vorname, spielernr, spielernr_alt"
|
||||||
@@ -2713,9 +2729,8 @@ function adminImportSpielerVorschau(): void
|
|||||||
$spielernr_aendern = false;
|
$spielernr_aendern = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($spielernr_aendern) {
|
if ($spielernr_aendern) {
|
||||||
$query = "SELECT nachname, vorname"
|
$query = "SELECT nachname, vorname, bestand.spielernr"
|
||||||
. "\n FROM"
|
. "\n FROM"
|
||||||
. "\n (SELECT nachname, vorname, spielernr, spielernr_alt"
|
. "\n (SELECT nachname, vorname, spielernr, spielernr_alt"
|
||||||
. "\n FROM #__sportsmanager_spieler_import"
|
. "\n FROM #__sportsmanager_spieler_import"
|
||||||
@@ -2727,15 +2742,15 @@ function adminImportSpielerVorschau(): void
|
|||||||
. "\n ON bestand.spielernr = import.spielernr"
|
. "\n ON bestand.spielernr = import.spielernr"
|
||||||
. "\n WHERE NOT EXISTS(SELECT * FROM #__sportsmanager_spieler_import WHERE spielernr_alt = bestand.spielernr AND spielernr != spielernr_alt AND NOT ISNULL(spielernr) AND NOT ISNULL(spielernr_alt) AND spielernr != '' AND spielernr_alt != '')"
|
. "\n WHERE NOT EXISTS(SELECT * FROM #__sportsmanager_spieler_import WHERE spielernr_alt = bestand.spielernr AND spielernr != spielernr_alt AND NOT ISNULL(spielernr) AND NOT ISNULL(spielernr_alt) AND spielernr != '' AND spielernr_alt != '')"
|
||||||
. "\n ORDER BY nachname, vorname";
|
. "\n ORDER BY nachname, vorname";
|
||||||
$db->setQuery($query);
|
$db->setQuery($query);
|
||||||
if (!$db->execute()) {
|
if (!$db->execute()) {
|
||||||
die($db->stderr(true));
|
die($db->stderr(true));
|
||||||
}
|
}
|
||||||
$konflikte = $db->loadObjectList();
|
$konflikte = $db->loadObjectList();
|
||||||
|
|
||||||
if (count($konflikte) > 0) {
|
if (count($konflikte) > 0) {
|
||||||
HTML_sportsmanager_admin::adminImportSpielerFehler($konflikte);
|
adminDeleteSpielerImport($session_id);
|
||||||
|
HTML_sportsmanager_admin::adminImportSpielerFehler($konflikte, $fehler="konflikt");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2755,7 +2770,6 @@ function adminImportSpielerVorschau(): void
|
|||||||
die($db->stderr(true));
|
die($db->stderr(true));
|
||||||
}
|
}
|
||||||
$spieler_import = $db->loadObjectList();
|
$spieler_import = $db->loadObjectList();
|
||||||
|
|
||||||
$import_verweigern = false;
|
$import_verweigern = false;
|
||||||
if ($beschraenkter_zugriff) {
|
if ($beschraenkter_zugriff) {
|
||||||
foreach ($spieler_import as $s) {
|
foreach ($spieler_import as $s) {
|
||||||
@@ -2785,7 +2799,7 @@ function adminImportSpielerVorschau(): void
|
|||||||
. "\n FROM #__sportsmanager_spieler_import"
|
. "\n FROM #__sportsmanager_spieler_import"
|
||||||
. "\n LEFT JOIN #__sportsmanager_spieler ON #__sportsmanager_spieler_import.spielernr != '' AND " . ($spielernr_aendern ? "IF(NOT ISNULL(#__sportsmanager_spieler_import.spielernr_alt) AND #__sportsmanager_spieler_import.spielernr_alt != '', #__sportsmanager_spieler_import.spielernr_alt = #__sportsmanager_spieler.spielernr, #__sportsmanager_spieler_import.spielernr = #__sportsmanager_spieler.spielernr)" : "#__sportsmanager_spieler_import.spielernr = #__sportsmanager_spieler.spielernr")
|
. "\n LEFT JOIN #__sportsmanager_spieler ON #__sportsmanager_spieler_import.spielernr != '' AND " . ($spielernr_aendern ? "IF(NOT ISNULL(#__sportsmanager_spieler_import.spielernr_alt) AND #__sportsmanager_spieler_import.spielernr_alt != '', #__sportsmanager_spieler_import.spielernr_alt = #__sportsmanager_spieler.spielernr, #__sportsmanager_spieler_import.spielernr = #__sportsmanager_spieler.spielernr)" : "#__sportsmanager_spieler_import.spielernr = #__sportsmanager_spieler.spielernr")
|
||||||
. "\n WHERE session_id = '" . $db->escape($session_id) . "'";
|
. "\n WHERE session_id = '" . $db->escape($session_id) . "'";
|
||||||
$db->setQuery($query);
|
$db->setQuery($query);
|
||||||
if (!$db->execute()) {
|
if (!$db->execute()) {
|
||||||
die($db->stderr(true));
|
die($db->stderr(true));
|
||||||
}
|
}
|
||||||
@@ -2797,14 +2811,8 @@ function adminImportSpielerVorschau(): void
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ($import_verweigern) {
|
if ($import_verweigern) {
|
||||||
$query = "DELETE FROM #__sportsmanager_spieler_import"
|
adminDeleteSpielerImport($session_id);
|
||||||
. "\n WHERE session_id = '" . $db->escape($session_id) . "'";
|
|
||||||
$db->setQuery($query);
|
|
||||||
if (!$db->execute()) {
|
|
||||||
die($db->stderr(true));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
HTML_sportsmanager_admin::adminImportSpielerVorschau($import_verweigern, $spieler_import, $veranstalter, $session_id, $jInput->get('persoenliche_daten', 0, 'INT'), $jInput->get('lizenznr_beibehalten', 0, 'INT'), $jInput->get('spalten', '', 'RAW'));
|
HTML_sportsmanager_admin::adminImportSpielerVorschau($import_verweigern, $spieler_import, $veranstalter, $session_id, $jInput->get('persoenliche_daten', 0, 'INT'), $jInput->get('lizenznr_beibehalten', 0, 'INT'), $jInput->get('spalten', '', 'RAW'));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2880,7 +2888,7 @@ function adminImportSpieler(): void
|
|||||||
* sonst Spielernr. übernehmen
|
* sonst Spielernr. übernehmen
|
||||||
*/
|
*/
|
||||||
if (isset($spalten["spielernr_alt"])) {
|
if (isset($spalten["spielernr_alt"])) {
|
||||||
$query = "SELECT nachname, vorname"
|
$query = "SELECT nachname, vorname, bestand.spielernr"
|
||||||
. "\n FROM"
|
. "\n FROM"
|
||||||
. "\n (SELECT nachname, vorname, spielernr, spielernr_alt"
|
. "\n (SELECT nachname, vorname, spielernr, spielernr_alt"
|
||||||
. "\n FROM #__sportsmanager_spieler_import"
|
. "\n FROM #__sportsmanager_spieler_import"
|
||||||
@@ -2897,10 +2905,8 @@ function adminImportSpieler(): void
|
|||||||
die($db->stderr(true));
|
die($db->stderr(true));
|
||||||
}
|
}
|
||||||
$konflikte = $db->loadObjectList();
|
$konflikte = $db->loadObjectList();
|
||||||
|
|
||||||
if (count($konflikte) > 0) {
|
if (count($konflikte) > 0) {
|
||||||
HTML_sportsmanager_admin::adminImportSpielerFehler($konflikte);
|
HTML_sportsmanager_admin::adminImportSpielerFehler($konflikte, $fehler="konflikt");
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3342,12 +3348,7 @@ function adminImportSpieler(): void
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$query = "DELETE FROM #__sportsmanager_spieler_import"
|
adminDeleteSpielerImport($session_id);
|
||||||
. "\n WHERE session_id = '" . $db->escape($session_id) . "'";
|
|
||||||
$db->setQuery($query);
|
|
||||||
if (!$db->execute()) {
|
|
||||||
die($db->stderr(true));
|
|
||||||
}
|
|
||||||
|
|
||||||
sort($vereineManuell);
|
sort($vereineManuell);
|
||||||
sort($ausgetreteneVereineMitAktivenMitgliedern);
|
sort($ausgetreteneVereineMitAktivenMitgliedern);
|
||||||
@@ -5707,8 +5708,8 @@ function adminEditRangliste(): void
|
|||||||
if (count($rows) < 1) die("Wrong id!");
|
if (count($rows) < 1) die("Wrong id!");
|
||||||
$rangliste = $rows[0];
|
$rangliste = $rows[0];
|
||||||
|
|
||||||
$query = "INSERT INTO #__sportsmanager_rangliste (saison_id, system_id, streichergebnisse, geschlecht, minalter, maxalter, ohnealter, bezeichnung, erster_tag, letzter_tag, status, reihenfolge, kategorie)"
|
$query = "INSERT INTO #__sportsmanager_rangliste (saison_id, system_id, streichergebnisse, geschlecht, lizenzen, minalter, maxalter, ohnealter, bezeichnung, erster_tag, letzter_tag, status, reihenfolge, kategorie)"
|
||||||
. "\n VALUES ('$rangliste->saison_id', " . ($rangliste->system_id == null ? "null" : "'$rangliste->system_id'") . ", '" . $db->escape($rangliste->streichergebnisse) . "', " . ($rangliste->geschlecht == null ? "null" : "'$rangliste->geschlecht'") . ", " . ($rangliste->minalter == null ? "null" : "'$rangliste->minalter'") . ", " . ($rangliste->maxalter == null ? "null" : "'$rangliste->maxalter'") . ", '$rangliste->ohnealter', '" . $db->escape($rangliste->bezeichnung . " (Kopie)") . "', '" . $db->escape($rangliste->erster_tag) . "', '" . $db->escape($rangliste->letzter_tag) . "', '0', '" . $db->escape($rangliste->reihenfolge) . "', '" . $db->escape($rangliste->kategorie) . "');";
|
. "\n VALUES ('$rangliste->saison_id', " . ($rangliste->system_id == null ? "null" : "'$rangliste->system_id'") . ", '" . $db->escape($rangliste->streichergebnisse) . "', " . ($rangliste->geschlecht == null ? "null" : "'$rangliste->geschlecht'") . ", " . ($rangliste->lizenzen == null ? "null" : "'$rangliste->lizenzen'") . "," . ($rangliste->minalter == null ? "null" : "'$rangliste->minalter'") . ", " . ($rangliste->maxalter == null ? "null" : "'$rangliste->maxalter'") . ", '$rangliste->ohnealter', '" . $db->escape($rangliste->bezeichnung . " (Kopie)") . "', '" . $db->escape($rangliste->erster_tag) . "', '" . $db->escape($rangliste->letzter_tag) . "', '0', '" . $db->escape($rangliste->reihenfolge) . "', '" . $db->escape($rangliste->kategorie) . "');";
|
||||||
$db->setQuery($query);
|
$db->setQuery($query);
|
||||||
if (!$db->execute()) {
|
if (!$db->execute()) {
|
||||||
die($db->stderr(true));
|
die($db->stderr(true));
|
||||||
@@ -7005,6 +7006,7 @@ function adminEditVeranstaltung(): void
|
|||||||
$modus_id = $jInput->get('modus_id', 0, 'INT');
|
$modus_id = $jInput->get('modus_id', 0, 'INT');
|
||||||
$verschieberegel_id = $jInput->get('verschieberegel_id', 0, 'INT');
|
$verschieberegel_id = $jInput->get('verschieberegel_id', 0, 'INT');
|
||||||
$tabellenwertung = $jInput->get('tabellenwertung', 0, 'INT');
|
$tabellenwertung = $jInput->get('tabellenwertung', 0, 'INT');
|
||||||
|
$direktervergleich = $jInput->get('direktervergleich', 0, 'INT');
|
||||||
$unterteilung = $jInput->get('unterteilung', 0, 'INT');
|
$unterteilung = $jInput->get('unterteilung', 0, 'INT');
|
||||||
$elo_wertung = $jInput->get('elo_wertung', 0, 'INT');
|
$elo_wertung = $jInput->get('elo_wertung', 0, 'INT');
|
||||||
$logo_url = $db->escape(trim($jInput->get('logo_url', '', 'RAW')));
|
$logo_url = $db->escape(trim($jInput->get('logo_url', '', 'RAW')));
|
||||||
@@ -7024,8 +7026,8 @@ function adminEditVeranstaltung(): void
|
|||||||
$elo_aktualisieren = false;
|
$elo_aktualisieren = false;
|
||||||
$spielerstatistik_aktualisieren = false;
|
$spielerstatistik_aktualisieren = false;
|
||||||
if ($id == 0) {
|
if ($id == 0) {
|
||||||
$query = "INSERT INTO #__sportsmanager_veranstaltung (veranstalter_id, saison_id, bezeichnung, erster_tag " . ($letzter_tag != null ? ", letzter_tag" : "") . ", modus_id, verschieberegel_id, tabellenwertung, unterteilung, elo_wertung, logo_url, ticker_logo_url, status, reihenfolge, kategorie) VALUES
|
$query = "INSERT INTO #__sportsmanager_veranstaltung (veranstalter_id, saison_id, bezeichnung, erster_tag " . ($letzter_tag != null ? ", letzter_tag" : "") . ", modus_id, verschieberegel_id, tabellenwertung, direktervergleich, unterteilung, elo_wertung, logo_url, ticker_logo_url, status, reihenfolge, kategorie) VALUES
|
||||||
('$veranstalterId', '$saison_id', '$bezeichnung', '$erster_tag', " . ($letzter_tag != null ? "'$letzter_tag', " : "") . "'$modus_id', '$verschieberegel_id', '$tabellenwertung', '$unterteilung', '$elo_wertung', '$logo_url', '$ticker_logo_url', '$status', '$reihenfolge', '$kategorie');";
|
('$veranstalterId', '$saison_id', '$bezeichnung', '$erster_tag', " . ($letzter_tag != null ? "'$letzter_tag', " : "") . "'$modus_id', '$verschieberegel_id', '$tabellenwertung', '$direktervergleich', '$unterteilung', '$elo_wertung', '$logo_url', '$ticker_logo_url', '$status', '$reihenfolge', '$kategorie');";
|
||||||
$db->setQuery($query);
|
$db->setQuery($query);
|
||||||
if (!$db->execute()) {
|
if (!$db->execute()) {
|
||||||
die($db->stderr(true));
|
die($db->stderr(true));
|
||||||
@@ -7052,6 +7054,7 @@ function adminEditVeranstaltung(): void
|
|||||||
. "\n modus_id = '$modus_id',"
|
. "\n modus_id = '$modus_id',"
|
||||||
. "\n verschieberegel_id = '$verschieberegel_id',"
|
. "\n verschieberegel_id = '$verschieberegel_id',"
|
||||||
. "\n tabellenwertung = '$tabellenwertung',"
|
. "\n tabellenwertung = '$tabellenwertung',"
|
||||||
|
. "\n direktervergleich = '$direktervergleich',"
|
||||||
. "\n unterteilung = '$unterteilung',"
|
. "\n unterteilung = '$unterteilung',"
|
||||||
. "\n elo_wertung = '$elo_wertung',"
|
. "\n elo_wertung = '$elo_wertung',"
|
||||||
. "\n logo_url = '$logo_url',"
|
. "\n logo_url = '$logo_url',"
|
||||||
@@ -8885,9 +8888,9 @@ function adminBegegnungen(): void
|
|||||||
$query = "SELECT t1.*, t2.teamname AS heim_name, t3.teamname AS gast_name, t4.unbestaetigtes_ergebnis_id, t4.zwischenergebnis, t2.nichtraucherschutz AS heim_nichtraucherschutz, t3.nichtraucherschutz AS gast_nichtraucherschutz,"
|
$query = "SELECT t1.*, t2.teamname AS heim_name, t3.teamname AS gast_name, t4.unbestaetigtes_ergebnis_id, t4.zwischenergebnis, t2.nichtraucherschutz AS heim_nichtraucherschutz, t3.nichtraucherschutz AS gast_nichtraucherschutz,"
|
||||||
. "\n EXISTS(SELECT * FROM #__sportsmanager_begegnung_historie USE INDEX (begegnung_id) WHERE #__sportsmanager_begegnung_historie.begegnung_id = t1.begegnung_id AND aktion IN (1, 5)) AS verlegt,"
|
. "\n EXISTS(SELECT * FROM #__sportsmanager_begegnung_historie USE INDEX (begegnung_id) WHERE #__sportsmanager_begegnung_historie.begegnung_id = t1.begegnung_id AND aktion IN (1, 5)) AS verlegt,"
|
||||||
. "\n (SELECT IF(#__sportsmanager_begegnung_historie.aktion NOT IN (0, 3, 4), NULL, #__sportsmanager_begegnung_historie.eingetragen) AS eingetragen FROM #__sportsmanager_begegnung_historie USE INDEX (begegnung_id) WHERE #__sportsmanager_begegnung_historie.begegnung_id = t1.begegnung_id ORDER BY begegnung_historie_id DESC LIMIT 1) AS verlegung_eingetragen,"
|
. "\n (SELECT IF(#__sportsmanager_begegnung_historie.aktion NOT IN (0, 3, 4), NULL, #__sportsmanager_begegnung_historie.eingetragen) AS eingetragen FROM #__sportsmanager_begegnung_historie USE INDEX (begegnung_id) WHERE #__sportsmanager_begegnung_historie.begegnung_id = t1.begegnung_id ORDER BY begegnung_historie_id DESC LIMIT 1) AS verlegung_eingetragen,"
|
||||||
|
|
||||||
. "\n UNIX_TIMESTAMP(t1.zeitpunkt) AS termin_spiel,"
|
. "\n UNIX_TIMESTAMP(t1.zeitpunkt) AS termin_spiel,"
|
||||||
|
|
||||||
. "\n ("
|
. "\n ("
|
||||||
. "\n SELECT UNIX_TIMESTAMP(zeitpunkt)"
|
. "\n SELECT UNIX_TIMESTAMP(zeitpunkt)"
|
||||||
. "\n FROM #__sportsmanager_begegnung_historie"
|
. "\n FROM #__sportsmanager_begegnung_historie"
|
||||||
@@ -8895,7 +8898,7 @@ function adminBegegnungen(): void
|
|||||||
. "\n ORDER BY begegnung_historie_id ASC"
|
. "\n ORDER BY begegnung_historie_id ASC"
|
||||||
. "\n LIMIT 1"
|
. "\n LIMIT 1"
|
||||||
. "\n ) AS termin_original,"
|
. "\n ) AS termin_original,"
|
||||||
|
|
||||||
. "\n ("
|
. "\n ("
|
||||||
. "\n SELECT team_id"
|
. "\n SELECT team_id"
|
||||||
. "\n FROM #__sportsmanager_begegnung_historie"
|
. "\n FROM #__sportsmanager_begegnung_historie"
|
||||||
@@ -8903,7 +8906,7 @@ function adminBegegnungen(): void
|
|||||||
. "\n ORDER BY begegnung_historie_id ASC"
|
. "\n ORDER BY begegnung_historie_id ASC"
|
||||||
. "\n LIMIT 1"
|
. "\n LIMIT 1"
|
||||||
. "\n ) AS verantwortliches_team,"
|
. "\n ) AS verantwortliches_team,"
|
||||||
|
|
||||||
. "\n ("
|
. "\n ("
|
||||||
. "\n SELECT UNIX_TIMESTAMP(zeitpunkt)"
|
. "\n SELECT UNIX_TIMESTAMP(zeitpunkt)"
|
||||||
. "\n FROM #__sportsmanager_begegnung_historie"
|
. "\n FROM #__sportsmanager_begegnung_historie"
|
||||||
@@ -8911,7 +8914,7 @@ function adminBegegnungen(): void
|
|||||||
. "\n ORDER BY begegnung_historie_id ASC"
|
. "\n ORDER BY begegnung_historie_id ASC"
|
||||||
. "\n LIMIT 1"
|
. "\n LIMIT 1"
|
||||||
. "\n ) AS termin_akzeptiert,"
|
. "\n ) AS termin_akzeptiert,"
|
||||||
|
|
||||||
. "\n ("
|
. "\n ("
|
||||||
. "\n SELECT UNIX_TIMESTAMP(eingetragen)"
|
. "\n SELECT UNIX_TIMESTAMP(eingetragen)"
|
||||||
. "\n FROM #__sportsmanager_begegnung_historie"
|
. "\n FROM #__sportsmanager_begegnung_historie"
|
||||||
@@ -8919,7 +8922,7 @@ function adminBegegnungen(): void
|
|||||||
. "\n ORDER BY begegnung_historie_id ASC"
|
. "\n ORDER BY begegnung_historie_id ASC"
|
||||||
. "\n LIMIT 1"
|
. "\n LIMIT 1"
|
||||||
. "\n ) AS ergebnis_vorgeschlagen,"
|
. "\n ) AS ergebnis_vorgeschlagen,"
|
||||||
|
|
||||||
. "\n ("
|
. "\n ("
|
||||||
. "\n SELECT UNIX_TIMESTAMP(eingetragen)"
|
. "\n SELECT UNIX_TIMESTAMP(eingetragen)"
|
||||||
. "\n FROM #__sportsmanager_begegnung_historie"
|
. "\n FROM #__sportsmanager_begegnung_historie"
|
||||||
@@ -8927,13 +8930,13 @@ function adminBegegnungen(): void
|
|||||||
. "\n ORDER BY begegnung_historie_id ASC"
|
. "\n ORDER BY begegnung_historie_id ASC"
|
||||||
. "\n LIMIT 1"
|
. "\n LIMIT 1"
|
||||||
. "\n ) AS ergebnis_akzeptiert,"
|
. "\n ) AS ergebnis_akzeptiert,"
|
||||||
|
|
||||||
. "\n ("
|
. "\n ("
|
||||||
. "\n SELECT COUNT(*) FROM #__sportsmanager_teamspiel"
|
. "\n SELECT COUNT(*) FROM #__sportsmanager_teamspiel"
|
||||||
. "\n WHERE begegnung_id = t1.begegnung_id"
|
. "\n WHERE begegnung_id = t1.begegnung_id"
|
||||||
. "\n AND (heim_spieler_1_id = 0 OR heim_spieler_2_id = 0 OR gast_spieler_1_id = 0 OR gast_spieler_2_id = 0)"
|
. "\n AND (heim_spieler_1_id = 0 OR heim_spieler_2_id = 0 OR gast_spieler_1_id = 0 OR gast_spieler_2_id = 0)"
|
||||||
. "\n ) AS fehlende_spieler"
|
. "\n ) AS fehlende_spieler"
|
||||||
|
|
||||||
. "\n FROM #__sportsmanager_begegnung AS t1"
|
. "\n FROM #__sportsmanager_begegnung AS t1"
|
||||||
. "\n LEFT JOIN #__sportsmanager_team AS t2 ON t1.heim_team_id = t2.team_id"
|
. "\n LEFT JOIN #__sportsmanager_team AS t2 ON t1.heim_team_id = t2.team_id"
|
||||||
. "\n LEFT JOIN #__sportsmanager_team AS t3 ON t1.gast_team_id = t3.team_id"
|
. "\n LEFT JOIN #__sportsmanager_team AS t3 ON t1.gast_team_id = t3.team_id"
|
||||||
@@ -16334,9 +16337,9 @@ function termineEmailBenachrichtigung($termin_aktion_id, $ueberarbeiten = false)
|
|||||||
$terminaktion->url = adminCheckRelativerPfad($terminaktion->url);
|
$terminaktion->url = adminCheckRelativerPfad($terminaktion->url);
|
||||||
if (!str_contains($terminaktion->url, "://")) {
|
if (!str_contains($terminaktion->url, "://")) {
|
||||||
$termin_url_anzeige = $terminaktion->url;
|
$termin_url_anzeige = $terminaktion->url;
|
||||||
$termin_url = "http://" . $terminaktion->url;
|
$termin_url = "https://" . $terminaktion->url;
|
||||||
} else {
|
} else {
|
||||||
$termin_url_anzeige = str_starts_with($terminaktion->url, "http://") ? substr($terminaktion->url, 7) : $terminaktion->url;
|
$termin_url_anzeige = str_starts_with($terminaktion->url, "https://") ? substr($terminaktion->url, 8) : $terminaktion->url;
|
||||||
$termin_url = $terminaktion->url;
|
$termin_url = $terminaktion->url;
|
||||||
}
|
}
|
||||||
$termin_beschreibung .= "<tr>\r\n"
|
$termin_beschreibung .= "<tr>\r\n"
|
||||||
@@ -16365,9 +16368,9 @@ function termineEmailBenachrichtigung($termin_aktion_id, $ueberarbeiten = false)
|
|||||||
$terminaktion->ergebnisse_url = adminCheckRelativerPfad($terminaktion->ergebnisse_url);
|
$terminaktion->ergebnisse_url = adminCheckRelativerPfad($terminaktion->ergebnisse_url);
|
||||||
if (!str_contains($terminaktion->ergebnisse_url, "://")) {
|
if (!str_contains($terminaktion->ergebnisse_url, "://")) {
|
||||||
$termin_url_anzeige = $terminaktion->ergebnisse_url;
|
$termin_url_anzeige = $terminaktion->ergebnisse_url;
|
||||||
$termin_url = "http://" . $terminaktion->ergebnisse_url;
|
$termin_url = "https://" . $terminaktion->ergebnisse_url;
|
||||||
} else {
|
} else {
|
||||||
$termin_url_anzeige = str_starts_with($terminaktion->ergebnisse_url, "http://") ? substr($terminaktion->ergebnisse_url, 7) : $terminaktion->ergebnisse_url;
|
$termin_url_anzeige = str_starts_with($terminaktion->ergebnisse_url, "https://") ? substr($terminaktion->ergebnisse_url, 8) : $terminaktion->ergebnisse_url;
|
||||||
$termin_url = $terminaktion->ergebnisse_url;
|
$termin_url = $terminaktion->ergebnisse_url;
|
||||||
}
|
}
|
||||||
$termin_beschreibung .= "<tr>\r\n"
|
$termin_beschreibung .= "<tr>\r\n"
|
||||||
|
|||||||
@@ -5266,6 +5266,35 @@ function updateDatabase(): void
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($datenbank_version < 104) {
|
||||||
|
|
||||||
|
$query = "ALTER TABLE #__sportsmanager_veranstaltung ADD direktervergleich INT(4) NOT NULL DEFAULT '0' AFTER tabellenwertung;";
|
||||||
|
$db->setQuery($query);
|
||||||
|
if (!$db->execute()) {
|
||||||
|
die($db->stderr(true));
|
||||||
|
}
|
||||||
|
|
||||||
|
$query = "ALTER TABLE #__sportsmanager_team ADD setzliste_nr INT(4) NULL DEFAULT NULL AFTER veranstaltung_id;";
|
||||||
|
$db->setQuery($query);
|
||||||
|
if (!$db->execute()) {
|
||||||
|
die($db->stderr(true));
|
||||||
|
}
|
||||||
|
|
||||||
|
$query = "ALTER TABLE #__sportsmanager_begegnung ADD spiel_nr INT(4) NULL DEFAULT NULL AFTER spieltag;";
|
||||||
|
$db->setQuery($query);
|
||||||
|
if (!$db->execute()) {
|
||||||
|
die($db->stderr(true));
|
||||||
|
}
|
||||||
|
|
||||||
|
$query = "UPDATE #__sportsmanager_einstellungen"
|
||||||
|
. "\n SET wert = '104'"
|
||||||
|
. "\n WHERE name = 'datenbank_version'";
|
||||||
|
$db->setQuery($query);
|
||||||
|
if (!$db->execute()) {
|
||||||
|
die($db->stderr(true));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if ($termin_aktionen_email_setzen) {
|
if ($termin_aktionen_email_setzen) {
|
||||||
$query = "SELECT aktion_user_id, termin_aktion_id"
|
$query = "SELECT aktion_user_id, termin_aktion_id"
|
||||||
. "\n FROM #__sportsmanager_termin_aktion";
|
. "\n FROM #__sportsmanager_termin_aktion";
|
||||||
|
|||||||
@@ -15,7 +15,6 @@ use Joomla\CMS\Uri\Uri;
|
|||||||
use Joomla\CMS\Version;
|
use Joomla\CMS\Version;
|
||||||
|
|
||||||
defined('_JEXEC') or die('Restricted access');
|
defined('_JEXEC') or die('Restricted access');
|
||||||
const SPORTS_MANAGER_VERSION = "2.0.3";
|
|
||||||
|
|
||||||
function laufzeitInit(): void
|
function laufzeitInit(): void
|
||||||
{
|
{
|
||||||
@@ -56,6 +55,7 @@ else if (isset($_REQUEST['filter_saison_id']))
|
|||||||
global $content;
|
global $content;
|
||||||
global $task;
|
global $task;
|
||||||
global $params;
|
global $params;
|
||||||
|
|
||||||
$app = Factory::getContainer()->get(SiteApplication::class);
|
$app = Factory::getContainer()->get(SiteApplication::class);
|
||||||
$jInput = $app->input;
|
$jInput = $app->input;
|
||||||
$task = $jInput->getCmd('task');
|
$task = $jInput->getCmd('task');
|
||||||
@@ -1608,6 +1608,18 @@ function tabelle($veranstaltung, $spieltag, $alleine_angezeigt, $praesentation =
|
|||||||
$modus = $rows[0];
|
$modus = $rows[0];
|
||||||
|
|
||||||
if ($veranstaltung->tabellenwertung > 0) {
|
if ($veranstaltung->tabellenwertung > 0) {
|
||||||
|
|
||||||
|
// Alle Spieltage ermitteln
|
||||||
|
$query = "SELECT COUNT(DISTINCT spieltag)"
|
||||||
|
. "\n FROM #__sportsmanager_begegnung"
|
||||||
|
. "\n INNER JOIN #__sportsmanager_team ON heim_team_id = team_id"
|
||||||
|
. "\n WHERE veranstaltung_id = $veranstaltung->veranstaltung_id";
|
||||||
|
$db->setQuery($query);
|
||||||
|
if (!$db->execute()) {
|
||||||
|
die($db->stderr(true));
|
||||||
|
}
|
||||||
|
$anzahl_spieltage_komplett = $db->loadResult();
|
||||||
|
|
||||||
// Spieltage ermitteln, an denen schon eine Begegnung ausgetragen wurde
|
// Spieltage ermitteln, an denen schon eine Begegnung ausgetragen wurde
|
||||||
$query = "SELECT DISTINCT spieltag"
|
$query = "SELECT DISTINCT spieltag"
|
||||||
. "\n FROM #__sportsmanager_begegnung"
|
. "\n FROM #__sportsmanager_begegnung"
|
||||||
@@ -1626,49 +1638,14 @@ function tabelle($veranstaltung, $spieltag, $alleine_angezeigt, $praesentation =
|
|||||||
$spieltag = $aktueller_spieltag;
|
$spieltag = $aktueller_spieltag;
|
||||||
|
|
||||||
if ($spieltag == $aktueller_spieltag) {
|
if ($spieltag == $aktueller_spieltag) {
|
||||||
$query = "SELECT *"
|
$teams = getTabelleAktuellerSpieltag($veranstaltung);
|
||||||
. "\n FROM #__sportsmanager_team"
|
|
||||||
. "\n WHERE veranstaltung_id = $veranstaltung->veranstaltung_id"
|
|
||||||
. "\n ORDER BY platz, teamname";
|
|
||||||
} else {
|
} else {
|
||||||
$query = "SELECT verein_id, teamname, zusatzpunkte,"
|
$teams = getTabelleSpieltag($veranstaltung,$spieltag);
|
||||||
. "\n werte.*,"
|
if ($veranstaltung->direktervergleich AND $spieltag >= $anzahl_spieltage_komplett/2){
|
||||||
. "\n werte.siege * " . ($veranstaltung->tabellenwertung <= 3 ? "2" : ($veranstaltung->tabellenwertung <= 6 ? "3" : "1")) . ($veranstaltung->tabellenwertung <= 6 ? " + werte.unentschieden" : "") . " + COALESCE(zusatzpunkte, 0) AS gesamtpunkte,"
|
$teams = getTabelleDirekterVergleich($teams,$veranstaltung,$spieltag);
|
||||||
. "\n werte.siege * " . ($veranstaltung->tabellenwertung <= 3 ? "2" : ($veranstaltung->tabellenwertung <= 6 ? "3" : "1")) . ($veranstaltung->tabellenwertung <= 6 ? " + werte.unentschieden" : "") . " AS begegnungspunkte,"
|
}
|
||||||
. "\n werte.punkte_gewonnen - werte.punkte_verloren AS punkte_differenz,"
|
|
||||||
. "\n IF(werte.punkte_verloren = 0, -1, werte.punkte_gewonnen / werte.punkte_verloren) AS punkte_quotient,"
|
|
||||||
. "\n werte.spielpunkte_gewonnen - werte.spielpunkte_verloren AS spielpunkte_differenz,"
|
|
||||||
. "\n IF(werte.spielpunkte_verloren = 0, -1, werte.spielpunkte_gewonnen / werte.spielpunkte_verloren) AS spielpunkte_quotient"
|
|
||||||
. "\n FROM #__sportsmanager_team"
|
|
||||||
. "\n LEFT JOIN"
|
|
||||||
. "\n (SELECT t1.team_id,"
|
|
||||||
. "\n (SELECT COUNT(*) FROM #__sportsmanager_begegnung AS tt1 LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis AS tt2 ON tt1.begegnung_id = tt2.begegnung_id WHERE ISNULL(tt2.unbestaetigtes_ergebnis_id)" . ($spieltag > 0 ? " AND tt1.spieltag <= $spieltag" : "") . " AND ((tt1.heim_team_id = t1.team_id AND tt1.heim_spielpunkte > tt1.gast_spielpunkte) OR (tt1.gast_team_id = t1.team_id AND tt1.gast_spielpunkte > tt1.heim_spielpunkte)) AND (tt1.heim_punkte != 0 OR tt1.gast_punkte != 0)) AS siege,"
|
|
||||||
. "\n (SELECT COUNT(*) FROM #__sportsmanager_begegnung AS tt1 LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis AS tt2 ON tt1.begegnung_id = tt2.begegnung_id WHERE ISNULL(tt2.unbestaetigtes_ergebnis_id)" . ($spieltag > 0 ? " AND tt1.spieltag <= $spieltag" : "") . " AND (tt1.heim_team_id = t1.team_id OR tt1.gast_team_id = t1.team_id) AND tt1.heim_spielpunkte = tt1.gast_spielpunkte AND (tt1.heim_punkte != 0 OR tt1.gast_punkte != 0)) AS unentschieden,"
|
|
||||||
. "\n (SELECT COUNT(*) FROM #__sportsmanager_begegnung AS tt1 LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis AS tt2 ON tt1.begegnung_id = tt2.begegnung_id WHERE ISNULL(tt2.unbestaetigtes_ergebnis_id)" . ($spieltag > 0 ? " AND tt1.spieltag <= $spieltag" : "") . " AND ((tt1.heim_team_id = t1.team_id AND tt1.heim_spielpunkte < tt1.gast_spielpunkte) OR (tt1.gast_team_id = t1.team_id AND tt1.gast_spielpunkte < tt1.heim_spielpunkte)) AND (tt1.heim_punkte != 0 OR tt1.gast_punkte != 0)) AS niederlagen,"
|
|
||||||
. "\n (COALESCE((SELECT SUM(heim_punkte) FROM #__sportsmanager_begegnung AS tt1 LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis AS tt2 ON tt1.begegnung_id = tt2.begegnung_id WHERE ISNULL(tt2.unbestaetigtes_ergebnis_id)" . ($spieltag > 0 ? " AND tt1.spieltag <= $spieltag" : "") . " AND tt1.heim_team_id = t1.team_id AND (tt1.heim_punkte != 0 OR tt1.gast_punkte != 0)), 0)) + (COALESCE((SELECT SUM(gast_punkte) FROM #__sportsmanager_begegnung AS tt1 LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis AS tt2 ON tt1.begegnung_id = tt2.begegnung_id WHERE ISNULL(tt2.unbestaetigtes_ergebnis_id)" . ($spieltag > 0 ? " AND tt1.spieltag <= $spieltag" : "") . " AND tt1.gast_team_id = t1.team_id AND (tt1.heim_punkte != 0 OR tt1.gast_punkte != 0)), 0)) AS punkte_gewonnen,"
|
|
||||||
. "\n (COALESCE((SELECT SUM(gast_punkte) FROM #__sportsmanager_begegnung AS tt1 LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis AS tt2 ON tt1.begegnung_id = tt2.begegnung_id WHERE ISNULL(tt2.unbestaetigtes_ergebnis_id)" . ($spieltag > 0 ? " AND tt1.spieltag <= $spieltag" : "") . " AND tt1.heim_team_id = t1.team_id AND (tt1.heim_punkte != 0 OR tt1.gast_punkte != 0)), 0)) + (COALESCE((SELECT SUM(heim_punkte) FROM #__sportsmanager_begegnung AS tt1 LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis AS tt2 ON tt1.begegnung_id = tt2.begegnung_id WHERE ISNULL(tt2.unbestaetigtes_ergebnis_id)" . ($spieltag > 0 ? " AND tt1.spieltag <= $spieltag" : "") . " AND tt1.gast_team_id = t1.team_id AND (tt1.heim_punkte != 0 OR tt1.gast_punkte != 0)), 0)) AS punkte_verloren,"
|
|
||||||
. "\n (COALESCE((SELECT SUM(heim_spielpunkte) FROM #__sportsmanager_begegnung AS tt1 LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis AS tt2 ON tt1.begegnung_id = tt2.begegnung_id WHERE ISNULL(tt2.unbestaetigtes_ergebnis_id)" . ($spieltag > 0 ? " AND tt1.spieltag <= $spieltag" : "") . " AND tt1.heim_team_id = t1.team_id AND (tt1.heim_punkte != 0 OR tt1.gast_punkte != 0)), 0)) + (COALESCE((SELECT SUM(gast_spielpunkte) FROM #__sportsmanager_begegnung AS tt1 LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis AS tt2 ON tt1.begegnung_id = tt2.begegnung_id WHERE ISNULL(tt2.unbestaetigtes_ergebnis_id)" . ($spieltag > 0 ? " AND tt1.spieltag <= $spieltag" : "") . " AND tt1.gast_team_id = t1.team_id AND (tt1.heim_punkte != 0 OR tt1.gast_punkte != 0)), 0)) AS spielpunkte_gewonnen,"
|
|
||||||
. "\n (COALESCE((SELECT SUM(gast_spielpunkte) FROM #__sportsmanager_begegnung AS tt1 LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis AS tt2 ON tt1.begegnung_id = tt2.begegnung_id WHERE ISNULL(tt2.unbestaetigtes_ergebnis_id)" . ($spieltag > 0 ? " AND tt1.spieltag <= $spieltag" : "") . " AND tt1.heim_team_id = t1.team_id AND (tt1.heim_punkte != 0 OR tt1.gast_punkte != 0)), 0)) + (COALESCE((SELECT SUM(heim_spielpunkte) FROM #__sportsmanager_begegnung AS tt1 LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis AS tt2 ON tt1.begegnung_id = tt2.begegnung_id WHERE ISNULL(tt2.unbestaetigtes_ergebnis_id)" . ($spieltag > 0 ? " AND tt1.spieltag <= $spieltag" : "") . " AND tt1.gast_team_id = t1.team_id AND (tt1.heim_punkte != 0 OR tt1.gast_punkte != 0)), 0)) AS spielpunkte_verloren"
|
|
||||||
. "\n FROM #__sportsmanager_team AS t1 WHERE veranstaltung_id = $veranstaltung->veranstaltung_id)"
|
|
||||||
. "\n AS werte USING (team_id)"
|
|
||||||
. "\n WHERE veranstaltung_id = $veranstaltung->veranstaltung_id";
|
|
||||||
if ($veranstaltung->tabellenwertung == 1 || $veranstaltung->tabellenwertung == 4 || $veranstaltung->tabellenwertung == 7)
|
|
||||||
$query .= "\n ORDER BY gesamtpunkte DESC, spielpunkte_differenz DESC, punkte_differenz DESC, teamname";
|
|
||||||
else if ($veranstaltung->tabellenwertung == 2 || $veranstaltung->tabellenwertung == 5 || $veranstaltung->tabellenwertung == 8)
|
|
||||||
$query .= "\n ORDER BY gesamtpunkte DESC, spielpunkte_quotient DESC, punkte_quotient DESC, teamname";
|
|
||||||
else if ($veranstaltung->tabellenwertung == 10)
|
|
||||||
$query .= "\n ORDER BY spielpunkte_differenz DESC, punkte_differenz DESC, teamname";
|
|
||||||
else if ($veranstaltung->tabellenwertung == 11)
|
|
||||||
$query .= "\n ORDER BY spielpunkte_quotient DESC, punkte_quotient DESC, teamname";
|
|
||||||
else
|
|
||||||
$query .= "\n ORDER BY gesamtpunkte DESC, teamname";
|
|
||||||
}
|
}
|
||||||
$db->setQuery($query);
|
|
||||||
if (!$db->execute()) {
|
|
||||||
die($db->stderr(true));
|
|
||||||
}
|
|
||||||
$teams = $db->loadObjectList();
|
|
||||||
|
|
||||||
if (isJson()) {
|
if (isJson()) {
|
||||||
return JSON_sportsmanager::tabelleAnzeigen($modus, $teams);
|
return JSON_sportsmanager::tabelleAnzeigen($modus, $teams);
|
||||||
} else {
|
} else {
|
||||||
@@ -1693,6 +1670,128 @@ function tabelle($veranstaltung, $spieltag, $alleine_angezeigt, $praesentation =
|
|||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getTabelleDirekterVergleich($teams,$veranstaltung,$spieltag)
|
||||||
|
{
|
||||||
|
|
||||||
|
$gesamtpunkte = 1000;
|
||||||
|
$anzahlSpiele = 1000;
|
||||||
|
$platz = 0;
|
||||||
|
$punktgleicheMannschaften = [];
|
||||||
|
$korrekturen = [];
|
||||||
|
|
||||||
|
foreach($teams AS $team){
|
||||||
|
if (($gesamtpunkte != $team->gesamtpunkte) OR ($anzahlSpiele != $team->anzahl_spiele)){
|
||||||
|
$gesamtpunkte = $team->gesamtpunkte;
|
||||||
|
$anzahlSpiele = $team->anzahl_spiele;
|
||||||
|
$platz = $team->platz;
|
||||||
|
$punktgleicheMannschaften[$platz] = $team->team_id;
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
$punktgleicheMannschaften[$platz] .= ",".$team->team_id;
|
||||||
|
$korrekturen[$platz] = $punktgleicheMannschaften[$platz];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!empty($korrekturen)){
|
||||||
|
foreach($korrekturen AS $key => $korrektur){
|
||||||
|
$teamsKorrektur = getTabelleSpieltag($veranstaltung,$spieltag,$korrektur,$key-1);
|
||||||
|
foreach($teamsKorrektur AS $teamKorrektur){
|
||||||
|
foreach($teams AS $team){
|
||||||
|
if ($team->team_id == $teamKorrektur->team_id){
|
||||||
|
$team->platz = $teamKorrektur->platz;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//Tabelle neu sortieren
|
||||||
|
usort($teams, function($a, $b) {
|
||||||
|
return $a->platz <=> $b->platz;
|
||||||
|
});
|
||||||
|
|
||||||
|
return $teams;
|
||||||
|
}
|
||||||
|
|
||||||
|
function getTabelleAktuellerSpieltag($veranstaltung)
|
||||||
|
{
|
||||||
|
$db = getDatabase();
|
||||||
|
|
||||||
|
$query = "SELECT *,"
|
||||||
|
. "\n siege + unentschieden + niederlagen AS anzahl_spiele"
|
||||||
|
. "\n FROM #__sportsmanager_team"
|
||||||
|
. "\n WHERE veranstaltung_id = $veranstaltung->veranstaltung_id"
|
||||||
|
. "\n ORDER BY platz, teamname";
|
||||||
|
|
||||||
|
$db->setQuery($query);
|
||||||
|
if (!$db->execute()) {
|
||||||
|
die($db->stderr(true));
|
||||||
|
}
|
||||||
|
return $db->loadObjectList();
|
||||||
|
}
|
||||||
|
|
||||||
|
function getTabelleSpieltag($veranstaltung,$spieltag,$mannschaften = "",$offset_platz = 0)
|
||||||
|
{
|
||||||
|
$db = getDatabase();
|
||||||
|
if ($mannschaften){
|
||||||
|
$filter_mannschaften_begegnung = "tt1.heim_team_id IN (" . $mannschaften . ") AND tt1.gast_team_id IN (" . $mannschaften . ") AND";
|
||||||
|
$filter_mannschaften_teams = "AND team_id IN (" . $mannschaften . ") ";
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
$filter_mannschaften_begegnung = "";
|
||||||
|
$filter_mannschaften_teams = "";
|
||||||
|
}
|
||||||
|
$query = "SELECT verein_id, teamname, zusatzpunkte,"
|
||||||
|
. "\n werte.*,"
|
||||||
|
. "\n werte.siege * " . ($veranstaltung->tabellenwertung <= 3 ? "2" : ($veranstaltung->tabellenwertung <= 6 ? "3" : "1")) . ($veranstaltung->tabellenwertung <= 6 ? " + werte.unentschieden" : "") . " + COALESCE(zusatzpunkte, 0) AS gesamtpunkte,"
|
||||||
|
. "\n werte.siege * " . ($veranstaltung->tabellenwertung <= 3 ? "2" : ($veranstaltung->tabellenwertung <= 6 ? "3" : "1")) . ($veranstaltung->tabellenwertung <= 6 ? " + werte.unentschieden" : "") . " AS begegnungspunkte,"
|
||||||
|
. "\n werte.punkte_gewonnen - werte.punkte_verloren AS punkte_differenz,"
|
||||||
|
. "\n IF(werte.punkte_verloren = 0, -1, werte.punkte_gewonnen / werte.punkte_verloren) AS punkte_quotient,"
|
||||||
|
. "\n werte.spielpunkte_gewonnen - werte.spielpunkte_verloren AS spielpunkte_differenz,"
|
||||||
|
. "\n IF(werte.spielpunkte_verloren = 0, -1, werte.spielpunkte_gewonnen / werte.spielpunkte_verloren) AS spielpunkte_quotient, "
|
||||||
|
. "\n werte.siege + werte.unentschieden + werte.niederlagen AS anzahl_spiele"
|
||||||
|
. "\n FROM #__sportsmanager_team"
|
||||||
|
. "\n LEFT JOIN"
|
||||||
|
. "\n (SELECT t1.team_id,"
|
||||||
|
. "\n (SELECT COUNT(*) FROM #__sportsmanager_begegnung AS tt1 LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis AS tt2 ON tt1.begegnung_id = tt2.begegnung_id WHERE " . $filter_mannschaften_begegnung . " ISNULL(tt2.unbestaetigtes_ergebnis_id)" . ($spieltag > 0 ? " AND tt1.spieltag <= $spieltag" : "") . " AND ((tt1.heim_team_id = t1.team_id AND tt1.heim_spielpunkte > tt1.gast_spielpunkte) OR (tt1.gast_team_id = t1.team_id AND tt1.gast_spielpunkte > tt1.heim_spielpunkte)) AND (tt1.heim_punkte != 0 OR tt1.gast_punkte != 0)) AS siege,"
|
||||||
|
. "\n (SELECT COUNT(*) FROM #__sportsmanager_begegnung AS tt1 LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis AS tt2 ON tt1.begegnung_id = tt2.begegnung_id WHERE " . $filter_mannschaften_begegnung . " ISNULL(tt2.unbestaetigtes_ergebnis_id)" . ($spieltag > 0 ? " AND tt1.spieltag <= $spieltag" : "") . " AND (tt1.heim_team_id = t1.team_id OR tt1.gast_team_id = t1.team_id) AND tt1.heim_spielpunkte = tt1.gast_spielpunkte AND (tt1.heim_punkte != 0 OR tt1.gast_punkte != 0)) AS unentschieden,"
|
||||||
|
. "\n (SELECT COUNT(*) FROM #__sportsmanager_begegnung AS tt1 LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis AS tt2 ON tt1.begegnung_id = tt2.begegnung_id WHERE " . $filter_mannschaften_begegnung . " ISNULL(tt2.unbestaetigtes_ergebnis_id)" . ($spieltag > 0 ? " AND tt1.spieltag <= $spieltag" : "") . " AND ((tt1.heim_team_id = t1.team_id AND tt1.heim_spielpunkte < tt1.gast_spielpunkte) OR (tt1.gast_team_id = t1.team_id AND tt1.gast_spielpunkte < tt1.heim_spielpunkte)) AND (tt1.heim_punkte != 0 OR tt1.gast_punkte != 0)) AS niederlagen,"
|
||||||
|
. "\n (COALESCE((SELECT SUM(heim_punkte) FROM #__sportsmanager_begegnung AS tt1 LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis AS tt2 ON tt1.begegnung_id = tt2.begegnung_id WHERE " . $filter_mannschaften_begegnung . " ISNULL(tt2.unbestaetigtes_ergebnis_id)" . ($spieltag > 0 ? " AND tt1.spieltag <= $spieltag" : "") . " AND tt1.heim_team_id = t1.team_id AND (tt1.heim_punkte != 0 OR tt1.gast_punkte != 0)), 0)) + "
|
||||||
|
. "\n (COALESCE((SELECT SUM(gast_punkte) FROM #__sportsmanager_begegnung AS tt1 LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis AS tt2 ON tt1.begegnung_id = tt2.begegnung_id WHERE " . $filter_mannschaften_begegnung . " ISNULL(tt2.unbestaetigtes_ergebnis_id)" . ($spieltag > 0 ? " AND tt1.spieltag <= $spieltag" : "") . " AND tt1.gast_team_id = t1.team_id AND (tt1.heim_punkte != 0 OR tt1.gast_punkte != 0)), 0)) AS punkte_gewonnen,"
|
||||||
|
. "\n (COALESCE((SELECT SUM(gast_punkte) FROM #__sportsmanager_begegnung AS tt1 LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis AS tt2 ON tt1.begegnung_id = tt2.begegnung_id WHERE " . $filter_mannschaften_begegnung . " ISNULL(tt2.unbestaetigtes_ergebnis_id)" . ($spieltag > 0 ? " AND tt1.spieltag <= $spieltag" : "") . " AND tt1.heim_team_id = t1.team_id AND (tt1.heim_punkte != 0 OR tt1.gast_punkte != 0)), 0)) + "
|
||||||
|
. "\n (COALESCE((SELECT SUM(heim_punkte) FROM #__sportsmanager_begegnung AS tt1 LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis AS tt2 ON tt1.begegnung_id = tt2.begegnung_id WHERE " . $filter_mannschaften_begegnung . " ISNULL(tt2.unbestaetigtes_ergebnis_id)" . ($spieltag > 0 ? " AND tt1.spieltag <= $spieltag" : "") . " AND tt1.gast_team_id = t1.team_id AND (tt1.heim_punkte != 0 OR tt1.gast_punkte != 0)), 0)) AS punkte_verloren,"
|
||||||
|
. "\n (COALESCE((SELECT SUM(heim_spielpunkte) FROM #__sportsmanager_begegnung AS tt1 LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis AS tt2 ON tt1.begegnung_id = tt2.begegnung_id WHERE " . $filter_mannschaften_begegnung . " ISNULL(tt2.unbestaetigtes_ergebnis_id)" . ($spieltag > 0 ? " AND tt1.spieltag <= $spieltag" : "") . " AND tt1.heim_team_id = t1.team_id AND (tt1.heim_punkte != 0 OR tt1.gast_punkte != 0)), 0)) + "
|
||||||
|
. "\n (COALESCE((SELECT SUM(gast_spielpunkte) FROM #__sportsmanager_begegnung AS tt1 LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis AS tt2 ON tt1.begegnung_id = tt2.begegnung_id WHERE " . $filter_mannschaften_begegnung . " ISNULL(tt2.unbestaetigtes_ergebnis_id)" . ($spieltag > 0 ? " AND tt1.spieltag <= $spieltag" : "") . " AND tt1.gast_team_id = t1.team_id AND (tt1.heim_punkte != 0 OR tt1.gast_punkte != 0)), 0)) AS spielpunkte_gewonnen,"
|
||||||
|
. "\n (COALESCE((SELECT SUM(gast_spielpunkte) FROM #__sportsmanager_begegnung AS tt1 LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis AS tt2 ON tt1.begegnung_id = tt2.begegnung_id WHERE " . $filter_mannschaften_begegnung . " ISNULL(tt2.unbestaetigtes_ergebnis_id)" . ($spieltag > 0 ? " AND tt1.spieltag <= $spieltag" : "") . " AND tt1.heim_team_id = t1.team_id AND (tt1.heim_punkte != 0 OR tt1.gast_punkte != 0)), 0)) + "
|
||||||
|
. "\n (COALESCE((SELECT SUM(heim_spielpunkte) FROM #__sportsmanager_begegnung AS tt1 LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis AS tt2 ON tt1.begegnung_id = tt2.begegnung_id WHERE " . $filter_mannschaften_begegnung . " ISNULL(tt2.unbestaetigtes_ergebnis_id)" . ($spieltag > 0 ? " AND tt1.spieltag <= $spieltag" : "") . " AND tt1.gast_team_id = t1.team_id AND (tt1.heim_punkte != 0 OR tt1.gast_punkte != 0)), 0)) AS spielpunkte_verloren"
|
||||||
|
. "\n FROM #__sportsmanager_team AS t1"
|
||||||
|
. "\n WHERE veranstaltung_id = $veranstaltung->veranstaltung_id)"
|
||||||
|
. "\n AS werte USING (team_id)"
|
||||||
|
. "\n WHERE veranstaltung_id = $veranstaltung->veranstaltung_id " . $filter_mannschaften_teams;
|
||||||
|
if ($veranstaltung->tabellenwertung == 1 || $veranstaltung->tabellenwertung == 4 || $veranstaltung->tabellenwertung == 7)
|
||||||
|
$query .= "\n ORDER BY gesamtpunkte DESC, anzahl_spiele ASC, spielpunkte_differenz DESC, punkte_differenz DESC, teamname";
|
||||||
|
else if ($veranstaltung->tabellenwertung == 2 || $veranstaltung->tabellenwertung == 5 || $veranstaltung->tabellenwertung == 8)
|
||||||
|
$query .= "\n ORDER BY gesamtpunkte DESC, anzahl_spiele ASC, spielpunkte_quotient DESC, punkte_quotient DESC, teamname";
|
||||||
|
else if ($veranstaltung->tabellenwertung == 10)
|
||||||
|
$query .= "\n ORDER BY spielpunkte_differenz DESC, punkte_differenz DESC, teamname";
|
||||||
|
else if ($veranstaltung->tabellenwertung == 11)
|
||||||
|
$query .= "\n ORDER BY spielpunkte_quotient DESC, punkte_quotient DESC, teamname";
|
||||||
|
else
|
||||||
|
$query .= "\n ORDER BY gesamtpunkte DESC, anzahl_spiele ASC, teamname";
|
||||||
|
|
||||||
|
$db->setQuery($query);
|
||||||
|
if (!$db->execute()) {
|
||||||
|
die($db->stderr(true));
|
||||||
|
}
|
||||||
|
$teams = $db->loadObjectList();
|
||||||
|
$platz = $offset_platz;
|
||||||
|
foreach($teams AS $key => $value)
|
||||||
|
{
|
||||||
|
$value->platz = ++$platz;
|
||||||
|
}
|
||||||
|
return $teams;
|
||||||
|
}
|
||||||
|
|
||||||
#[NoReturn] function veranstaltungenTicker($aktuelle_saison_anzeigen = false): void
|
#[NoReturn] function veranstaltungenTicker($aktuelle_saison_anzeigen = false): void
|
||||||
{
|
{
|
||||||
$db = getDatabase();
|
$db = getDatabase();
|
||||||
@@ -4841,12 +4940,12 @@ function teamstatistikAktualisieren($geaenderte_veranstaltung_id = 0, $geaendert
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$query = "SELECT * FROM #__sportsmanager_team"
|
$query = "SELECT *, siege + unentschieden + niederlagen AS anzahl_spiele FROM #__sportsmanager_team"
|
||||||
. "\n WHERE veranstaltung_id = $veranstaltung->veranstaltung_id";
|
. "\n WHERE veranstaltung_id = $veranstaltung->veranstaltung_id";
|
||||||
if ($veranstaltung->tabellenwertung == 1 || $veranstaltung->tabellenwertung == 4 || $veranstaltung->tabellenwertung == 7)
|
if ($veranstaltung->tabellenwertung == 1 || $veranstaltung->tabellenwertung == 4 || $veranstaltung->tabellenwertung == 7)
|
||||||
$query .= "\n ORDER BY gesamtpunkte DESC, spielpunkte_differenz DESC, punkte_differenz DESC, teamname";
|
$query .= "\n ORDER BY gesamtpunkte DESC, anzahl_spiele ASC, spielpunkte_differenz DESC, punkte_differenz DESC, teamname";
|
||||||
else if ($veranstaltung->tabellenwertung == 2 || $veranstaltung->tabellenwertung == 5 || $veranstaltung->tabellenwertung == 8)
|
else if ($veranstaltung->tabellenwertung == 2 || $veranstaltung->tabellenwertung == 5 || $veranstaltung->tabellenwertung == 8)
|
||||||
$query .= "\n ORDER BY gesamtpunkte DESC, spielpunkte_quotient DESC, punkte_quotient DESC, teamname";
|
$query .= "\n ORDER BY gesamtpunkte DESC, anzahl_spiele ASC, spielpunkte_quotient DESC, punkte_quotient DESC, teamname";
|
||||||
else if ($veranstaltung->tabellenwertung == 21 || $veranstaltung->tabellenwertung == 24 || $veranstaltung->tabellenwertung == 27)
|
else if ($veranstaltung->tabellenwertung == 21 || $veranstaltung->tabellenwertung == 24 || $veranstaltung->tabellenwertung == 27)
|
||||||
$query .= "\n ORDER BY gesamtpunkte DESC, buchholz1 DESC, buchholz2 DESC, spielpunkte_differenz DESC, punkte_differenz DESC, teamname";
|
$query .= "\n ORDER BY gesamtpunkte DESC, buchholz1 DESC, buchholz2 DESC, spielpunkte_differenz DESC, punkte_differenz DESC, teamname";
|
||||||
else if ($veranstaltung->tabellenwertung == 22 || $veranstaltung->tabellenwertung == 25 || $veranstaltung->tabellenwertung == 28)
|
else if ($veranstaltung->tabellenwertung == 22 || $veranstaltung->tabellenwertung == 25 || $veranstaltung->tabellenwertung == 28)
|
||||||
@@ -4858,13 +4957,44 @@ function teamstatistikAktualisieren($geaenderte_veranstaltung_id = 0, $geaendert
|
|||||||
else if ($veranstaltung->tabellenwertung == 23 || $veranstaltung->tabellenwertung == 26 || $veranstaltung->tabellenwertung == 29)
|
else if ($veranstaltung->tabellenwertung == 23 || $veranstaltung->tabellenwertung == 26 || $veranstaltung->tabellenwertung == 29)
|
||||||
$query .= "\n ORDER BY gesamtpunkte DESC, buchholz1 DESC, buchholz2 DESC, teamname";
|
$query .= "\n ORDER BY gesamtpunkte DESC, buchholz1 DESC, buchholz2 DESC, teamname";
|
||||||
else // ($veranstaltung->tabellenwertung == 3, 6, 9)
|
else // ($veranstaltung->tabellenwertung == 3, 6, 9)
|
||||||
$query .= "\n ORDER BY gesamtpunkte DESC, teamname";
|
$query .= "\n ORDER BY gesamtpunkte DESC, anzahl_spiele ASC, teamname";
|
||||||
$db->setQuery($query);
|
$db->setQuery($query);
|
||||||
if (!$db->execute()) {
|
if (!$db->execute()) {
|
||||||
die($db->stderr(true));
|
die($db->stderr(true));
|
||||||
}
|
}
|
||||||
$teams = $db->loadObjectList();
|
$teams = $db->loadObjectList();
|
||||||
|
|
||||||
|
// Alle Spieltage ermitteln
|
||||||
|
$query = "SELECT COUNT(DISTINCT spieltag)"
|
||||||
|
. "\n FROM #__sportsmanager_begegnung"
|
||||||
|
. "\n INNER JOIN #__sportsmanager_team ON heim_team_id = team_id"
|
||||||
|
. "\n WHERE veranstaltung_id = $veranstaltung->veranstaltung_id";
|
||||||
|
$db->setQuery($query);
|
||||||
|
if (!$db->execute()) {
|
||||||
|
die($db->stderr(true));
|
||||||
|
}
|
||||||
|
$anzahl_spieltage_komplett = $db->loadResult();
|
||||||
|
|
||||||
|
// Spieltage ermitteln, an denen schon eine Begegnung ausgetragen wurde
|
||||||
|
$query = "SELECT DISTINCT spieltag"
|
||||||
|
. "\n FROM #__sportsmanager_begegnung"
|
||||||
|
. "\n LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis USING (begegnung_id)"
|
||||||
|
. "\n INNER JOIN #__sportsmanager_team ON heim_team_id = team_id"
|
||||||
|
. "\n WHERE veranstaltung_id = $veranstaltung->veranstaltung_id AND (heim_spielpunkte != 0 OR gast_spielpunkte != 0) AND ISNULL(#__sportsmanager_unbestaetigtes_ergebnis.begegnung_id)"
|
||||||
|
. "\n ORDER BY spieltag DESC";
|
||||||
|
$db->setQuery($query);
|
||||||
|
if (!$db->execute()) {
|
||||||
|
die($db->stderr(true));
|
||||||
|
}
|
||||||
|
$spieltage = $db->loadObjectList();
|
||||||
|
$anzahl_spieltage_gespielt = $db->loadResult();
|
||||||
|
$aktueller_spieltag = count($spieltage) > 0 ? $spieltage[0]->spieltag : 0;
|
||||||
|
|
||||||
|
// Direkter Vergleich, wenn mindestens die Hälfte der Spieltage gespielt sind.
|
||||||
|
if ($veranstaltung->direktervergleich AND $anzahl_spieltage_gespielt >= $anzahl_spieltage_komplett/2){
|
||||||
|
$teams = getTabelleDirekterVergleich($teams,$veranstaltung,$aktueller_spieltag);
|
||||||
|
}
|
||||||
|
|
||||||
$platz = 1;
|
$platz = 1;
|
||||||
$tatsaechlicher_platz = 0;
|
$tatsaechlicher_platz = 0;
|
||||||
$gesamtpunkte = 0;
|
$gesamtpunkte = 0;
|
||||||
@@ -5025,7 +5155,12 @@ function ranglisteAktualisieren($geaenderte_rangliste_id = 0, $geaenderte_turnie
|
|||||||
|
|
||||||
foreach ($ranglisten as $rangliste_index => $rangliste) {
|
foreach ($ranglisten as $rangliste_index => $rangliste) {
|
||||||
$rangliste_id = $rangliste->rangliste_id;
|
$rangliste_id = $rangliste->rangliste_id;
|
||||||
$rangliste->lizenzen = explode(',', $rangliste->lizenzen);
|
if(!isset($rangliste->lizenzen) || $rangliste->lizenzen == "" || $rangliste->lizenzen == NULL) {
|
||||||
|
$rangliste->lizenzen = NULL;
|
||||||
|
} else {
|
||||||
|
$rangliste->lizenzen = explode(',', $rangliste->lizenzen);
|
||||||
|
}
|
||||||
|
|
||||||
$query = "SELECT *"
|
$query = "SELECT *"
|
||||||
. "\n FROM #__sportsmanager_rangliste_turnierdisziplin"
|
. "\n FROM #__sportsmanager_rangliste_turnierdisziplin"
|
||||||
. "\n INNER JOIN #__sportsmanager_turnierdisziplin USING (turnierdisziplin_id)"
|
. "\n INNER JOIN #__sportsmanager_turnierdisziplin USING (turnierdisziplin_id)"
|
||||||
|
|||||||
@@ -382,7 +382,7 @@ function yoothemeBild($typ, $id, $alternativ, $resize = '', $zusatz = ""): ?stri
|
|||||||
else
|
else
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
$bildpfad = "/images/sportsmanager/" . $typ . "/" . $typ_prefix . $id . "." . $ext;
|
$bildpfad = SPORTSMANAGER_JOOMLA_URL . "images/sportsmanager/" . $typ . "/" . $typ_prefix . $id . "." . $ext;
|
||||||
|
|
||||||
return '<img class="el-image" data-src="' . $bildpfad . $resize . '" ' . $zusatz . ' uk-img />';
|
return '<img class="el-image" data-src="' . $bildpfad . $resize . '" ' . $zusatz . ' uk-img />';
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,6 @@
|
|||||||
|
<?php // do not change this file, this is automatically updated while building releases, see .github/workflows/build_release.yml
|
||||||
|
defined('_JEXEC') or die;
|
||||||
|
return [
|
||||||
|
'version' => 'DEV',
|
||||||
|
'date' => '2025-08-05',
|
||||||
|
];
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -12,7 +12,8 @@ defined('_JEXEC') or die('Restricted access');
|
|||||||
require_once JPATH_SITE . '/components/com_sportsmanager/views/sportsmanager/view_tools.php';
|
require_once JPATH_SITE . '/components/com_sportsmanager/views/sportsmanager/view_tools.php';
|
||||||
require_once JPATH_SITE . '/components/com_sportsmanager/util/image.php';
|
require_once JPATH_SITE . '/components/com_sportsmanager/util/image.php';
|
||||||
|
|
||||||
function formatTimediff( $timestamp1, $timestamp2, $verbose ) {
|
function formatTimediff( $timestamp1, $timestamp2, $verbose ): string
|
||||||
|
{
|
||||||
if (empty($timestamp1) || empty($timestamp2)) {
|
if (empty($timestamp1) || empty($timestamp2)) {
|
||||||
return "";
|
return "";
|
||||||
} else {
|
} else {
|
||||||
@@ -27,7 +28,8 @@ function formatTimediff( $timestamp1, $timestamp2, $verbose ) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function formatTeamName( $team_name, $team_id, $highlight_team_id ) {
|
function formatTeamName( $team_name, $team_id, $highlight_team_id ): string
|
||||||
|
{
|
||||||
if ($team_id == $highlight_team_id) {
|
if ($team_id == $highlight_team_id) {
|
||||||
return "<b><i>" . htmlentities_utf8($team_name) . "</i></b>";
|
return "<b><i>" . htmlentities_utf8($team_name) . "</i></b>";
|
||||||
} else {
|
} else {
|
||||||
@@ -37,10 +39,25 @@ function formatTeamName( $team_name, $team_id, $highlight_team_id ) {
|
|||||||
|
|
||||||
class HTML_sportsmanager_admin
|
class HTML_sportsmanager_admin
|
||||||
{
|
{
|
||||||
|
private static $versionData = null;
|
||||||
|
|
||||||
|
private static function loadVersionData(): void
|
||||||
|
{
|
||||||
|
if (self::$versionData === null) {
|
||||||
|
self::$versionData = include JPATH_SITE . '/components/com_sportsmanager/util/version.php';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function getVersion(): string
|
||||||
|
{
|
||||||
|
self::loadVersionData();
|
||||||
|
return self::$versionData['version'] ?? 'DEV';
|
||||||
|
}
|
||||||
|
|
||||||
static function adminUebersicht($veranstaltungen, $spielerstatistiken, $turniere, $ranglisten, $individualwettbewerbe, $statistik, $saisons, $filter_saison_id, $externe_datenbank): void
|
static function adminUebersicht($veranstaltungen, $spielerstatistiken, $turniere, $ranglisten, $individualwettbewerbe, $statistik, $saisons, $filter_saison_id, $externe_datenbank): void
|
||||||
{
|
{
|
||||||
function checkZeilenumbruch($Spalte_Nr, $max_Spalten)
|
function checkZeilenumbruch($Spalte_Nr, $max_Spalten): int
|
||||||
{
|
{
|
||||||
$Spalte_Nr++;
|
$Spalte_Nr++;
|
||||||
if ($Spalte_Nr >= $max_Spalten){
|
if ($Spalte_Nr >= $max_Spalten){
|
||||||
echo "</tr>\n<tr>\n";
|
echo "</tr>\n<tr>\n";
|
||||||
@@ -48,12 +65,12 @@ class HTML_sportsmanager_admin
|
|||||||
}
|
}
|
||||||
return $Spalte_Nr;
|
return $Spalte_Nr;
|
||||||
}
|
}
|
||||||
|
|
||||||
global $params;
|
global $params;
|
||||||
?>
|
?>
|
||||||
<div class="componentheading<?php echo $params->get('pageclass_sfx'); ?>" style='font-weight: bold;'>
|
<div class="componentheading<?php echo $params->get('pageclass_sfx'); ?>" style='font-weight: bold;'>
|
||||||
<a href="https://github.com/Deutscher-Tischfussballbund/" target="_blank">
|
<a href="https://github.com/Deutscher-Tischfussballbund/" target="_blank">
|
||||||
Sports Manager <?php echo SPORTS_MANAGER_VERSION; ?> </a>
|
Sports Manager <?php echo self::getVersion(); ?> </a>
|
||||||
</div>
|
</div>
|
||||||
<table>
|
<table>
|
||||||
<tr>
|
<tr>
|
||||||
@@ -2276,23 +2293,21 @@ class HTML_sportsmanager_admin
|
|||||||
<?php
|
<?php
|
||||||
}
|
}
|
||||||
|
|
||||||
static function adminImportSpielerFehler($spieler): void
|
static function adminImportSpielerFehler($spieler, $fehler): void
|
||||||
{
|
{
|
||||||
global $params;
|
global $params;
|
||||||
|
|
||||||
$spieler_anzahl = count($spieler);
|
$spieler_anzahl = count($spieler);
|
||||||
|
|
||||||
?>
|
?>
|
||||||
<div
|
<div class="componentheading<?php echo $params->get('pageclass_sfx'); ?>">
|
||||||
class="componentheading<?php echo $params->get('pageclass_sfx'); ?>"><?php echo Text::_('COM_SPORTSMANAGER_PLAYERS_IMPORT2'); ?></div>
|
<?php echo Text::_('COM_SPORTSMANAGER_PLAYERS_IMPORT2'); ?>
|
||||||
|
</div>
|
||||||
<table class="contentpaneopen<?php echo $params->get('pageclass_sfx'); ?>">
|
<table class="contentpaneopen<?php echo $params->get('pageclass_sfx'); ?>">
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<?php
|
<?php
|
||||||
if ($spieler_anzahl > 0) {
|
if ($spieler_anzahl > 0) {
|
||||||
?>
|
echo Text::_('COM_SPORTSMANAGER_IMPORT_CONFLICTS_MESSAGE');
|
||||||
<?php echo Text::_('COM_SPORTSMANAGER_IMPORT_CONFLICTS_MESSAGE'); ?>
|
|
||||||
<?php
|
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
</td>
|
</td>
|
||||||
@@ -2305,12 +2320,20 @@ class HTML_sportsmanager_admin
|
|||||||
<table class="contentpaneopen<?php echo $params->get('pageclass_sfx'); ?>">
|
<table class="contentpaneopen<?php echo $params->get('pageclass_sfx'); ?>">
|
||||||
<tr>
|
<tr>
|
||||||
<td nowrap class="contentheading<?php echo $params->get('pageclass_sfx'); ?>"
|
<td nowrap class="contentheading<?php echo $params->get('pageclass_sfx'); ?>"
|
||||||
style="width: 100%"><?php echo Text::_('COM_SPORTSMANAGER_IMPORT_DUPLICATE_MESSAGE'); ?></td>
|
style="width: 100%">
|
||||||
|
<?php
|
||||||
|
if ($fehler == "konflikt")
|
||||||
|
echo Text::_('COM_SPORTSMANAGER_IMPORT_DUPLICATE_MESSAGE');
|
||||||
|
if ($fehler == "Passnummer")
|
||||||
|
echo Text::_('COM_SPORTSMANAGER_IMPORT_WRONG_FORMAT_PLAYERNUMBER');
|
||||||
|
?>
|
||||||
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
<table class="contentpaneopen<?php echo $params->get('pageclass_sfx'); ?>">
|
<table class="contentpaneopen<?php echo $params->get('pageclass_sfx'); ?>">
|
||||||
<tr class="sectiontableheader<?php echo $params->get('pageclass_sfx'); ?>">
|
<tr class="sectiontableheader<?php echo $params->get('pageclass_sfx'); ?>">
|
||||||
|
<th nowrap><strong><?php echo Text::_('COM_SPORTSMANAGER_PLAYER_NUMBER_SHORT'); ?></strong></th>
|
||||||
<th nowrap><strong><?php echo Text::_('COM_SPORTSMANAGER_NAME'); ?></strong></th>
|
<th nowrap><strong><?php echo Text::_('COM_SPORTSMANAGER_NAME'); ?></strong></th>
|
||||||
</tr>
|
</tr>
|
||||||
<?php
|
<?php
|
||||||
@@ -2320,6 +2343,7 @@ class HTML_sportsmanager_admin
|
|||||||
?>
|
?>
|
||||||
<tr class="sectiontableentry<?php echo $k + 1;
|
<tr class="sectiontableentry<?php echo $k + 1;
|
||||||
$k = ($k + 1) % 2; ?><?php echo $params->get('pageclass_sfx'); ?>">
|
$k = ($k + 1) % 2; ?><?php echo $params->get('pageclass_sfx'); ?>">
|
||||||
|
<td nowrap><?php echo htmlentities_utf8($s->spielernr); ?></td>
|
||||||
<td nowrap><?php echo htmlentities_utf8($s->nachname . ", " . $s->vorname); ?></td>
|
<td nowrap><?php echo htmlentities_utf8($s->nachname . ", " . $s->vorname); ?></td>
|
||||||
</tr>
|
</tr>
|
||||||
<?php
|
<?php
|
||||||
@@ -2342,7 +2366,6 @@ class HTML_sportsmanager_admin
|
|||||||
static function adminImportSpielerVorschau($import_verweigern, $spieler, $veranstalter, $session_id, $persoenliche_daten, $lizenznr_beibehalten, $spalten): void
|
static function adminImportSpielerVorschau($import_verweigern, $spieler, $veranstalter, $session_id, $persoenliche_daten, $lizenznr_beibehalten, $spalten): void
|
||||||
{
|
{
|
||||||
global $params;
|
global $params;
|
||||||
|
|
||||||
$spieler_anzahl = count($spieler);
|
$spieler_anzahl = count($spieler);
|
||||||
|
|
||||||
?>
|
?>
|
||||||
@@ -4925,7 +4948,7 @@ class HTML_sportsmanager_admin
|
|||||||
static function adminKategorien($kategorien): void
|
static function adminKategorien($kategorien): void
|
||||||
{
|
{
|
||||||
global $params;
|
global $params;
|
||||||
|
|
||||||
?>
|
?>
|
||||||
<div
|
<div
|
||||||
class="componentheading<?php echo $params->get('pageclass_sfx'); ?>"><?php echo Text::_('COM_SPORTSMANAGER_CATEGORIES'); ?></div>
|
class="componentheading<?php echo $params->get('pageclass_sfx'); ?>"><?php echo Text::_('COM_SPORTSMANAGER_CATEGORIES'); ?></div>
|
||||||
@@ -7204,6 +7227,22 @@ class HTML_sportsmanager_admin
|
|||||||
</select>
|
</select>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr id="tr_hthr">
|
||||||
|
<td nowrap style="width: 20%; text-align: right">
|
||||||
|
<label for="dd_hthr"><?php echo Text::_('COM_SPORTSMANAGER_HEAD_TO_HEAD_RECORD'); ?>
|
||||||
|
:</label>
|
||||||
|
</td>
|
||||||
|
<td nowrap>
|
||||||
|
<select class="uk-select uk-form-width-medium" name="direktervergleich" id="dd_hthr" size="1">
|
||||||
|
<?php
|
||||||
|
$direktervergleich = array(Text::_('COM_SPORTSMANAGER_NO'), Text::_('COM_SPORTSMANAGER_YES'));
|
||||||
|
for ($i = 0; $i <= 1; $i++) {
|
||||||
|
echo "<option value=\"" . $i . "\"" . ($row != null ? ($row->direktervergleich == $i ? " selected" : "") : "") . ">" . htmlentities_utf8($direktervergleich[$i]) . "</option>";
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
</select>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td nowrap style="width: 20%; text-align: right">
|
<td nowrap style="width: 20%; text-align: right">
|
||||||
<label
|
<label
|
||||||
@@ -7378,6 +7417,26 @@ class HTML_sportsmanager_admin
|
|||||||
<input type="hidden" name="task" value="admin_veranstaltung_save"/>
|
<input type="hidden" name="task" value="admin_veranstaltung_save"/>
|
||||||
<input type="hidden" name="id" value="<?php echo($row != null ? $row->veranstaltung_id : "0"); ?>"/>
|
<input type="hidden" name="id" value="<?php echo($row != null ? $row->veranstaltung_id : "0"); ?>"/>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
// Auswahlfeld Direkter Vergleich in Abhaengigkeit von Tabellenwertung anzeigen
|
||||||
|
const dropdown = document.getElementById("table_evaluation");
|
||||||
|
const zeile = document.getElementById("tr_hthr");
|
||||||
|
const unteroption = document.getElementById("dd_hthr");
|
||||||
|
|
||||||
|
function pruefeAnzeige() {
|
||||||
|
const wert = parseInt(dropdown.value);
|
||||||
|
if (wert >= 1 && wert <= 9) {
|
||||||
|
zeile.style.display = "";
|
||||||
|
} else {
|
||||||
|
zeile.style.display = "none";
|
||||||
|
unteroption.value = "0";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
dropdown.addEventListener("change", pruefeAnzeige);
|
||||||
|
window.addEventListener("DOMContentLoaded", pruefeAnzeige);
|
||||||
|
</script>
|
||||||
<?php
|
<?php
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -8693,11 +8752,11 @@ class HTML_sportsmanager_admin
|
|||||||
<td nowrap
|
<td nowrap
|
||||||
style="text-align: center"><?php if ($ergebnis_vorhanden) echo $row->heim_spielpunkte . " : " . $row->gast_spielpunkte; else echo "_ : _" ?><?php if ($row->unbestaetigtes_ergebnis_id != null) echo "<br /><small>" . ($row->zwischenergebnis ? "live" : "unbestätigt") . "</small>"; ?></td>
|
style="text-align: center"><?php if ($ergebnis_vorhanden) echo $row->heim_spielpunkte . " : " . $row->gast_spielpunkte; else echo "_ : _" ?><?php if ($row->unbestaetigtes_ergebnis_id != null) echo "<br /><small>" . ($row->zwischenergebnis ? "live" : "unbestätigt") . "</small>"; ?></td>
|
||||||
<td nowrap align="center">
|
<td nowrap align="center">
|
||||||
<?php echo
|
<?php echo
|
||||||
formatTimediff($row->termin_spiel, $row->ergebnis_vorgeschlagen, false)
|
formatTimediff($row->termin_spiel, $row->ergebnis_vorgeschlagen, false)
|
||||||
. " / "
|
. " / "
|
||||||
. formatTimediff($row->ergebnis_vorgeschlagen, $row->ergebnis_akzeptiert, false);
|
. formatTimediff($row->ergebnis_vorgeschlagen, $row->ergebnis_akzeptiert, false);
|
||||||
?>
|
?>
|
||||||
</td>
|
</td>
|
||||||
<td nowrap><small><a
|
<td nowrap><small><a
|
||||||
href="<?php echo SportsManagerURL('&task=admin_begegnung_heimtausch&veranstaltungid=' . $veranstaltung->veranstaltung_id . '&id=' . $row->begegnung_id); ?>"><?php echo Text::_('COM_SPORTSMANAGER_HOME_EXCHANGE'); ?></a></small>
|
href="<?php echo SportsManagerURL('&task=admin_begegnung_heimtausch&veranstaltungid=' . $veranstaltung->veranstaltung_id . '&id=' . $row->begegnung_id); ?>"><?php echo Text::_('COM_SPORTSMANAGER_HOME_EXCHANGE'); ?></a></small>
|
||||||
|
|||||||
@@ -404,8 +404,9 @@ COM_SPORTSMANAGER_COUNTRY_CODE="Landeskennung"
|
|||||||
COM_SPORTSMANAGER_IMPORT="Importieren"
|
COM_SPORTSMANAGER_IMPORT="Importieren"
|
||||||
COM_SPORTSMANAGER_IMPORT_MESSAGE="Im Import sind ausschließlich Spielerdaten zum Verein %s enthalten. Soll ausschließlich der Spielerbestand des einen Vereins aktualisiert werden, muss der zugehörige Verein unten ausgewählt werden. Beinhaltet der Import den gesamten Spielerbestand einer Organisation, muss die zugehörige Organisation gewählt werden."
|
COM_SPORTSMANAGER_IMPORT_MESSAGE="Im Import sind ausschließlich Spielerdaten zum Verein %s enthalten. Soll ausschließlich der Spielerbestand des einen Vereins aktualisiert werden, muss der zugehörige Verein unten ausgewählt werden. Beinhaltet der Import den gesamten Spielerbestand einer Organisation, muss die zugehörige Organisation gewählt werden."
|
||||||
COM_SPORTSMANAGER_CHECK="Prüfen"
|
COM_SPORTSMANAGER_CHECK="Prüfen"
|
||||||
COM_SPORTSMANAGER_IMPORT_CONFLICTS_MESSAGE="Im Import sind Konflikte enthalten, die im Vorfeld manuell beseitigt werden müssen."
|
COM_SPORTSMANAGER_IMPORT_CONFLICTS_MESSAGE="Im Import sind Fehler oder Konflikte enthalten, die im Vorfeld manuell beseitigt werden müssen."
|
||||||
COM_SPORTSMANAGER_IMPORT_DUPLICATE_MESSAGE="Versuch, Spielernr. auf eine bereits für einen anderen Spieler vergebene Spielernr. zu ändern"
|
COM_SPORTSMANAGER_IMPORT_DUPLICATE_MESSAGE="Versuch, Spielernr. auf eine bereits für einen anderen Spieler vergebene Spielernr. zu ändern"
|
||||||
|
COM_SPORTSMANAGER_IMPORT_WRONG_FORMAT_PLAYERNUMBER="Eine oder mehrere Spielernummer enthalten ein ungültiges Format"
|
||||||
COM_SPORTSMANAGER_NAME2="Name"
|
COM_SPORTSMANAGER_NAME2="Name"
|
||||||
COM_SPORTSMANAGER_DATA_IMPORT_ABORT_MESSAGE="Der Import wird abgebrochen, da Konflikte bei den zu importierenden Spielerdaten bestehen. Bitte kontaktiere einen Moderator und sende dabei die Importdatei mit!"
|
COM_SPORTSMANAGER_DATA_IMPORT_ABORT_MESSAGE="Der Import wird abgebrochen, da Konflikte bei den zu importierenden Spielerdaten bestehen. Bitte kontaktiere einen Moderator und sende dabei die Importdatei mit!"
|
||||||
COM_SPORTSMANAGER_DATA_IMPORT_NO_CONFLICTS="Es bestehen keine Konflikte bei den zu importierenden Spielerdaten."
|
COM_SPORTSMANAGER_DATA_IMPORT_NO_CONFLICTS="Es bestehen keine Konflikte bei den zu importierenden Spielerdaten."
|
||||||
@@ -536,6 +537,7 @@ COM_SPORTSMANAGER_FULL_RATING="Volle Wertung"
|
|||||||
COM_SPORTSMANAGER_NO_RATING="Keine Wertung"
|
COM_SPORTSMANAGER_NO_RATING="Keine Wertung"
|
||||||
COM_SPORTSMANAGER_TEAM_COMPETITIONS="Mannschaftswettbewerbe"
|
COM_SPORTSMANAGER_TEAM_COMPETITIONS="Mannschaftswettbewerbe"
|
||||||
COM_SPORTSMANAGER_TABLE_SUMMARY="Tabellenwertung"
|
COM_SPORTSMANAGER_TABLE_SUMMARY="Tabellenwertung"
|
||||||
|
COM_SPORTSMANAGER_HEAD_TO_HEAD_RECORD="Direkter Vergleich"
|
||||||
COM_SPORTSMANAGER_POINTS_WON_LOST_DIFFERENCE="Spielpunkte gewonnen, Spielpunkte verloren, Punktedifferenz"
|
COM_SPORTSMANAGER_POINTS_WON_LOST_DIFFERENCE="Spielpunkte gewonnen, Spielpunkte verloren, Punktedifferenz"
|
||||||
COM_SPORTSMANAGER_PERFORMANCE_INDEX="Leistungsindex (SP+ * SP+ * 100) / (SP+ + SP-), Spielpunkte gewonnen, ..."
|
COM_SPORTSMANAGER_PERFORMANCE_INDEX="Leistungsindex (SP+ * SP+ * 100) / (SP+ + SP-), Spielpunkte gewonnen, ..."
|
||||||
COM_SPORTSMANAGER_PERFORMANCE_INDEX2="Leistungsindex (S * P+ * 10) / (P+ + P-), Spielpunkte gewonnen, ..."
|
COM_SPORTSMANAGER_PERFORMANCE_INDEX2="Leistungsindex (S * P+ * 10) / (P+ + P-), Spielpunkte gewonnen, ..."
|
||||||
|
|||||||
@@ -404,8 +404,9 @@ COM_SPORTSMANAGER_COUNTRY_CODE="Country code"
|
|||||||
COM_SPORTSMANAGER_IMPORT="Import"
|
COM_SPORTSMANAGER_IMPORT="Import"
|
||||||
COM_SPORTSMANAGER_IMPORT_MESSAGE="In the import there are only player information about club %s present. Shall only the members of that one club be updated, the associated club has to be selected down here. If the import contains all members of the organisation then the organisation must be selected."
|
COM_SPORTSMANAGER_IMPORT_MESSAGE="In the import there are only player information about club %s present. Shall only the members of that one club be updated, the associated club has to be selected down here. If the import contains all members of the organisation then the organisation must be selected."
|
||||||
COM_SPORTSMANAGER_CHECK="Check"
|
COM_SPORTSMANAGER_CHECK="Check"
|
||||||
COM_SPORTSMANAGER_IMPORT_CONFLICTS_MESSAGE="There are conflicts in the import which have to be fixed manually first."
|
COM_SPORTSMANAGER_IMPORT_CONFLICTS_MESSAGE="There are faults or conflicts in the import which have to be fixed manually first."
|
||||||
COM_SPORTSMANAGER_IMPORT_DUPLICATE_MESSAGE="Attempt to change player number into one that is already assigned to another player."
|
COM_SPORTSMANAGER_IMPORT_DUPLICATE_MESSAGE="Attempt to change player number into one that is already assigned to another player."
|
||||||
|
COM_SPORTSMANAGER_IMPORT_WRONG_FORMAT_PLAYERNUMBER="One or more player numbers contain an invalid format"
|
||||||
COM_SPORTSMANAGER_NAME2="Name"
|
COM_SPORTSMANAGER_NAME2="Name"
|
||||||
COM_SPORTSMANAGER_DATA_IMPORT_ABORT_MESSAGE="The import has been aborted because there are conflicts in the containing player information. Please contact a moderator and attach the import!"
|
COM_SPORTSMANAGER_DATA_IMPORT_ABORT_MESSAGE="The import has been aborted because there are conflicts in the containing player information. Please contact a moderator and attach the import!"
|
||||||
COM_SPORTSMANAGER_DATA_IMPORT_NO_CONFLICTS="There are conflicts in the containing player information."
|
COM_SPORTSMANAGER_DATA_IMPORT_NO_CONFLICTS="There are conflicts in the containing player information."
|
||||||
@@ -536,6 +537,7 @@ COM_SPORTSMANAGER_FULL_RATING="Full rating"
|
|||||||
COM_SPORTSMANAGER_NO_RATING="No rating"
|
COM_SPORTSMANAGER_NO_RATING="No rating"
|
||||||
COM_SPORTSMANAGER_TEAM_COMPETITIONS="Team competitions"
|
COM_SPORTSMANAGER_TEAM_COMPETITIONS="Team competitions"
|
||||||
COM_SPORTSMANAGER_TABLE_SUMMARY="Table rating"
|
COM_SPORTSMANAGER_TABLE_SUMMARY="Table rating"
|
||||||
|
COM_SPORTSMANAGER_HEAD_TO_HEAD_RECORD="Head-to-head record"
|
||||||
COM_SPORTSMANAGER_POINTS_WON_LOST_DIFFERENCE="Game points won, game points lost, point difference"
|
COM_SPORTSMANAGER_POINTS_WON_LOST_DIFFERENCE="Game points won, game points lost, point difference"
|
||||||
COM_SPORTSMANAGER_PERFORMANCE_INDEX="Performance index (GP+ * GP+ * 100) / (GP+ + GP-), game points won, ..."
|
COM_SPORTSMANAGER_PERFORMANCE_INDEX="Performance index (GP+ * GP+ * 100) / (GP+ + GP-), game points won, ..."
|
||||||
COM_SPORTSMANAGER_PERFORMANCE_INDEX2="Performance index (games * P+ * 10) / (P+ + P-), game points won, ..."
|
COM_SPORTSMANAGER_PERFORMANCE_INDEX2="Performance index (games * P+ * 10) / (P+ + P-), game points won, ..."
|
||||||
|
|||||||
@@ -137,6 +137,7 @@ return new class () implements InstallerScriptInterface
|
|||||||
. "\n `tisch` tinytext DEFAULT NULL,"
|
. "\n `tisch` tinytext DEFAULT NULL,"
|
||||||
. "\n `zeitpunkt` datetime DEFAULT NULL,"
|
. "\n `zeitpunkt` datetime DEFAULT NULL,"
|
||||||
. "\n `spieltag` smallint(6) DEFAULT NULL,"
|
. "\n `spieltag` smallint(6) DEFAULT NULL,"
|
||||||
|
. "\n `spiel_nr` tinyint(4) DEFAULT NULL,"
|
||||||
. "\n `heim_punkte` smallint(6) DEFAULT NULL,"
|
. "\n `heim_punkte` smallint(6) DEFAULT NULL,"
|
||||||
. "\n `gast_punkte` smallint(6) DEFAULT NULL,"
|
. "\n `gast_punkte` smallint(6) DEFAULT NULL,"
|
||||||
. "\n `heim_spielpunkte` smallint(6) DEFAULT NULL,"
|
. "\n `heim_spielpunkte` smallint(6) DEFAULT NULL,"
|
||||||
@@ -680,6 +681,7 @@ return new class () implements InstallerScriptInterface
|
|||||||
. "\n `teamgruppe_id` int(11) DEFAULT NULL,"
|
. "\n `teamgruppe_id` int(11) DEFAULT NULL,"
|
||||||
. "\n `verein_id` int(11) DEFAULT NULL,"
|
. "\n `verein_id` int(11) DEFAULT NULL,"
|
||||||
. "\n `veranstaltung_id` int(11) NOT NULL DEFAULT '0',"
|
. "\n `veranstaltung_id` int(11) NOT NULL DEFAULT '0',"
|
||||||
|
. "\n `setzliste_nr` tinyint(4) DEFAULT NULL,"
|
||||||
. "\n `teamname` varchar(50) NOT NULL,"
|
. "\n `teamname` varchar(50) NOT NULL,"
|
||||||
. "\n `tischtyp` varchar(200) DEFAULT NULL,"
|
. "\n `tischtyp` varchar(200) DEFAULT NULL,"
|
||||||
. "\n `tischeigenschaften` varchar(200) DEFAULT NULL,"
|
. "\n `tischeigenschaften` varchar(200) DEFAULT NULL,"
|
||||||
@@ -1033,6 +1035,7 @@ return new class () implements InstallerScriptInterface
|
|||||||
. "\n `modus_id` int(11) NOT NULL DEFAULT '0',"
|
. "\n `modus_id` int(11) NOT NULL DEFAULT '0',"
|
||||||
. "\n `verschieberegel_id` int(11) NOT NULL DEFAULT '0',"
|
. "\n `verschieberegel_id` int(11) NOT NULL DEFAULT '0',"
|
||||||
. "\n `tabellenwertung` tinyint(4) NOT NULL DEFAULT '0',"
|
. "\n `tabellenwertung` tinyint(4) NOT NULL DEFAULT '0',"
|
||||||
|
. "\n `direktervergleich` tinyint(4) NOT NULL DEFAULT '0',"
|
||||||
. "\n `unterteilung` tinyint(4) NOT NULL DEFAULT '0',"
|
. "\n `unterteilung` tinyint(4) NOT NULL DEFAULT '0',"
|
||||||
. "\n `erster_tag` date NOT NULL DEFAULT '0000-00-00',"
|
. "\n `erster_tag` date NOT NULL DEFAULT '0000-00-00',"
|
||||||
. "\n `letzter_tag` date DEFAULT NULL,"
|
. "\n `letzter_tag` date DEFAULT NULL,"
|
||||||
|
|||||||
Reference in New Issue
Block a user