diff --git a/.github/release-drafter_extension.yml b/.github/release-drafter_extension.yml new file mode 100644 index 0000000..93112a1 --- /dev/null +++ b/.github/release-drafter_extension.yml @@ -0,0 +1,25 @@ +name-template: "Release $COMPLETE" +tag-template: "v$COMPLETE" +draft: false + +exclude: + pulls: true +exclude-labels: + - changelog-ignore + +categories: + - title: "Features" + labels: ["feature", "enhancement"] + - title: "Fixes" + labels: ["bug"] + - title: "Maintenance" + labels: ["chore", "refactor"] + +change-template: "- $TITLE [#$NUMBER]" + +template: | + # Release $RESOLVED_VERSION + + ## Changes + + $CHANGES diff --git a/.github/release-drafter_github.yml b/.github/release-drafter_github.yml new file mode 100644 index 0000000..72cfb84 --- /dev/null +++ b/.github/release-drafter_github.yml @@ -0,0 +1,23 @@ +name-template: "Release $COMPLETE" +tag-template: "v$COMPLETE" +draft: false + +exclude: + pulls: true +exclude-labels: + - changelog-ignore + +categories: + - title: "Features" + labels: ["feature", "enhancement"] + - title: "Fixes" + labels: ["bug"] + - title: "Maintenance" + labels: ["chore", "refactor"] + +change-template: "- $TITLE [#$NUMBER]" + +template: | + ## Changes + + $CHANGES diff --git a/.github/workflows/autolabel.yaml b/.github/workflows/autolabel.yaml new file mode 100644 index 0000000..1d09717 --- /dev/null +++ b/.github/workflows/autolabel.yaml @@ -0,0 +1,25 @@ +name: Auto-label PRs + +on: + pull_request: + types: [opened, reopened, synchronize, edited] + +jobs: + label-changelog-ignore: + runs-on: ubuntu-latest + steps: + - name: Label PRs + uses: actions/github-script@v7 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + script: | + const base = context.payload.pull_request.base.ref; + const head = context.payload.pull_request.head.ref; + + if ((base === 'sportsmanager2-prod' && head === 'sportsmanager2-stage') || (base === 'sportsmanager2-stage' && head === 'sportsmanager2-dev')) { + await github.rest.issues.addLabels({ + ...context.repo, + issue_number: context.payload.pull_request.number, + labels: ['changelog-ignore'] + }); + } diff --git a/.github/workflows/build_release.yml b/.github/workflows/build_release.yml new file mode 100644 index 0000000..c31ef28 --- /dev/null +++ b/.github/workflows/build_release.yml @@ -0,0 +1,121 @@ +# This workflow will run release using node and then publish a package to GitHub Packages when a release is created +# For more information see: https://docs.github.com/en/actions/publishing-packages/publishing-nodejs-packages + +name: Sportsmanager Release + +on: + push: + tags: + - 'v[0-9]+.[0-9]+.[0-9]+' # run only on version tags like v1.0.0 +jobs: + build: + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + ref: sportsmanager2-prod + + - name: Set up Node.js + uses: actions/setup-node@v4 + with: + node-version: 20 + + - name: Install npm dependencies + run: npm ci + + - name: Get version from git tag + run: echo "VERSION=${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV + + - name: Set DATE + run: echo "DATE=$(date +'%Y-%m-%d')" >> $GITHUB_ENV + + - name: Update version.php + run: | + echo " 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 + echo "Updating version to $VERSION in sportsmanager.xml" + sed -i "s#.*#$VERSION#" src/structure/sportsmanager.xml + echo "Updating Date to $DATE in sportsmanager.xml" + sed -i "s#.*#$DATE#" src/structure/sportsmanager.xml + + - name: Generate release notes + id: release_notes_extension + uses: release-drafter/release-drafter@v6 + with: + config-name: release-drafter_extension.yml + version: ${{ github.ref_name }} + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Save release notes to file + run: | + echo "${{ steps.release_notes_extension.outputs.body }}" > RELEASE_NOTES.md + + - name: Run build script + run: npm run release + + - name: Generate release notes + id: release_notes_github + uses: release-drafter/release-drafter@v6 + with: + config-name: release-drafter_github.yml + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Save release notes to file + run: | + echo "${{ steps.release_notes_github.outputs.body }}" > RELEASE_NOTES.md + + - name: Create GitHub Release + uses: softprops/action-gh-release@v2 + with: + tag_name: "${{ github.ref_name }}" + name: "Release ${{ github.ref_name }}" + files: package/packages/com_sportsmanager.zip + body_path: "RELEASE_NOTES.md" + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Delete draft release via API # workaround: remove leftover draft by release-drafter + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + REPO: ${{ github.repository }} + run: | + drafts=$(curl -s -H "Authorization: token $GITHUB_TOKEN" \ + https://api.github.com/repos/$REPO/releases | jq '.[] | select(.draft == true)') + + if [ -n "$drafts" ]; then + id=$(echo "$drafts" | jq -r '.id') + curl -s -X DELETE -H "Authorization: token $GITHUB_TOKEN" \ + https://api.github.com/repos/$REPO/releases/$id + echo "Deleted draft release with ID: $id" + else + echo "No draft releases found" + fi + + - name: Send notification to Teams + run: | + curl -H 'Content-Type: application/json' \ + -d "{ + \"@type\": \"MessageCard\", + \"@context\": \"http://schema.org/extensions\", + \"summary\": \"New Release\", + \"themeColor\": \"0076D7\", + \"title\": \"🚀 New Release: ${{ github.ref_name }}\", + \"sections\": [{ + \"activityTitle\": \"Repository: ${{ github.repository }}\", + \"text\": \"${{ steps.release_notes_github.outputs.body }}\" + }], + \"potentialAction\": [{ + \"@type\": \"OpenUri\", + \"name\": \"View Release\", + \"targets\": [{ \"os\": \"default\", \"uri\": \"https://github.com/${{ github.repository }}/releases/tag/${{ github.ref_name }}\" }] + }] + }" \ + ${{ secrets.TEAMS_WEBHOOK_URL }} diff --git a/.github/workflows/build_snapshot.yml b/.github/workflows/build_snapshot.yml index 7ed9bd0..be6f1a9 100644 --- a/.github/workflows/build_snapshot.yml +++ b/.github/workflows/build_snapshot.yml @@ -6,7 +6,7 @@ name: Snapshot Release on: push: tags: - - 'v*-snapshot' # run only on version tags like v1.0.0-snapshot + - 'v[0-9]+.[0-9]+.[0-9]+-snapshot' # run only on version tags like v1.0.0-snapshot # - 'v*' # Run only on version tags like v1.0.0 jobs: build: @@ -33,7 +33,7 @@ jobs: uses: softprops/action-gh-release@v2 with: prerelease: true - name: SNAPSHOT + name: "Snapshot ${{ github.ref_name }}" files: package/packages/com_sportsmanager.zip env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/README.md b/README.md index fb15ca2..4d59dcb 100644 --- a/README.md +++ b/README.md @@ -2,11 +2,14 @@ ## DEV/STAGE environments -| LV | HOSTER | DOMAIN | BRANCH | -| ------ | -------- | ------------------------------------------------------------ | ------------------ | -| DTFB | Kicktemp | [stage.dtfb.de](https://stage.dtfb.de) | dev | -| TFVHH | Kicktemp | [stage.kickern-hamburg.de](https://stage.kickern-hamburg.de) | dev | -| STFVH | DTFB | [stage.stfv.de](https://stage.stfv.de/) | sportsmanager2-dev | +| LV | HOSTER | DOMAIN | BRANCH | +| ------ | -------- | ------------------------------------------------------------ | -------------------- | +| DTFB | Kicktemp | [stage.dtfb.de](https://stage.dtfb.de) | dev | +| TFVHH | Kicktemp | [stage.kickern-hamburg.de](https://stage.kickern-hamburg.de) | dev | +| STFVH | DTFB | [stage.stfv.de](https://stage.stfv.de/) | sportsmanager2-stage | +| MTFV | DTFB | [stage.mtfv.de](https://stage.mtfv.de/) | ? | +| TFVSH | DTFB | [relaunch.tfvsh.de](https://relaunch.tfvsh.de) | ? | + ## PROD environments @@ -46,6 +49,59 @@ joomla specific database prefixes like #__ To set it up, insert into the configuration popup which follows after you enable the framework support: Joomla install path: `./data/joomla_data` JConfig: `./data/joomla_data/configuration.php` +> This works only with mounted volumes. However, mounted volumes will slow down the joomla instance significantly. +> The current setup does not use mounted volumes. +> An alternative would be to download joomla and use that installation - -Test \ No newline at end of file +### Debugging (with Docker/Intellij) +1. Start Docker Container (see above) +2. Create a terminal for that container + ```shell + docker exec -it bash + ``` +3. install xdebug within the container since joomla does not come with xdebug preinstalled + ```shell + pecl install xdebug + ``` +4. restart the container +5. In Intellij Go to [File | Settings | Languages & Frameworks | PHP | Servers](jetbrains://idea/settings?name=Languages+%26+Frameworks--PHP--Servers) and setup your server + + | | | + |----------|-----------| + | name | anything | + | host | localhost | + | port | 8080 | + | debugger | xdebug | + + use the path mapping and map the repo structure to the container content + + | File/Directory | path on server | + |------------------------------------------------------------------|----------------------------------------| + | \/com_sportsmanager/src/structure/administrator/components | /var/www/html/administrator/components | + | \/com_sportsmanager/src/structure/components | /var/www/html/components | + +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 +https://chromewebstore.google.com/detail/xdebug-helper-by-jetbrain/aoelhdemabeimdhedkidlnbkfhnhgnhm + + +### How to release +Hint: for technical details regarding the release process have a look into .github/... +To create a release these steps need to be followed +1. make sure all needed code changes are merged from dev -> stage -> prod, since releases may only be build on prod branch +2. give pull requests meaningful names and label them enhancement/bug/chore since labels and names are used for release note generation + Hint: if a specific pull request should be ignored, add the label changelog-ignore +3. tag a commit (recommended is the latest merge on prod). The pipeline is listening for any tag fitting `v[0-9]+.[0-9]+.[0-9]+` + ```shell + git tag -a v1.2.3 1a2b3c4 -m "Release version 1.2.3" + ``` +4. push the tag + ```shell + git push origin --tags + ``` +5. the tag push will trigger the pipeline, and it will create the release and store in GitHub + +A release can be created again anytime by deleting the release from GitHub, deleting the tag (from GitHub and additionally from git) +and repeating step 3 and 4 + +Further: merges from dev to stage and from stage to prod can only be done by creating pull requests. These pull requests will be automatically labeled as changelog-ignore diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md new file mode 100644 index 0000000..b91ab68 --- /dev/null +++ b/RELEASE_NOTES.md @@ -0,0 +1,2 @@ +This is no official release! +The Release and the release notes will be generated by github actions diff --git a/docker-compose.yml b/docker-compose.yml index e708437..9babe58 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -30,6 +30,7 @@ services: MYSQL_USER: joomla MYSQL_PASSWORD: examplepass MYSQL_RANDOM_ROOT_PASSWORD: '1' + TZ: Europe/Berlin volumes: - joomla_database:/var/lib/mysql networks: diff --git a/docker/php.ini b/docker/php.ini index 28dd9eb..b312912 100644 --- a/docker/php.ini +++ b/docker/php.ini @@ -1924,3 +1924,12 @@ opcache.file_cache = /tmp/opcache_file ; List of headers files to preload, wildcard patterns allowed. ;ffi.preload= + +zend_extension=xdebug.so +xdebug.mode=debug +xdebug.start_with_request=yes +xdebug.client_host=host.docker.internal +xdebug.client_port=9003 +xdebug.log=/tmp/xdebug.log +xdebug.discover_client_host=false +xdebug.log_level=7 diff --git a/gulpfile.babel.js/config.js b/gulpfile.babel.js/config.js index 14173e7..adc5010 100644 --- a/gulpfile.babel.js/config.js +++ b/gulpfile.babel.js/config.js @@ -43,7 +43,7 @@ export const config = { watch: ['src/structure/**/*.{php,html,xml,ini,less,json,js,css}'], }, copyrelease: { - src: ['src/structure/**/**', 'src/structure/**/.*', '!src/structure/**/*.{php,html,xml,ini,less,json,js,css}', '!src/structure/**/.*.{php,html,xml,ini,less,json,js,css}'], + src: ['RELEASE_NOTES.md','src/structure/**/**', 'src/structure/**/.*', '!src/structure/**/*.{php,html,xml,ini,less,json,js,css}', '!src/structure/**/.*.{php,html,xml,ini,less,json,js,css}'], replacesrc: ['src/structure/**/**.{php,html,xml,ini,less,json,js,css}', 'src/structure/**/.*.{php,html,xml,ini,less,json,js,css}'], dest: 'releasefiles/' }, @@ -90,6 +90,10 @@ export const config = { { src: './releasefiles/plugins/system/kickyootheme/**/**', dest: 'sourcefiles/plg_system_kickyootheme' + }, + { + src: './releasefiles/RELEASE_NOTES.md', + dest: 'sourcefiles/com_sportsmanager/admin/' } ], package: [ diff --git a/package.json b/package.json index f9e082e..139b6f7 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "sportsmanager", "description": "", - "version": "0.0.1", + "version": "2.0.0", "scripts": { "boilerplate": "cross-env NODE_ENV=development gulp boilerplate", "build": "cross-env NODE_ENV=production gulp build", @@ -16,7 +16,7 @@ }, "repository": { "type": "git", - "url": "git+https://github.com/nielsnuebel/com_sportsmanager.git" + "url": "https://github.com/Deutscher-Tischfussballbund/com_sportsmanager.git" }, "keywords": [], "author": { diff --git a/src/structure/administrator/components/com_sportsmanager/src/View/Sportsmanager/HtmlView.php b/src/structure/administrator/components/com_sportsmanager/src/View/Sportsmanager/HtmlView.php index efdb051..82fb61f 100644 --- a/src/structure/administrator/components/com_sportsmanager/src/View/Sportsmanager/HtmlView.php +++ b/src/structure/administrator/components/com_sportsmanager/src/View/Sportsmanager/HtmlView.php @@ -24,6 +24,15 @@ class HtmlView extends BaseHtmlView ?>

– Created by Sven Nickel | Maintained by DTFB

Release Notes

' .
+                htmlspecialchars($notes) . '
'; + } + + // Display the template parent::display($tpl); } diff --git a/src/structure/components/com_sportsmanager/admin.php b/src/structure/components/com_sportsmanager/admin.php index 29e8f08..1a42438 100644 --- a/src/structure/components/com_sportsmanager/admin.php +++ b/src/structure/components/com_sportsmanager/admin.php @@ -20,8 +20,6 @@ require_once JPATH_SITE . '/components/com_sportsmanager/database/init.php'; function UhrzeitWandlerDE($Zeitstempel): mixed { - //Jürgen Meyer 07.03.2025 - $Temp = explode(' ', $Zeitstempel); $Datum = $Temp[0]; $Uhrzeit = $Temp[1]; @@ -36,7 +34,6 @@ function UhrzeitWandlerDE($Zeitstempel): mixed function validateDate($date, $format = 'Y-m-d H:i:s'): bool { - //Jürgen Meyer 07.03.2025 $d = DateTime::createFromFormat($format, $date); return $d && $d->format($format) == $date; } @@ -56,12 +53,7 @@ function adminUebersicht(): void $query = "SELECT saison_id, saisonbezeichnung" . "\n FROM #__sportsmanager_saison" . "\n ORDER BY saisonbezeichnung DESC"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $saisons = $db->loadObjectList(); - + $saisons = loadObjectList($db, $query); if (count($saisons) != 0) { $gefunden = false; foreach ($saisons as $saison) { @@ -93,23 +85,13 @@ function adminUebersicht(): void . ($filter_saison_id != 0 ? "\n WHERE saison_id = $filter_saison_id" : "") . "\n ORDER BY t1.reihenfolge, t1.letzter_tag DESC, t1.bezeichnung, t1.kategorie"; } - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $veranstaltungen = $db->loadObjectList(); - + $veranstaltungen = loadObjectList($db, $query); $query = "SELECT *," . "\n (SELECT COUNT(*) FROM #__sportsmanager_bestenliste_veranstaltung AS t2 WHERE t1.bestenliste_id = t2.bestenliste_id) + (SELECT COUNT(*) FROM #__sportsmanager_bestenliste_individualwettbewerb AS t2 WHERE t1.bestenliste_id = t2.bestenliste_id) AS veranstaltungen" . "\n FROM #__sportsmanager_bestenliste AS t1" . ($filter_saison_id != 0 ? "\n WHERE saison_id = $filter_saison_id" : "") . "\n ORDER BY t1.reihenfolge, t1.letzter_tag DESC, t1.bezeichnung, t1.kategorie"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $spielerstatistiken = $db->loadObjectList(); - + $spielerstatistiken = loadObjectList($db, $query); $beschraenkter_zugriff_turniere = benutzerZugriff("turniere_aendern") ? 0 : 1; if ($beschraenkter_zugriff_turniere) { $query = "SELECT #__sportsmanager_turnier.*, veranstalterbezeichnung, veranstalterkuerzel, GROUP_CONCAT(disziplintitel ORDER BY disziplintitel SEPARATOR ', ') AS disziplinen, COUNT(turnierdisziplin_id) AS disziplinen_anzahl, COALESCE(SUM(meldung_vorhanden), 0) AS disziplinen_mit_meldung_anzahl" @@ -129,12 +111,7 @@ function adminUebersicht(): void . "\n GROUP BY turnier_id" . "\n ORDER BY erster_tag DESC, turnierbezeichnung"; } - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $turniere = $db->loadObjectList(); - + $turniere = loadObjectList($db, $query); $beschraenkter_zugriff_individualwettbewerbe = benutzerZugriff("individualwettbewerbe_aendern") ? 0 : 1; if ($beschraenkter_zugriff_individualwettbewerbe) { $query = "SELECT #__sportsmanager_individualwettbewerb.*, veranstalterbezeichnung, veranstalterkuerzel," @@ -152,66 +129,32 @@ function adminUebersicht(): void . ($filter_saison_id != 0 ? "\n WHERE saison_id = $filter_saison_id" : "") . "\n ORDER BY reihenfolge, bezeichnung, kategorie"; } - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $individualwettbewerbe = $db->loadObjectList(); - + $individualwettbewerbe = loadObjectList($db, $query); $query = "SELECT *," . "\n (SELECT COUNT(*) FROM #__sportsmanager_rangliste_turnierdisziplin AS t2 WHERE t1.rangliste_id = t2.rangliste_id) AS turnierdisziplinen" . "\n FROM #__sportsmanager_rangliste AS t1" . ($filter_saison_id != 0 ? "\n WHERE saison_id = $filter_saison_id" : "") . "\n ORDER BY t1.reihenfolge, t1.letzter_tag DESC, t1.bezeichnung, t1.kategorie"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $ranglisten = $db->loadObjectList(); - + $ranglisten = loadObjectList($db, $query); $statistik = array(); $query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_saison), 1, 0)"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $statistik["saisons"] = $db->loadResult(); + $statistik["saisons"] = loadResult($db, $query); $query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_teamspiel_modus), 1, 0)"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $statistik["teamspielmodi"] = $db->loadResult(); + $statistik["teamspielmodi"] = loadResult($db, $query); $query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_veranstalter), 1, 0)"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $statistik["veranstalter"] = $db->loadResult(); + $statistik["veranstalter"] = loadResult($db, $query); $query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_rangliste_system), 1, 0)"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $statistik["ranglistensysteme"] = $db->loadResult(); + $statistik["ranglistensysteme"] = loadResult($db, $query); $query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_turnierdisziplin), 1, 0)"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $statistik["turnierdisziplinen"] = $db->loadResult(); + $statistik["turnierdisziplinen"] = loadResult($db, $query); $query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_individualwettbewerb), 1, 0)"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $statistik["individualwettbewerbe"] = $db->loadResult(); + $statistik["individualwettbewerbe"] = loadResult($db, $query); HTML_sportsmanager_admin::adminUebersicht($veranstaltungen, $spielerstatistiken, $turniere, $ranglisten, $individualwettbewerbe, $statistik, $saisons, $filter_saison_id, isExternalDatabase()); } @@ -231,12 +174,7 @@ function adminVerteiler(): void $query = "SELECT saison_id, saisonbezeichnung" . "\n FROM #__sportsmanager_saison" . "\n ORDER BY saisonbezeichnung DESC"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $saisons = $db->loadObjectList(); - + $saisons = loadObjectList($db, $query); if (count($saisons) != 0) { $gefunden = false; foreach ($saisons as $saison) { @@ -252,21 +190,11 @@ function adminVerteiler(): void $query = "SELECT *" . "\n FROM #__sportsmanager_verteiler" . "\n ORDER BY bezeichnung"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $verteiler = $db->loadObjectList(); - + $verteiler = loadObjectList($db, $query); $query = "SELECT *" . "\n FROM #__sportsmanager_veranstalter" . "\n ORDER BY veranstalterbezeichnung"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $organisationen = $db->loadObjectList(); - + $organisationen = loadObjectList($db, $query); $organisationen_mailverteiler = array(); foreach ($organisationen as $organisation) { $query = "SELECT vorname, nachname, email" @@ -275,12 +203,7 @@ function adminVerteiler(): void . "\n WHERE " . ($organisation->veranstalter_id != null ? "veranstalter_id = $organisation->veranstalter_id" : "ISNULL(veranstalter_id)") . " AND NOT ausgetreten AND email != ''" . "\n ORDER BY vorname, nachname, email"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); - + $rows = loadObjectList($db, $query); $organisationen_mailverteiler[$organisation->veranstalter_id] = ""; $organisationen_mailverteiler[$organisation->veranstalter_id . "p"] = ""; foreach ($rows as $row) { @@ -294,24 +217,14 @@ function adminVerteiler(): void . "\n LEFT JOIN #__sportsmanager_veranstalter USING (veranstalter_id)" . ($filter_saison_id != 0 ? "\n WHERE saison_id = $filter_saison_id" : "") . "\n ORDER BY t1.reihenfolge, t1.letzter_tag DESC, bezeichnung, t1.kategorie"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $veranstaltungen = $db->loadObjectList(); - + $veranstaltungen = loadObjectList($db, $query); $veranstaltungen_mailverteiler = array(); foreach ($veranstaltungen as $veranstaltung) { $query = "SELECT vorname, nachname, email" . "\n FROM #__sportsmanager_teamansprechpartner, #__sportsmanager_team" . "\n WHERE veranstaltung_id = $veranstaltung->veranstaltung_id AND #__sportsmanager_teamansprechpartner.team_id = #__sportsmanager_team.team_id AND email != ''" . "\n ORDER BY vorname, nachname, email"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); - + $rows = loadObjectList($db, $query); $veranstaltungen_mailverteiler[$veranstaltung->veranstaltung_id] = ""; $veranstaltungen_mailverteiler[$veranstaltung->veranstaltung_id . "p"] = ""; foreach ($rows as $row) { @@ -336,11 +249,7 @@ function adminEditVerteiler(): void $row = null; else { $query = "SELECT * FROM #__sportsmanager_verteiler WHERE verteiler_id = $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die("Wrong id!"); $row = $rows[0]; } @@ -412,12 +321,7 @@ function adminRechnungen(): void $query = "SELECT saison_id, saisonbezeichnung" . "\n FROM #__sportsmanager_saison" . "\n ORDER BY saisonbezeichnung DESC"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $saisons = $db->loadObjectList(); - + $saisons = loadObjectList($db, $query); if (count($saisons) == 0) die("Wrong id!"); @@ -442,12 +346,7 @@ function adminRechnungen(): void . "\n LEFT JOIN #__sportsmanager_veranstalter ON #__sportsmanager_rechnung.veranstalter_id = #__sportsmanager_veranstalter.veranstalter_id" . "\n WHERE saison_id = $filter_saison_id" . "\n ORDER BY bezeichnung, zuordnungbezeichnung, notiz"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rechnungen = $db->loadObjectList(); - + $rechnungen = loadObjectList($db, $query); $query = "SELECT DISTINCT IF(ISNULL(#__sportsmanager_verein.verein_id), #__sportsmanager_veranstalter.veranstalter_id, #__sportsmanager_verein.verein_id) AS zuordnung_id, IF(ISNULL(#__sportsmanager_verein.verein_id), #__sportsmanager_veranstalter.veranstalterbezeichnung, #__sportsmanager_verein.vereinsname) AS zuordnungbezeichnung," . " IF(ISNULL(#__sportsmanager_verein.verein_id), IF(ISNULL(#__sportsmanager_veranstalter.veranstalter_id), 0," . "\n (SELECT COUNT(DISTINCT spieler_id)" @@ -467,12 +366,7 @@ function adminRechnungen(): void . "\n WHERE saison_id = $filter_saison_id" . "\n HAVING neuzugaenge > 0" . "\n ORDER BY zuordnungbezeichnung"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $neuzugaenge = $db->loadObjectList(); - + $neuzugaenge = loadObjectList($db, $query); $query = "SELECT DISTINCT IF(ISNULL(#__sportsmanager_verein.verein_id), #__sportsmanager_veranstalter.veranstalter_id, #__sportsmanager_verein.verein_id) AS zuordnung_id, IF(ISNULL(#__sportsmanager_verein.verein_id), #__sportsmanager_veranstalter.veranstalterbezeichnung, #__sportsmanager_verein.vereinsname) AS zuordnungbezeichnung," . " IF(ISNULL(#__sportsmanager_verein.verein_id), IF(ISNULL(#__sportsmanager_veranstalter.veranstalter_id), 0," . "\n (SELECT COUNT(DISTINCT spieler_id)" @@ -495,12 +389,7 @@ function adminRechnungen(): void . "\n LEFT JOIN #__sportsmanager_veranstalter ON #__sportsmanager_rechnung.veranstalter_id = #__sportsmanager_veranstalter.veranstalter_id" . "\n WHERE saison_id = $filter_saison_id" . "\n ORDER BY zuordnungbezeichnung"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $aufsummierung = $db->loadObjectList(); - + $aufsummierung = loadObjectList($db, $query); HTML_sportsmanager_admin::adminRechnungen($rechnungen, $neuzugaenge, $aufsummierung, $filter_saison); } @@ -521,11 +410,7 @@ function adminEditRechnung(): void . "\n LEFT JOIN #__sportsmanager_verein USING (verein_id)" . "\n LEFT JOIN #__sportsmanager_veranstalter ON #__sportsmanager_rechnung.veranstalter_id = #__sportsmanager_veranstalter.veranstalter_id" . "\n WHERE rechnung_id = $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die("Wrong id!"); $row = $rows[0]; } @@ -533,23 +418,13 @@ function adminEditRechnung(): void $query = "SELECT *" . "\n FROM #__sportsmanager_veranstalter" . "\n ORDER BY veranstalterbezeichnung"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $veranstalter = $db->loadObjectList(); - + $veranstalter = loadObjectList($db, $query); $query = "SELECT #__sportsmanager_verein.verein_id, #__sportsmanager_verein.veranstalter_id, vereinsname, veranstalterbezeichnung" . "\n FROM #__sportsmanager_verein" . "\n LEFT JOIN #__sportsmanager_veranstalter USING (veranstalter_id)" . "\n WHERE NOT ausgetreten" . "\n ORDER BY veranstalterbezeichnung, vereinsname"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $vereine = $db->loadObjectList(); - + $vereine = loadObjectList($db, $query); HTML_sportsmanager_admin::adminEditRechnung($row, $veranstalter, $vereine); } @@ -572,12 +447,7 @@ function adminEditRechnung(): void $query = "SELECT saison_id, saisonbezeichnung" . "\n FROM #__sportsmanager_saison" . "\n ORDER BY saisonbezeichnung DESC"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $saisons = $db->loadObjectList(); - + $saisons = loadObjectList($db, $query); if (count($saisons) != 0) { $gefunden = false; foreach ($saisons as $saison) { @@ -647,12 +517,7 @@ function adminEditRechnung(): void . "\n FROM #__sportsmanager_verein" . "\n WHERE veranstalter_id = $veranstalter_id AND not ausgetreten" . "\n ORDER BY mitglieder, vereinsname"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $veranstalter = $db->loadObjectList(); - + $veranstalter = loadObjectList($db, $query); foreach ($veranstalter as $row) { $verein_id = $row->verein_id; $query = "INSERT INTO #__sportsmanager_rechnung (saison_id, bezeichnung, notiz, verein_id, mitgliedsstatus, wertungskategorie) VALUES ('$filter_saison_id', '$bezeichnung', '$notiz', '$verein_id', '$mitgliedsstatus', '$wertungskategorie');"; @@ -676,12 +541,7 @@ function adminEditRechnung(): void $query = "SELECT veranstalter_id, (SELECT COUNT(*) FROM #__sportsmanager_verein LEFT JOIN #__sportsmanager_mitglied_von_verein USING (verein_id) WHERE #__sportsmanager_verein.veranstalter_id = #__sportsmanager_veranstalter.veranstalter_id AND NOT #__sportsmanager_verein.ausgetreten AND NOT #__sportsmanager_mitglied_von_verein.ausgetreten) AS mitglieder" . "\n FROM #__sportsmanager_veranstalter" . "\n ORDER BY mitglieder, veranstalterbezeichnung"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $veranstalter = $db->loadObjectList(); - + $veranstalter = loadObjectList($db, $query); foreach ($veranstalter as $row) { $veranstalterId = $row->veranstalter_id; $query = "INSERT INTO #__sportsmanager_rechnung (saison_id, bezeichnung, notiz, veranstalter_id, mitgliedsstatus, wertungskategorie) VALUES ('$filter_saison_id', '$bezeichnung', '$notiz', '$veranstalterId', '$mitgliedsstatus', '$wertungskategorie');"; @@ -769,12 +629,7 @@ function adminEinstellungen(): void keinZugriff(true); $query = "SELECT * FROM #__sportsmanager_einstellungen"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); - + $rows = loadObjectList($db, $query); $einstellungen = array(); foreach ($rows as $row) $einstellungen[$row->name] = $row->wert; @@ -801,6 +656,10 @@ function adminEinstellungen(): void $ansprechpartner_exportieren = $jInput->get('ansprechpartner_exportieren', 0, 'INT'); $spielerliste_elo = $jInput->get('spielerliste_elo', 0, 'INT'); $lizenz_anzeigen = $jInput->get('lizenz_anzeigen', 0, 'INT'); + $anzahl_mitglieder_zeigen = $jInput->get('anzahl_mitglieder_zeigen', 0, 'INT'); + $verband_anzeigen = $jInput->get('verband_anzeigen', 0, 'INT'); + $spalte_mitglieder_zeigen = $jInput->get('spalte_mitglieder_zeigen', 0, 'INT'); + $turnierbaum_zeigen = $jInput->get('turnierbaum_zeigen', 0, 'INT'); $termine_beantragen = $jInput->get('termine_beantragen', 0, 'INT'); $spielerimport_persoenliche_daten_vorauswahl = $jInput->get('spielerimport_persoenliche_daten_vorauswahl', 0, 'INT'); @@ -843,6 +702,38 @@ function adminEinstellungen(): void die($db->stderr(true)); } + $query = "REPLACE #__sportsmanager_einstellungen" + . "\n SET name = 'anzahl_mitglieder_zeigen'" + . ", wert = '$anzahl_mitglieder_zeigen'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "REPLACE #__sportsmanager_einstellungen" + . "\n SET name = 'verband_anzeigen'" + . ", wert = '$verband_anzeigen'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "REPLACE #__sportsmanager_einstellungen" + . "\n SET name = 'spalte_mitglieder_zeigen'" + . ", wert = '$spalte_mitglieder_zeigen'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + $query = "REPLACE #__sportsmanager_einstellungen" + . "\n SET name = 'turnierbaum_zeigen'" + . ", wert = '$turnierbaum_zeigen'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + $query = "REPLACE #__sportsmanager_einstellungen" . "\n SET name = 'ansprechpartner_ausblenden'" . ", wert = '$ansprechpartner_ausblenden'"; @@ -889,22 +780,6 @@ function adminEinstellungen(): void die($db->stderr(true)); } - /* - $query = "REPLACE #__sportsmanager_einstellungen" - . "\n SET name = 'twitter_benutzername'" - . ", wert = '$twitter_benutzername'"; - $db->setQuery($query); - if (!$db->execute()) { die($db->stderr(true)); } - - if (empty($twitter_benutzername) || !empty($twitter_kennwort)) { - $query = "REPLACE #__sportsmanager_einstellungen" - . "\n SET name = 'twitter_kennwort'" - . ", wert = '$twitter_kennwort'"; - $db->setQuery($query); - if (!$db->execute()) { die($db->stderr(true)); } - } - */ - redirectSportsManagerURL('&task=admin_uebersicht'); } @@ -916,12 +791,7 @@ function adminDatenbank(): void keinZugriff(true); $query = "SELECT * FROM #__sportsmanager_einstellungen"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); - + $rows = loadObjectList($db, $query); $einstellungen = array(); foreach ($rows as $row) $einstellungen[$row->name] = $row->wert; @@ -1053,32 +923,12 @@ function adminSpieler($admin_uebersicht): void $query .= "\n INNER JOIN (SELECT spieler_id FROM #__sportsmanager_mitglied_von_verein INNER JOIN #__sportsmanager_verein USING (verein_id) WHERE NOT #__sportsmanager_mitglied_von_verein.ausgetreten AND NOT #__sportsmanager_verein.ausgetreten AND mitgliedsstatus = 1 AND" . veranstalterFilter("#__sportsmanager_verein.veranstalter_id IN") . "GROUP BY spieler_id ORDER BY spieler_id, verein_id) AS mitgliedschaft USING (spieler_id)"; else if ($beschraenkter_zugriff == 2) $query .= "\n INNER JOIN (SELECT spieler_id FROM #__sportsmanager_mitglied_von_verein INNER JOIN #__sportsmanager_verein USING (verein_id) WHERE NOT #__sportsmanager_mitglied_von_verein.ausgetreten AND NOT #__sportsmanager_verein.ausgetreten AND mitgliedsstatus = 1 AND" . vereinFilter("#__sportsmanager_verein.verein_id IN") . "GROUP BY spieler_id ORDER BY spieler_id, verein_id) AS mitgliedschaft USING (spieler_id)"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $anzahlSpieler["aktiv"] = $db->loadResult(); + $anzahlSpieler["aktiv"] = loadResult($db, $query); $jahr = date("Y"); - $db->setQuery($query . "\n WHERE " . ($jahr - 18) . " <= geburtsjahr"); - if (!$db->execute()) { - die($db->stderr(true)); - } - $anzahlSpieler["J aktiv"] = $db->loadResult(); - $db->setQuery($query . "\n WHERE " . ($jahr - 50) . " > geburtsjahr"); - if (!$db->execute()) { - die($db->stderr(true)); - } - $anzahlSpieler["S aktiv"] = $db->loadResult(); - $db->setQuery($query . "\n WHERE geschlecht = 'M' AND (ISNULL(geburtsjahr) OR (" . ($jahr - 18) . " > geburtsjahr AND " . ($jahr - 50) . " <= geburtsjahr))"); - if (!$db->execute()) { - die($db->stderr(true)); - } - $anzahlSpieler["H aktiv"] = $db->loadResult(); - $db->setQuery($query . "\n WHERE geschlecht <> 'M' AND (ISNULL(geburtsjahr) OR (" . ($jahr - 18) . " > geburtsjahr AND " . ($jahr - 50) . " <= geburtsjahr))"); - if (!$db->execute()) { - die($db->stderr(true)); - } - $anzahlSpieler["D aktiv"] = $db->loadResult(); + $anzahlSpieler["J aktiv"] = loadResult($db, $query . "\n WHERE " . ($jahr - 18) . " <= geburtsjahr"); + $anzahlSpieler["S aktiv"] = loadResult($db, $query . "\n WHERE " . ($jahr - 50) . " > geburtsjahr"); + $anzahlSpieler["H aktiv"] = loadResult($db, $query . "\n WHERE geschlecht = 'M' AND (ISNULL(geburtsjahr) OR (" . ($jahr - 18) . " > geburtsjahr AND " . ($jahr - 50) . " <= geburtsjahr))"); + $anzahlSpieler["D aktiv"] = loadResult($db, $query . "\n WHERE geschlecht <> 'M' AND (ISNULL(geburtsjahr) OR (" . ($jahr - 18) . " > geburtsjahr AND " . ($jahr - 50) . " <= geburtsjahr))"); $query = "SELECT COUNT(DISTINCT spieler_id)" . "\n FROM #__sportsmanager_spieler"; @@ -1088,11 +938,7 @@ function adminSpieler($admin_uebersicht): void $query .= "\n INNER JOIN (SELECT spieler_id FROM #__sportsmanager_mitglied_von_verein INNER JOIN #__sportsmanager_verein USING (verein_id) WHERE NOT #__sportsmanager_mitglied_von_verein.ausgetreten AND NOT #__sportsmanager_verein.ausgetreten AND mitgliedsstatus = 2 AND" . veranstalterFilter("#__sportsmanager_verein.veranstalter_id IN") . "GROUP BY spieler_id ORDER BY spieler_id, verein_id) AS mitgliedschaft USING (spieler_id)"; else if ($beschraenkter_zugriff == 2) $query .= "\n INNER JOIN (SELECT spieler_id FROM #__sportsmanager_mitglied_von_verein INNER JOIN #__sportsmanager_verein USING (verein_id) WHERE NOT #__sportsmanager_mitglied_von_verein.ausgetreten AND NOT #__sportsmanager_verein.ausgetreten AND mitgliedsstatus = 2 AND" . vereinFilter("#__sportsmanager_verein.verein_id IN") . "GROUP BY spieler_id ORDER BY spieler_id, verein_id) AS mitgliedschaft USING (spieler_id)"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $anzahlSpieler["eingeschraenkt"] = $db->loadResult(); + $anzahlSpieler["eingeschraenkt"] = loadResult($db, $query); $query = "SELECT COUNT(DISTINCT spieler_id)" . "\n FROM #__sportsmanager_spieler"; @@ -1102,11 +948,7 @@ function adminSpieler($admin_uebersicht): void $query .= "\n INNER JOIN (SELECT spieler_id FROM #__sportsmanager_mitglied_von_verein INNER JOIN #__sportsmanager_verein USING (verein_id) WHERE NOT #__sportsmanager_mitglied_von_verein.ausgetreten AND NOT #__sportsmanager_verein.ausgetreten AND mitgliedsstatus = 3 AND" . veranstalterFilter("#__sportsmanager_verein.veranstalter_id IN") . "GROUP BY spieler_id ORDER BY spieler_id, verein_id) AS mitgliedschaft USING (spieler_id)"; else if ($beschraenkter_zugriff == 2) $query .= "\n INNER JOIN (SELECT spieler_id FROM #__sportsmanager_mitglied_von_verein INNER JOIN #__sportsmanager_verein USING (verein_id) WHERE NOT #__sportsmanager_mitglied_von_verein.ausgetreten AND NOT #__sportsmanager_verein.ausgetreten AND mitgliedsstatus = 3 AND" . vereinFilter("#__sportsmanager_verein.verein_id IN") . "GROUP BY spieler_id ORDER BY spieler_id, verein_id) AS mitgliedschaft USING (spieler_id)"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $anzahlSpieler["passiv"] = $db->loadResult(); + $anzahlSpieler["passiv"] = loadResult($db, $query); $search = stripslashes($filter); if ($beschraenkter_zugriff == 0 && $search == "_____DOPPELT") { @@ -1126,11 +968,7 @@ function adminSpieler($admin_uebersicht): void . "\n INNER JOIN #__sportsmanager_spieler USING (nachname, vorname)" . "\n LEFT JOIN #__sportsmanager_verein ON aktueller_verein_id = verein_id" . "\n ORDER BY nachname, vorname"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); } else if ($beschraenkter_zugriff == 0 && $search == "_____DOPPELT_JAHR") { $jahr = date("Y"); $query = "SELECT #__sportsmanager_spieler.spieler_id, vorname, nachname, geschlecht, pseudonym, aktueller_verein_id, spielernr, lizenznr, geburtsjahr," @@ -1148,11 +986,7 @@ function adminSpieler($admin_uebersicht): void . "\n INNER JOIN #__sportsmanager_spieler USING (nachname, vorname, geburtsjahr)" . "\n LEFT JOIN #__sportsmanager_verein ON aktueller_verein_id = verein_id" . "\n ORDER BY nachname, vorname, geburtsjahr"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); } else if ($beschraenkter_zugriff == 0 && $search == "_____KEINE_SPIELERNR") { $jahr = date("Y"); $query = "SELECT #__sportsmanager_spieler.spieler_id, vorname, nachname, geschlecht, pseudonym, aktueller_verein_id, spielernr, lizenznr, geburtsjahr," @@ -1167,11 +1001,7 @@ function adminSpieler($admin_uebersicht): void . "\n LEFT JOIN #__sportsmanager_verein ON aktueller_verein_id = verein_id" . "\n WHERE #__sportsmanager_spieler.spielernr = ''" . "\n ORDER BY nachname, vorname"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); } else if ($search != "" && ($beschraenkter_zugriff == 0 || $ansprechpartner_spielerdaten_bearbeiten)) { $searchEscapedWildcards = str_contains($search, "*") ? ($db->escape(trim(mb_strtolower(str_replace("*", "%", $search), 'UTF-8')))) : ("%" . $db->escape(trim(mb_strtolower($search, 'UTF-8'))) . "%"); $searchEscaped = $db->escape(trim($search)); @@ -1195,12 +1025,7 @@ function adminSpieler($admin_uebersicht): void $query .= "\n LEFT JOIN #__sportsmanager_verein ON aktueller_verein_id = verein_id"; $query .= "\n WHERE (CONCAT_WS(', ', nachname, vorname) LIKE '$searchEscapedWildcards' OR CONCAT_WS(' ', vorname, nachname) LIKE '$searchEscapedWildcards' OR spielernr = '$searchEscaped' OR lizenznr = '$searchEscaped')"; $query .= "\n ORDER BY nachname, vorname LIMIT 101"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); - + $rows = loadObjectList($db, $query); if (count($rows) > 100) { redirectSportsManagerURL('&task=admin_spieler', "Mehr als 100 Spieler gefunden, bitte genaueren Filter verwenden."); } @@ -1223,12 +1048,7 @@ function adminSpieler($admin_uebersicht): void $query .= "\n LEFT JOIN (SELECT spieler_id FROM #__sportsmanager_mitglied_von_verein INNER JOIN #__sportsmanager_verein USING (verein_id) WHERE NOT #__sportsmanager_mitglied_von_verein.ausgetreten AND NOT #__sportsmanager_verein.ausgetreten GROUP BY spieler_id ORDER BY spieler_id, verein_id) AS mitgliedschaft USING (spieler_id)"; $query .= "\n LEFT JOIN #__sportsmanager_verein ON aktueller_verein_id = verein_id"; $query .= "\n ORDER BY nachname, vorname LIMIT 101"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); - + $rows = loadObjectList($db, $query); if (count($rows) > 100) $rows = null; } else @@ -1260,11 +1080,7 @@ function adminEditSpieler(): void $spieler = null; else { $query = "SELECT * FROM #__sportsmanager_spieler WHERE spieler_id = $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) == 1) $spieler = $rows[0]; else @@ -1290,11 +1106,7 @@ function adminEditSpieler(): void AND NOT #__sportsmanager_mitglied_von_verein.ausgetreten AND #__sportsmanager_verein.verein_id = #__sportsmanager_mitglied_von_verein.verein_id AND NOT #__sportsmanager_verein.ausgetreten), 1, 0)"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $n = $db->loadResult(); + $n = loadResult($db, $query); if ($n == 0) keinZugriff(true); } @@ -1304,32 +1116,19 @@ function adminEditSpieler(): void . "\n FROM #__sportsmanager_verein" . "\n LEFT JOIN #__sportsmanager_veranstalter USING (veranstalter_id)" . "\n ORDER BY veranstalterbezeichnung, vereinsname"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $vereine = $db->loadObjectList(); - + $vereine = loadObjectList($db, $query); $vereinsmitgliedschaften = null; if (!empty($id)) { $query = "SELECT DISTINCT verein_id, mitgliedsstatus" . "\n FROM #__sportsmanager_verein" . "\n INNER JOIN (SELECT verein_id, mitgliedsstatus FROM #__sportsmanager_mitglied_von_verein WHERE spieler_id = $id) AS mitgliedschaft USING (verein_id)" . "\n ORDER BY IF(mitgliedsstatus <> 0, 0, 1), mitgliedsstatus, vereinsname"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $vereinsmitgliedschaften = $db->loadObjectList(); + $vereinsmitgliedschaften = loadObjectList($db, $query); } // Nächste Spieler-Nr. ermitteln $query = "SELECT * FROM #__sportsmanager_einstellungen WHERE name = 'basis_spielernr'"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) == 0) die("Fehler: Inkonsistenz in den MySQL-Tabellen!"); $naechste_spielernr = $rows[0]->wert; @@ -1346,11 +1145,7 @@ function adminEditSpieler(): void . "\n FROM #__sportsmanager_spieler" . "\n WHERE Left(spielernr, " . strlen($spielernr_praefix) . ") = '" . $db->escape($spielernr_praefix) . "'" . "\n ORDER BY LENGTH(spielernr) DESC, spielernr DESC"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) > 0) { $naechste_spielernr = $rows[0]->spielernr; for ($i = strlen($naechste_spielernr) - 1; $i >= 0; $i--) { @@ -1446,22 +1241,14 @@ function adminEditSpieler(): void AND NOT #__sportsmanager_mitglied_von_verein.ausgetreten AND #__sportsmanager_verein.verein_id = #__sportsmanager_mitglied_von_verein.verein_id AND NOT #__sportsmanager_verein.ausgetreten), 1, 0)"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $n = $db->loadResult(); + $n = loadResult($db, $query); if ($n == 0) keinZugriff(); } if (strlen($spielernr) > 0) { $query = "SELECT COUNT(*) FROM #__sportsmanager_spieler WHERE spielernr = '$spielernr' AND spieler_id != $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $n = $db->loadResult(); + $n = loadResult($db, $query); if ($n > 0) { redirectSportsManagerURL('&task=admin_spieler', Text::_('COM_SPORTSMANAGER_PLAYER_NO_USED')); } @@ -1475,12 +1262,7 @@ function adminEditSpieler(): void . "\n FROM #__sportsmanager_mitglied_von_verein" . "\n INNER JOIN #__sportsmanager_verein USING (verein_id)" . "\n WHERE #__sportsmanager_mitglied_von_verein.spieler_id = $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $bestehende_vereinsmitgliedschaften = $db->loadObjectList(); - + $bestehende_vereinsmitgliedschaften = loadObjectList($db, $query); foreach ($bestehende_vereinsmitgliedschaften as $bestehende_vereinsmitgliedschaft) { $ist_mitglied = false; foreach ($vereinsmitgliedschaften as $verein_id) { @@ -1512,11 +1294,7 @@ function adminEditSpieler(): void $query = "SELECT COUNT(*)" . "\n FROM #__sportsmanager_verein" . "\n WHERE verein_id = $verein_id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $n = $db->loadResult(); + $n = loadResult($db, $query); if ($n > 0) { $query = "INSERT INTO #__sportsmanager_mitglied_von_verein (spieler_id, verein_id, mitgliedsstatus, ausgetreten) VALUES ('$id', '$verein_id', '" . ($verein_mitgliedsstatus[$index]) . "', " . ($verein_mitgliedsstatus[$index] == 0 ? "TRUE" : "FALSE") . ");"; @@ -1570,11 +1348,7 @@ function adminEditSpieler(): void $query = "SELECT COUNT(*)" . "\n FROM #__sportsmanager_verein" . "\n WHERE verein_id = $verein_id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $n = $db->loadResult(); + $n = loadResult($db, $query); if ($n > 0) { $query = "INSERT INTO #__sportsmanager_mitglied_von_verein (spieler_id, verein_id, mitgliedsstatus, ausgetreten) VALUES ('$id', '$verein_id', '" . ($verein_mitgliedsstatus[$index]) . "', " . ($verein_mitgliedsstatus[$index] == 0 ? "TRUE" : "FALSE") . ");"; @@ -1589,11 +1363,7 @@ function adminEditSpieler(): void if ($id != 0 && (!$beschraenkter_zugriff || $ansprechpartner_spielerdaten == "1" || $ansprechpartner_spielerdaten == "2")) { $query = "SELECT * FROM #__sportsmanager_spieler WHERE spieler_id = $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) { redirectSportsManagerURL('&task=admin_spieler', "Der Spieler existiert nicht mehr!"); } @@ -1677,43 +1447,23 @@ function adminEditSpieler(): void $id = $jInput->get('id', 0, 'INT'); $query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_teamspiel WHERE heim_spieler_1_id = $id OR heim_spieler_2_id = $id OR gast_spieler_1_id = $id OR gast_spieler_2_id = $id), 1, 0)"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $n = $db->loadResult(); + $n = loadResult($db, $query); if ($n > 0) die(Text::_('COM_SPORTSMANAGER_UNABLE_REMOVE_EXISTING_LINKS')); $query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_turniermeldung_spieler WHERE spieler_id = $id), 1, 0)"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $n = $db->loadResult(); + $n = loadResult($db, $query); if ($n > 0) die(Text::_('COM_SPORTSMANAGER_UNABLE_REMOVE_EXISTING_LINKS')); $query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_mitglied_von_team WHERE spieler_id = $id), 1, 0)"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $n = $db->loadResult(); + $n = loadResult($db, $query); if ($n > 0) die(Text::_('COM_SPORTSMANAGER_UNABLE_REMOVE_EXISTING_LINKS')); $query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_individualwettbewerb_spiel WHERE heim_spieler_1_id = $id OR heim_spieler_2_id = $id OR gast_spieler_1_id = $id OR gast_spieler_2_id = $id), 1, 0)"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $n = $db->loadResult(); + $n = loadResult($db, $query); if ($n > 0) die(Text::_('COM_SPORTSMANAGER_UNABLE_REMOVE_EXISTING_LINKS')); $query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_individualwettbewerb_ausgangsplatzierung WHERE spieler_id = $id), 1, 0)"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $n = $db->loadResult(); + $n = loadResult($db, $query); if ($n > 0) die(Text::_('COM_SPORTSMANAGER_UNABLE_REMOVE_EXISTING_LINKS')); $query = "DELETE FROM #__sportsmanager_mitglied_von_verein WHERE spieler_id = $id;"; @@ -1747,23 +1497,13 @@ function adminEditSpieler(): void . "\n GROUP BY spieler_id, verein_id" . "\n HAVING mehrfach > 1" . "\n ORDER BY spieler_id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $mitglieder = $db->loadObjectList(); - + $mitglieder = loadObjectList($db, $query); foreach ($mitglieder as $mitglied) { $query = "SELECT mitglied_von_verein_id, verein_id" . "\n FROM #__sportsmanager_mitglied_von_verein" . "\n WHERE spieler_id = $mitglied->spieler_id" . "\n ORDER BY verein_id, ausgetreten, mitgliedsstatus"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); - + $rows = loadObjectList($db, $query); $mitglied_verein_id = -1; foreach ($rows as $row) { if ($mitglied_verein_id != $row->verein_id) { @@ -1794,12 +1534,7 @@ function adminSpielerZusammenlegenForm(): void $query = "SELECT spieler_id, vorname, nachname, spielernr, aktueller_verein_id" . "\n FROM #__sportsmanager_spieler" . "\n ORDER BY nachname, vorname, spielernr, aktueller_verein_id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $spieler = $db->loadObjectList(); - + $spieler = loadObjectList($db, $query); HTML_sportsmanager_admin::adminSpielerZusammenlegen($spieler, $filter); } @@ -1829,21 +1564,13 @@ function adminSpielerZusammenlegenForm(): void set_time_limit(300); $query = "SELECT * FROM #__sportsmanager_spieler WHERE spieler_id = $spieler_beizubehalten_id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) { redirectSportsManagerURL('&task=admin_spieler&filter=' . urlencode($filter), "Beizubehaltender Spieler existiert nicht."); } $query = "SELECT * FROM #__sportsmanager_spieler WHERE spieler_id = $spieler_zu_entfernen_id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) { redirectSportsManagerURL('&task=admin_spieler&filter=' . urlencode($filter) . '#id' . $spieler_beizubehalten_id, "Zu entfernender Spieler existiert nicht."); } @@ -1938,12 +1665,7 @@ function adminSpielerZusammenlegenForm(): void $query = "SELECT DISTINCT individualwettbewerb_id" . "\n FROM #__sportsmanager_individualwettbewerb_ausgangsplatzierung" . "\n WHERE spieler_id = $spieler_zu_entfernen_id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $individualwettbewerbe = $db->loadObjectList(); - + $individualwettbewerbe = loadObjectList($db, $query); foreach ($individualwettbewerbe as $individualwettbewerb) { $individualwettbewerbId = $individualwettbewerb->individualwettbewerb_id; @@ -1951,12 +1673,7 @@ function adminSpielerZusammenlegenForm(): void . "\n FROM #__sportsmanager_individualwettbewerb_ausgangsplatzierung" . "\n WHERE individualwettbewerb_id = $individualwettbewerbId" . "\n ORDER BY platz"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $ausgangsplatzierungen = $db->loadObjectList(); - + $ausgangsplatzierungen = loadObjectList($db, $query); $platzierungen = array(); foreach ($ausgangsplatzierungen as $ausgangsplatzierung) $platzierungen[] = $ausgangsplatzierung->spieler_id; @@ -2020,12 +1737,7 @@ function adminSpielerZusammenlegenForm(): void . "\n FROM #__sportsmanager_mitglied_von_verein" . "\n WHERE spieler_id = $spieler_beizubehalten_id OR spieler_id = $spieler_zu_entfernen_id" . "\n ORDER BY verein_id, ausgetreten, IF(spieler_id = $spieler_beizubehalten_id, 0, 1), mitgliedsstatus"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); - + $rows = loadObjectList($db, $query); $mitglied_verein_id = -1; foreach ($rows as $row) { if ($mitglied_verein_id != $row->verein_id) { @@ -2116,12 +1828,7 @@ function adminRemoveInaktiveSpielerForm(): void . "\n AND ISNULL(individualspiel3.gast_spieler_1_id)" . "\n AND ISNULL(individualspiel4.gast_spieler_2_id)" . "\n ORDER BY nachname, vorname"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $spieler = $db->loadObjectList(); - + $spieler = loadObjectList($db, $query); HTML_sportsmanager_admin::adminRemoveInaktiveSpieler($spieler, $filter); } @@ -2166,12 +1873,7 @@ function adminRemoveInaktiveSpielerForm(): void . "\n AND ISNULL(individualspiel3.gast_spieler_1_id)" . "\n AND ISNULL(individualspiel4.gast_spieler_2_id)" . "\n ORDER BY nachname, vorname"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $spieler = $db->loadObjectList(); - + $spieler = loadObjectList($db, $query); $bilder_spieler_ids = array(); foreach ($spieler as $s) { @@ -2235,19 +1937,9 @@ function adminImportSpielerDetailsForm(): void $query = "SELECT DISTINCT session_id" . "\n FROM #__sportsmanager_spieler_import" . "\n WHERE session_id < SUBTIME(NOW(), '00:05:00')"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); - + $rows = loadObjectList($db, $query); foreach ($rows as $row) { - $query = "DELETE FROM #__sportsmanager_spieler_import" - . "\n WHERE session_id = '$row->session_id'"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } + adminDeleteSpielerImport($row->session_id); } if (empty($_FILES["daten"]["tmp_name"]) || !is_uploaded_file($_FILES["daten"]["tmp_name"])) { @@ -2492,11 +2184,7 @@ function adminImportSpielerDetailsForm(): void . "\n FROM #__sportsmanager_spieler_import" . "\n INNER JOIN #__sportsmanager_spieler USING (spielernr)" . "\n WHERE session_id = '" . $db->escape($session_id) . "' AND #__sportsmanager_spieler_import.spielernr <> '' AND #__sportsmanager_spieler_import.lizenznr <> ''"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $lizenzen_aktualisiert = $db->loadResult(); + $lizenzen_aktualisiert = loadResult($db, $query); $query = "UPDATE #__sportsmanager_spieler_import" . "\n INNER JOIN #__sportsmanager_spieler USING (spielernr)" @@ -2507,12 +2195,7 @@ function adminImportSpielerDetailsForm(): void die($db->stderr(true)); } - $query = "DELETE FROM #__sportsmanager_spieler_import" - . "\n WHERE session_id = '" . $db->escape($session_id) . "'"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } + adminDeleteSpielerImport($session_id); HTML_sportsmanager_admin::adminImportSpielerBericht($lizenzen_aktualisiert, array(), 0, array(), array(), array(), false, redirectSessionIdEmpty() ? null : redirectSessionIdSetzen()); @@ -2562,22 +2245,12 @@ function adminImportSpielerDetailsForm(): void if ($beschraenkter_zugriff) $query .= "\n WHERE" . veranstalterFilter("veranstalter_id IN"); $query .= "\n ORDER BY veranstalterbezeichnung"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $veranstalter = $db->loadObjectList(); - + $veranstalter = loadObjectList($db, $query); $query = "SELECT DISTINCT veranstalterbezeichnung" . "\n FROM #__sportsmanager_spieler_import" . "\n WHERE session_id = '" . $db->escape($session_id) . "'" . "\n ORDER BY veranstalterbezeichnung"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $veranstalter_import = $db->loadObjectList(); - + $veranstalter_import = loadObjectList($db, $query); $veranstalter_zugehoerigkeit = array(); foreach ($veranstalter_import as $v) { $query = "SELECT #__sportsmanager_veranstalter.veranstalter_id, COUNT(*) AS spieler" @@ -2590,12 +2263,7 @@ function adminImportSpielerDetailsForm(): void . "\n GROUP BY #__sportsmanager_veranstalter.veranstalter_id" . "\n ORDER BY spieler DESC" . "\n LIMIT 1"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); - + $rows = loadObjectList($db, $query); if (count($rows) > 0) $veranstalter_zugehoerigkeit[$v->veranstalterbezeichnung] = $rows[0]->veranstalter_id; } @@ -2603,12 +2271,7 @@ function adminImportSpielerDetailsForm(): void $query = "SELECT DISTINCT vereinsname, veranstalterbezeichnung" . "\n FROM #__sportsmanager_spieler_import" . "\n WHERE session_id = '" . $db->escape($session_id) . "'"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $vereine_import = $db->loadObjectList(); - + $vereine_import = loadObjectList($db, $query); if (!$beschraenkter_zugriff && count($vereine_import) == 1) { $verein_import = $vereine_import[0]->vereinsname; $query = "SELECT #__sportsmanager_verein.verein_id, vereinsname, veranstalterbezeichnung" @@ -2616,11 +2279,7 @@ function adminImportSpielerDetailsForm(): void . "\n LEFT JOIN #__sportsmanager_veranstalter USING (veranstalter_id)" . "\n WHERE NOT ausgetreten" . "\n ORDER BY veranstalterbezeichnung, vereinsname"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $vereine = $db->loadObjectList(); + $vereine = loadObjectList($db, $query); } else { $verein_import = ""; $vereine = array(); @@ -2629,8 +2288,20 @@ 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")); } +function adminDeleteSpielerImport($session_id): void +{ + $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 { + $db = getDatabase(); global $_FILES; $jInput = Factory::getContainer()->get(SiteApplication::class)->input; @@ -2657,12 +2328,7 @@ function adminImportSpielerVorschau(): void . "\n FROM #__sportsmanager_spieler_import" . "\n WHERE session_id = '" . $db->escape($session_id) . "'" . "\n ORDER BY veranstalterbezeichnung"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $veranstalter_import = $db->loadObjectList(); - + $veranstalter_import = loadObjectList($db, $query); $spalten = array(); foreach (explode(",", $jInput->get('spalten', '', 'RAW')) as $s) $spalten[$s] = true; @@ -2677,30 +2343,34 @@ function adminImportSpielerVorschau(): void $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 <> ''));"; + + $spielerfehler = loadObjectList($db, $query); + if (count($spielerfehler) > 0) { + adminDeleteSpielerImport($session_id); + HTML_sportsmanager_admin::adminImportSpielerFehler($spielerfehler, $fehler="Passnummer"); + return; + } + $spielernr_aendern = false; if (isset($spalten["spielernr_alt"])) { $query = "SELECT nachname, vorname, spielernr, spielernr_alt" . "\n FROM #__sportsmanager_spieler_import" . "\n WHERE session_id = '" . $db->escape($session_id) . "' AND mitgliedsstatus <> 0 AND spielernr != spielernr_alt AND NOT ISNULL(spielernr) AND NOT ISNULL(spielernr_alt) AND spielernr != '' AND spielernr_alt != ''" . "\n LIMIT 1"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $spielervergleich = $db->loadObjectList(); - + $spielervergleich = loadObjectList($db, $query); if (count($spielervergleich) > 0) { $spielernr_aendern = true; $s1 = $spielervergleich[0]; $query = "SELECT nachname, vorname, spielernr" . "\n FROM #__sportsmanager_spieler" . "\n WHERE spielernr = '$s1->spielernr'"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $spieler = $db->loadObjectList(); - + $spieler = loadObjectList($db, $query); if (count($spieler) > 0) { $s2 = $spieler[0]; if ($s1->vorname == $s2->vorname && $s1->nachname == $s2->nachname) { @@ -2713,9 +2383,8 @@ function adminImportSpielerVorschau(): void $spielernr_aendern = false; } } - if ($spielernr_aendern) { - $query = "SELECT nachname, vorname" + $query = "SELECT nachname, vorname, bestand.spielernr" . "\n FROM" . "\n (SELECT nachname, vorname, spielernr, spielernr_alt" . "\n FROM #__sportsmanager_spieler_import" @@ -2727,15 +2396,10 @@ function adminImportSpielerVorschau(): void . "\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 ORDER BY nachname, vorname"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $konflikte = $db->loadObjectList(); - + $konflikte = loadObjectList($db, $query); if (count($konflikte) > 0) { - HTML_sportsmanager_admin::adminImportSpielerFehler($konflikte); - + adminDeleteSpielerImport($session_id); + HTML_sportsmanager_admin::adminImportSpielerFehler($konflikte, $fehler="konflikt"); return; } } @@ -2750,12 +2414,7 @@ function adminImportSpielerVorschau(): void . "\n HAVING namensgleich > 0 OR NOT ISNULL(nachname_alt) OR NOT ISNULL(vorname_alt)" // "namensgleich" kann in der "ORDER"-Anweisung" nicht verwendet werden, da MySQL 5.0.x dies nicht akzeptiert . "\n ORDER BY IF(#__sportsmanager_spieler_import.spielernr = '', (SELECT COUNT(*) FROM #__sportsmanager_spieler AS t1 WHERE (#__sportsmanager_spieler_import.vorname = t1.vorname AND #__sportsmanager_spieler_import.nachname = t1.nachname AND ((ISNULL(#__sportsmanager_spieler_import.geburtsjahr) AND ISNULL(t1.geburtsjahr)) OR #__sportsmanager_spieler_import.geburtsjahr = t1.geburtsjahr))), 0) > 0 DESC, nachname, vorname"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $spieler_import = $db->loadObjectList(); - + $spieler_import = loadObjectList($db, $query); $import_verweigern = false; if ($beschraenkter_zugriff) { foreach ($spieler_import as $s) { @@ -2785,26 +2444,15 @@ function adminImportSpielerVorschau(): void . "\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 WHERE session_id = '" . $db->escape($session_id) . "'"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $spieler_zugeordnet = $db->loadObjectList(); - + $spieler_zugeordnet = loadObjectList($db, $query); if (count($spieler_zugeordnet) > 0 && $spieler_zugeordnet[0]->nicht_zugeordnet > ($spieler_zugeordnet[0]->zugeordnet / 2)) $import_verweigern = true; } } if ($import_verweigern) { - $query = "DELETE FROM #__sportsmanager_spieler_import" - . "\n WHERE session_id = '" . $db->escape($session_id) . "'"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } + adminDeleteSpielerImport($session_id); } - 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')); } @@ -2842,12 +2490,7 @@ function adminImportSpieler(): void . "\n FROM #__sportsmanager_spieler_import" . "\n WHERE session_id = '" . $db->escape($session_id) . "'" . "\n ORDER BY veranstalterbezeichnung"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $veranstalter_import = $db->loadObjectList(); - + $veranstalter_import = loadObjectList($db, $query); $spalten = array(); foreach (explode(",", $jInput->get('spalten', '', 'RAW')) as $s) $spalten[$s] = true; @@ -2880,7 +2523,7 @@ function adminImportSpieler(): void * sonst Spielernr. übernehmen */ if (isset($spalten["spielernr_alt"])) { - $query = "SELECT nachname, vorname" + $query = "SELECT nachname, vorname, bestand.spielernr" . "\n FROM" . "\n (SELECT nachname, vorname, spielernr, spielernr_alt" . "\n FROM #__sportsmanager_spieler_import" @@ -2892,15 +2535,9 @@ function adminImportSpieler(): void . "\n ON bestand.spielernr = import.spielernr" . "\n WHERE NOT EXISTS(SELECT * FROM #__sportsmanager_spieler_import AS it1 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"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $konflikte = $db->loadObjectList(); - + $konflikte = loadObjectList($db, $query); if (count($konflikte) > 0) { - HTML_sportsmanager_admin::adminImportSpielerFehler($konflikte); - + HTML_sportsmanager_admin::adminImportSpielerFehler($konflikte, $fehler="konflikt"); return; } @@ -2919,11 +2556,7 @@ function adminImportSpieler(): void . "\n INNER JOIN #__sportsmanager_spieler_import ON NOT ISNULL(#__sportsmanager_spieler_import.spielernr) AND #__sportsmanager_spieler_import.spielernr != '' AND #__sportsmanager_spieler_import.spielernr = #__sportsmanager_spieler.spielernr" . "\n WHERE #__sportsmanager_spieler_import.geschlecht != #__sportsmanager_spieler.geschlecht OR #__sportsmanager_spieler_import.geburtsjahr != #__sportsmanager_spieler.geburtsjahr" . "\n), 1, 0)"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $kategorie_potentiell_geaendert = $db->loadResult(); + $kategorie_potentiell_geaendert = loadResult($db, $query); $query = "SELECT #__sportsmanager_spieler_import.*, #__sportsmanager_spieler.spieler_id, IF(#__sportsmanager_spieler.nachname != #__sportsmanager_spieler_import.nachname, #__sportsmanager_spieler.nachname, NULL) AS nachname_alt, IF(#__sportsmanager_spieler.vorname != #__sportsmanager_spieler_import.vorname, #__sportsmanager_spieler.vorname, NULL) AS vorname_alt," . "\n IF(#__sportsmanager_spieler_import.spielernr = '', (SELECT COUNT(*) FROM #__sportsmanager_spieler AS tt1 WHERE (#__sportsmanager_spieler_import.vorname = tt1.vorname AND #__sportsmanager_spieler_import.nachname = tt1.nachname AND ((ISNULL(#__sportsmanager_spieler_import.geburtsjahr) AND ISNULL(tt1.geburtsjahr)) OR #__sportsmanager_spieler_import.geburtsjahr = tt1.geburtsjahr))), 0) AS namensgleich" @@ -2931,12 +2564,7 @@ function adminImportSpieler(): void . "\n LEFT JOIN #__sportsmanager_spieler ON #__sportsmanager_spieler_import.spielernr != '' AND #__sportsmanager_spieler_import.spielernr = #__sportsmanager_spieler.spielernr" . "\n WHERE session_id = '" . $db->escape($session_id) . "' AND 1 = 1" . "\n ORDER BY IF(#__sportsmanager_spieler_import.spielernr = '', (SELECT COUNT(*) FROM #__sportsmanager_spieler AS tt2 WHERE (#__sportsmanager_spieler_import.vorname = tt2.vorname AND #__sportsmanager_spieler_import.nachname = tt2.nachname AND ((ISNULL(#__sportsmanager_spieler_import.geburtsjahr) AND ISNULL(tt2.geburtsjahr)) OR #__sportsmanager_spieler_import.geburtsjahr = tt2.geburtsjahr))), 0) > 0 DESC, IF(NOT ISNULL(IF(#__sportsmanager_spieler.nachname != #__sportsmanager_spieler_import.nachname, #__sportsmanager_spieler.nachname, NULL)) OR NOT ISNULL(IF(#__sportsmanager_spieler.vorname != #__sportsmanager_spieler_import.vorname, #__sportsmanager_spieler.vorname, NULL)), 0, 1), nachname, vorname"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $spieler_import = $db->loadObjectList(); - + $spieler_import = loadObjectList($db, $query); if (empty($verein_explizit)) { // Alle Vereinsmitgliedschaften des Verbandes vorsorglich beenden, damit diese beim Import ggf. wieder aktiviert werden können foreach ($veranstalter as $veranstalterId) { @@ -2953,11 +2581,7 @@ function adminImportSpieler(): void } } else if ($verein_explizit != -1) { $query = "SELECT * FROM #__sportsmanager_verein WHERE verein_id = $verein_explizit"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die ("Wrong id!"); // Alle Vereinsmitgliedschaften des Vereins vorsorglich beenden, damit diese beim Import ggf. wieder aktiviert werden können @@ -2973,11 +2597,7 @@ function adminImportSpieler(): void // Nächste Spieler-Nr. ermitteln $query = "SELECT * FROM #__sportsmanager_einstellungen WHERE name = 'basis_spielernr'"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) == 0) die("Fehler: Inkonsistenz in den MySQL-Tabellen!"); $naechste_spielernr = $rows[0]->wert; @@ -2995,11 +2615,7 @@ function adminImportSpieler(): void . "\n WHERE Left(spielernr, " . strlen($spielernr_praefix) . ") = '" . $db->escape($spielernr_praefix) . "'" . "\n ORDER BY LENGTH(spielernr) DESC, spielernr DESC" . "\n LIMIT 1"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) > 0) { $naechste_spielernr = $rows[0]->spielernr; for ($i = strlen($naechste_spielernr) - 1; $i >= 0; $i--) { @@ -3156,12 +2772,7 @@ function adminImportSpieler(): void $query = "SELECT spieler_id" . "\n FROM #__sportsmanager_mitglied_von_verein" . "\n WHERE spieler_id = $spieler_id AND #__sportsmanager_mitglied_von_verein.verein_id = $verein_explizit"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); - + $rows = loadObjectList($db, $query); if (count($rows) > 0) { $query = "UPDATE #__sportsmanager_mitglied_von_verein" . "\n SET mitgliedsstatus = '$mitgliedsstatus'," @@ -3176,12 +2787,7 @@ function adminImportSpieler(): void $query = "SELECT verein_id" . "\n FROM #__sportsmanager_verein" . "\n WHERE verein_id = $verein_explizit"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); - + $rows = loadObjectList($db, $query); // Wenn Verein existiert, dann Mitgliedschaft ergänzen if (count($rows) > 0) { $query = "INSERT #__sportsmanager_mitglied_von_verein" @@ -3197,12 +2803,7 @@ function adminImportSpieler(): void . "\n FROM #__sportsmanager_mitglied_von_verein, #__sportsmanager_verein" . "\n WHERE spieler_id = $spieler_id AND vereinsname = '" . $db->escape($vereinsname) . "' AND #__sportsmanager_verein.verein_id = #__sportsmanager_mitglied_von_verein.verein_id" . " AND " . ($veranstalterId == 0 ? "ISNULL(veranstalter_id)" : "veranstalter_id = $veranstalterId"); - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); - + $rows = loadObjectList($db, $query); if (count($rows) > 0) { $query = "UPDATE #__sportsmanager_mitglied_von_verein, #__sportsmanager_verein" . "\n SET mitgliedsstatus = '$mitgliedsstatus', #__sportsmanager_mitglied_von_verein.ausgetreten = FALSE" @@ -3214,12 +2815,7 @@ function adminImportSpieler(): void . "\n FROM #__sportsmanager_verein" . "\n WHERE vereinsname = '" . $db->escape($vereinsname) . "'" . " AND " . ($veranstalterId == 0 ? "ISNULL(veranstalter_id)" : "veranstalter_id = $veranstalterId"); - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); - + $rows = loadObjectList($db, $query); // Wenn mehrere Vereine existieren, dann Aktualisierung auslassen if (count($rows) > 1) { $vereineManuell[] = $name; @@ -3302,12 +2898,7 @@ function adminImportSpieler(): void $query = "SELECT vereinsname" . "\n FROM #__sportsmanager_verein" . "\n WHERE EXISTS(SELECT * FROM #__sportsmanager_mitglied_von_verein WHERE #__sportsmanager_verein.verein_id = #__sportsmanager_mitglied_von_verein.verein_id AND NOT #__sportsmanager_mitglied_von_verein.ausgetreten) AND ausgetreten AND " . ($veranstalterId == 0 ? "ISNULL(veranstalter_id)" : "veranstalter_id = $veranstalterId"); - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); - + $rows = loadObjectList($db, $query); $query = "UPDATE #__sportsmanager_verein" . "\n SET ausgetreten = FALSE" . "\n WHERE EXISTS(SELECT * FROM #__sportsmanager_mitglied_von_verein WHERE #__sportsmanager_verein.verein_id = #__sportsmanager_mitglied_von_verein.verein_id AND NOT #__sportsmanager_mitglied_von_verein.ausgetreten) AND ausgetreten AND " . ($veranstalterId == 0 ? "ISNULL(veranstalter_id)" : "veranstalter_id = $veranstalterId"); @@ -3323,12 +2914,7 @@ function adminImportSpieler(): void . "\n FROM #__sportsmanager_spieler_import" . "\n INNER JOIN #__sportsmanager_verein ON #__sportsmanager_verein.vereinsname = #__sportsmanager_spieler_import.vereinsname" . "\n WHERE session_id = '" . $db->escape($session_id) . "' AND " . ($v == null ? "ISNULL(#__sportsmanager_spieler_import.veranstalterbezeichnung)" : ("#__sportsmanager_spieler_import.veranstalterbezeichnung = '" . $db->escape($v) . "'")) . " AND #__sportsmanager_spieler_import.vereinsname != '' AND #__sportsmanager_spieler_import.vereinssitz != '' AND (ISNULL(#__sportsmanager_verein.vereinssitz) OR #__sportsmanager_verein.vereinssitz != #__sportsmanager_spieler_import.vereinssitz) AND NOT #__sportsmanager_verein.ausgetreten AND " . ($veranstalterId == 0 ? "ISNULL(veranstalter_id)" : "veranstalter_id = $veranstalterId"); - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); - + $rows = loadObjectList($db, $query); foreach ($rows as $row) { $query = "UPDATE #__sportsmanager_verein" . "\n SET vereinssitz = '" . $db->escape($row->vereinssitz) . "'" @@ -3342,12 +2928,7 @@ function adminImportSpieler(): void } } - $query = "DELETE FROM #__sportsmanager_spieler_import" - . "\n WHERE session_id = '" . $db->escape($session_id) . "'"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } + adminDeleteSpielerImport($session_id); sort($vereineManuell); sort($ausgetreteneVereineMitAktivenMitgliedern); @@ -3407,12 +2988,7 @@ function csvFilter($value, $decode = true): string $query .= "\n FROM #__sportsmanager_spieler"// . "\n WHERE EXISTS(SELECT * FROM #__sportsmanager_mitglied_von_verein AS t1 LEFT JOIN #__sportsmanager_verein AS t2 USING (verein_id) WHERE t1.spieler_id = #__sportsmanager_spieler.spieler_id AND t2.veranstalter_id = $veranstalterId AND NOT t1.ausgetreten AND NOT t2.ausgetreten)" . "\n WHERE NOT ISNULL(aktueller_verein_id)" . "\n ORDER BY nachname, vorname"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); - + $rows = loadObjectList($db, $query); if (count($rows) == 0) { redirectSportsManagerURL('&task=admin_spieler_export_international_form', "Zu dieser Auswahl sind keine Spielerdaten vorhanden!"); } @@ -3479,23 +3055,14 @@ function adminExportSpielerForm(): void if ($beschraenkter_zugriff) $query .= " AND" . veranstalterFilter("veranstalter_id IN"); $query .= "\n ORDER BY veranstalterbezeichnung"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $veranstalter = $db->loadObjectList(); - + $veranstalter = loadObjectList($db, $query); if (!$beschraenkter_zugriff) { $query = "SELECT #__sportsmanager_verein.verein_id, vereinsname, veranstalterbezeichnung" . "\n FROM #__sportsmanager_verein" . "\n LEFT JOIN #__sportsmanager_veranstalter USING (veranstalter_id)" . "\n WHERE NOT ausgetreten AND EXISTS(SELECT * FROM #__sportsmanager_mitglied_von_verein WHERE #__sportsmanager_mitglied_von_verein.verein_id = #__sportsmanager_verein.verein_id AND NOT #__sportsmanager_mitglied_von_verein.ausgetreten)" . "\n ORDER BY veranstalterbezeichnung, vereinsname"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $vereine = $db->loadObjectList(); + $vereine = loadObjectList($db, $query); } else { $vereine = array(); } @@ -3547,20 +3114,12 @@ function adminExportSpielerForm(): void $veranstalter = null; if ($verein_explizit != 0) { $query = "SELECT * FROM #__sportsmanager_verein WHERE verein_id = $verein_explizit"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die ("Wrong id"); $verein = $rows[0]; } else if ($veranstalterId != 0) { $query = "SELECT * FROM #__sportsmanager_veranstalter WHERE veranstalter_id = $veranstalterId"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die ("Wrong id"); $veranstalter = $rows[0]; } @@ -3614,12 +3173,7 @@ function adminExportSpielerForm(): void $query .= "\n ORDER BY nachname, vorname, IF(ISNULL(IF(ISNULL(aktueller_verein_id), #__sportsmanager_mitglied_von_verein.ausgetreten, NULL)), 1, 0), IF(ISNULL(aktueller_verein_id), #__sportsmanager_mitglied_von_verein.ausgetreten, NULL), verein"; else $query .= "\n ORDER BY nachname, vorname"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); - + $rows = loadObjectList($db, $query); if (count($rows) == 0) { redirectSportsManagerURL('&task=admin_spieler_export_form', "Zu dieser Auswahl sind keine Spielerdaten vorhanden!"); } @@ -3682,12 +3236,7 @@ function adminExportSpielerForm(): void $query .= "\n INNER JOIN (SELECT spieler_id FROM #__sportsmanager_mitglied_von_verein INNER JOIN #__sportsmanager_verein USING (verein_id) WHERE NOT #__sportsmanager_mitglied_von_verein.ausgetreten AND NOT #__sportsmanager_verein.ausgetreten GROUP BY spieler_id ORDER BY spieler_id, verein_id) AS mitgliedschaft USING (spieler_id)"; $query .= "\n INNER JOIN #__sportsmanager_verein ON aktueller_verein_id = verein_id" . "\n ORDER BY nachname, vorname"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); - + $rows = loadObjectList($db, $query); $dateiname = "Spieler " . date('Y-m-d') . ".csv"; ob_end_clean(); // Wegen UTF-8-Zeichen, die in der ausgabe vorhanden sind Header("Content-Type: text/x-csv; charset=utf-8;"); @@ -3728,23 +3277,14 @@ function adminVereine(): void keinZugriff(true); $query = "SELECT COUNT(DISTINCT veranstalter_id) FROM #__sportsmanager_verein WHERE NOT ausgetreten"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $organisationAnzeigen = $db->loadResult() > 1; + $organisationAnzeigen = loadResult($db, $query) > 1; $query = "SELECT *," . "\n (SELECT COUNT(*) FROM #__sportsmanager_mitglied_von_verein WHERE #__sportsmanager_verein.verein_id = #__sportsmanager_mitglied_von_verein.verein_id AND NOT #__sportsmanager_mitglied_von_verein.ausgetreten) AS mitglieder" . "\n FROM #__sportsmanager_verein" . "\n LEFT JOIN #__sportsmanager_veranstalter USING (veranstalter_id)" . "\n ORDER BY IF(ISNULL(#__sportsmanager_veranstalter.veranstalter_id), 1, 0), veranstalterbezeichnung, ausgetreten, vereinsname"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $vereine = $db->loadObjectList(); - + $vereine = loadObjectList($db, $query); HTML_sportsmanager_admin::adminVereine($vereine, $organisationAnzeigen); } @@ -3764,45 +3304,22 @@ function adminEditVerein(): void $vereinsansprechpartner = null; } else { $query = "SELECT * FROM #__sportsmanager_verein WHERE verein_id = $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) == 1) $row = $rows[0]; $query = "SELECT t1.* FROM #__sportsmanager_berechtigt_fuer_verein AS t1, #__users AS t2 WHERE t1.berechtigt_user_id = t2.id AND berechtigt_verein_id = $id ORDER BY username, name"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $berechtigt_fuer_verein = $db->loadObjectList(); - + $berechtigt_fuer_verein = loadObjectList($db, $query); $query = "SELECT * FROM #__sportsmanager_vereinsansprechpartner WHERE verein_id = $id ORDER BY vereinsansprechpartner_id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $vereinsansprechpartner = $db->loadObjectList(); + $vereinsansprechpartner = loadObjectList($db, $query); } $query = "SELECT * FROM #__users ORDER BY name, username"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $users = $db->loadObjectList(); - + $users = loadObjectList($db, $query); $query = "SELECT *" . "\n FROM #__sportsmanager_veranstalter" . "\n ORDER BY veranstalterbezeichnung"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $veranstalter = $db->loadObjectList(); - + $veranstalter = loadObjectList($db, $query); HTML_sportsmanager_admin::adminEditVerein($row, $users, $veranstalter, $berechtigt_fuer_verein, $vereinsansprechpartner); } @@ -3824,6 +3341,7 @@ function adminEditVerein(): void $url = $db->escape(trim($jInput->get('url', '', 'RAW'))); $beschreibung = $db->escape(trim($jInput->get('beschreibung', '', 'RAW'))); $ausgetreten = $jInput->get('ausgetreten', 0, 'INT'); + $verstecken = $jInput->get('verstecken', 0, 'INT'); $bildbeibehalten = $jInput->get('bildbeibehalten', 0, 'INT'); $berechtigt_fuer_verein_user_ids = array($jInput->get('berechtigt_fuer_verein_user_1_id', 0, 'INT'), @@ -3838,8 +3356,8 @@ function adminEditVerein(): void } if ($id == 0) { - $query = "INSERT INTO #__sportsmanager_verein (vereinsname, vereinssitz, vereinssitz_ortsteil, veranstalter_id, url, beschreibung, ausgetreten)" - . "\n VALUES ('$vereinsname', '$vereinssitz', '$vereinssitz_ortsteil', " . ($veranstalter_id != 0 ? "'$veranstalter_id'" : "NULL") . ", '$url', '$beschreibung', " . ($ausgetreten ? "TRUE" : "FALSE") . ");"; + $query = "INSERT INTO #__sportsmanager_verein (vereinsname, vereinssitz, vereinssitz_ortsteil, veranstalter_id, url, beschreibung, ausgetreten, verstecken)" + . "\n VALUES ('$vereinsname', '$vereinssitz', '$vereinssitz_ortsteil', " . ($veranstalter_id != 0 ? "'$veranstalter_id'" : "NULL") . ", '$url', '$beschreibung', " . ($ausgetreten ? "TRUE" : "FALSE") . ", $verstecken);"; $db->setQuery($query); if (!$db->execute()) { die($db->stderr(true)); @@ -3853,7 +3371,8 @@ function adminEditVerein(): void . "\n veranstalter_id = " . ($veranstalter_id != 0 ? "'$veranstalter_id'" : "NULL") . "," . "\n url = '$url'," . "\n beschreibung = '$beschreibung'," - . "\n ausgetreten = " . ($ausgetreten ? "TRUE" : "FALSE") + . "\n ausgetreten = " . ($ausgetreten ? "TRUE" : "FALSE") . "," + . "\n verstecken = '$verstecken'" . "\n WHERE verein_id = $id"; $db->setQuery($query); if (!$db->execute()) { @@ -3870,12 +3389,7 @@ function adminEditVerein(): void } $query = "SELECT * FROM #__sportsmanager_berechtigt_fuer_verein WHERE berechtigt_verein_id = $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); - + $rows = loadObjectList($db, $query); for ($nummer = 0; $nummer <= 5; $nummer++) { $berechtigt_user_id = $berechtigt_fuer_verein_user_ids[$nummer]; if ($berechtigt_user_id != 0) { @@ -4019,12 +3533,7 @@ function adminVereineZusammenlegenForm(): void . "\n FROM #__sportsmanager_verein" . "\n LEFT JOIN #__sportsmanager_veranstalter USING (veranstalter_id)" . "\n ORDER BY veranstalterbezeichnung, vereinsname, ausgetreten"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $vereine = $db->loadObjectList(); - + $vereine = loadObjectList($db, $query); HTML_sportsmanager_admin::adminVereineZusammenlegen($vereine); } @@ -4060,12 +3569,7 @@ function adminVereineZusammenlegenForm(): void . "\n FROM #__sportsmanager_mitglied_von_verein" . "\n WHERE #__sportsmanager_mitglied_von_verein.verein_id = $verein_beizubehalten_id" . "\n ORDER BY spieler_id, IF(ausgetreten, 1, 0), ausgetreten DESC"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); - + $rows = loadObjectList($db, $query); $spieler_id = null; foreach ($rows as $row) { if ($row->spieler_id == $spieler_id) { @@ -4138,11 +3642,7 @@ function adminVereinsmitglieder(): void if ($vereinId == 0) die ("Wrong id!"); $query = "SELECT * FROM #__sportsmanager_verein WHERE verein_id = $vereinId"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $vereine = $db->loadObjectList(); + $vereine = loadObjectList($db, $query); if (count($vereine) < 1) die ("Wrong id"); $verein = $vereine[0]; @@ -4153,12 +3653,7 @@ function adminVereinsmitglieder(): void . "\n LEFT JOIN #__sportsmanager_spieler USING (spieler_id)" . "\n WHERE #__sportsmanager_mitglied_von_verein.verein_id = $vereinId" . "\n ORDER BY IF(mitgliedsstatus <> 0, 0, 1), mitgliedsstatus, nachname, vorname"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $vereinsmitglieder = $db->loadObjectList(); - + $vereinsmitglieder = loadObjectList($db, $query); HTML_sportsmanager_admin::adminVereinsmitglieder($verein, $vereinsmitglieder, $berechtigt_spieler_aendern); } @@ -4176,31 +3671,18 @@ function adminEditVereinsmitglied(): void $row = null; if ($id !== 0) { $query = "SELECT t1.*, t2.vorname, t2.nachname FROM #__sportsmanager_mitglied_von_verein AS t1 LEFT JOIN #__sportsmanager_spieler AS t2 ON t1.spieler_id = t2.spieler_id WHERE mitglied_von_verein_id = $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) == 1) $row = $rows[0]; } $query = "SELECT * FROM #__sportsmanager_verein WHERE verein_id = $vereinId"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $vereine = $db->loadObjectList(); + $vereine = loadObjectList($db, $query); if (count($vereine) < 1) die ("Wrong id"); $verein = $vereine[0]; $query = "SELECT spieler_id, vorname, nachname, spielernr FROM #__sportsmanager_spieler ORDER BY nachname, vorname, spielernr"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $spieler = $db->loadObjectList(); - + $spieler = loadObjectList($db, $query); HTML_sportsmanager_admin::adminEditVereinsmitglied($row, $verein, $spieler); } @@ -4270,12 +3752,7 @@ function adminSpielorte(): void $query = "SELECT *" . "\n FROM #__sportsmanager_spielort" . "\n ORDER BY ortsname, name, ortsteil"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $spielorte = $db->loadObjectList(); - + $spielorte = loadObjectList($db, $query); HTML_sportsmanager_admin::adminSpielorte($spielorte); } @@ -4292,11 +3769,7 @@ function adminEditSpielort(): void $row = null; if ($id !== null) { $query = "SELECT * FROM #__sportsmanager_spielort WHERE spielort_id = $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) == 1) $row = $rows[0]; } @@ -4396,12 +3869,7 @@ function adminSpielorteZusammenlegenForm(): void $query = "SELECT *" . "\n FROM #__sportsmanager_spielort" . "\n ORDER BY ortsname, name, ortsteil"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $spielorte = $db->loadObjectList(); - + $spielorte = loadObjectList($db, $query); HTML_sportsmanager_admin::adminSpielorteZusammenlegen($spielorte); } @@ -4460,12 +3928,7 @@ function adminEinstufungen(): void $query = "SELECT *, (SELECT COUNT(*) FROM #__sportsmanager_einstufung_rangliste WHERE #__sportsmanager_einstufung.einstufung_id = #__sportsmanager_einstufung_rangliste.einstufung_id) AS ranglisten" . "\n FROM #__sportsmanager_einstufung" . "\n ORDER BY typ, prioritaet, bezeichnung"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $einstufungen = $db->loadObjectList(); - + $einstufungen = loadObjectList($db, $query); HTML_sportsmanager_admin::adminEinstufungen($einstufungen); } @@ -4482,11 +3945,7 @@ function adminEditEinstufung(): void $row = null; if ($id !== null) { $query = "SELECT * FROM #__sportsmanager_einstufung WHERE einstufung_id = $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) == 1) $row = $rows[0]; } @@ -4504,12 +3963,7 @@ function adminEditEinstufung(): void . "\n LEFT JOIN (SELECT rangliste_id, einstufung_rangliste_id, platz_min, platz_max FROM #__sportsmanager_einstufung_rangliste WHERE einstufung_id = $id) AS ranglisten USING (rangliste_id)" . "\n ORDER BY saisonbezeichnung DESC, reihenfolge, bezeichnung, kategorie"; } - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $ranglisten = $db->loadObjectList(); - + $ranglisten = loadObjectList($db, $query); HTML_sportsmanager_admin::adminEditEinstufung($row, $ranglisten); } @@ -4576,12 +4030,7 @@ function adminEditEinstufung(): void $query = "SELECT *" . "\n FROM #__sportsmanager_einstufung_rangliste" . "\n WHERE einstufung_id = $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $bestehende_ranglisten_beruecksichtigt = $db->loadObjectList(); - + $bestehende_ranglisten_beruecksichtigt = loadObjectList($db, $query); foreach ($bestehende_ranglisten_beruecksichtigt as $bestehende_rangliste_beruecksichtigt) { $ist_beruecksichtigt = false; foreach ($ranglisten_beruecksichtigt as $rangliste_id) { @@ -4617,11 +4066,7 @@ function adminEditEinstufung(): void $query = "SELECT COUNT(*)" . "\n FROM #__sportsmanager_rangliste" . "\n WHERE rangliste_id = $rangliste_id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $n = $db->loadResult(); + $n = loadResult($db, $query); if ($n > 0) { $query = "INSERT INTO #__sportsmanager_einstufung_rangliste (einstufung_id, rangliste_id, platz_min, platz_max) VALUES ('$id', '$rangliste_id', '$platz_min', '$platz_max');"; @@ -4686,11 +4131,7 @@ function einstufungAktualisieren($berechnungen_auswerten = false): void . "\n FROM #__sportsmanager_berechnung" . "\n WHERE typ = 'einstufung' AND " . (empty($session_id) ? ("session_id < SUBTIME(NOW(), '00:10:00')") : ("session_id = '" . $session_id . "'")) . "\n ), 1, 0)"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $berechnungen = $db->loadResult(); + $berechnungen = loadResult($db, $query); if (empty($berechnungen) || laufzeit() >= 5) { return; @@ -4709,12 +4150,7 @@ function einstufungAktualisieren($berechnungen_auswerten = false): void $query = "SELECT einstufung_id, prioritaet, typ, elo_min, elo_max" . "\n FROM #__sportsmanager_einstufung"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); - + $rows = loadObjectList($db, $query); $einstufung_prioritaet = array(); $einstufung_typ = array(); foreach ($rows as $row) { @@ -4728,12 +4164,7 @@ function einstufungAktualisieren($berechnungen_auswerten = false): void $query = "SELECT rangliste_id, einstufung_id, platz_min, platz_max" . "\n FROM #__sportsmanager_einstufung_rangliste" . "\n ORDER BY rangliste_id, platz_min, platz_max"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $einstufung_ranglisten = $db->loadObjectList(); - + $einstufung_ranglisten = loadObjectList($db, $query); $einstufungen_per_ranglisten = array(); foreach ($einstufung_ranglisten as $einstufung_rangliste) { $platz_min = $einstufung_rangliste->platz_min; @@ -4750,12 +4181,7 @@ function einstufungAktualisieren($berechnungen_auswerten = false): void . "\n FROM #__sportsmanager_rangliste_punkte" . "\n WHERE rangliste_id = $rangliste_id" . "\n ORDER BY platz"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rangliste_punkte = $db->loadObjectList(); - + $rangliste_punkte = loadObjectList($db, $query); foreach ($rangliste_punkte as $punkte) { foreach ($einstufung as $einstufung_platzierung) { $platz_min = $einstufung_platzierung[1]; @@ -4780,12 +4206,7 @@ function einstufungAktualisieren($berechnungen_auswerten = false): void $query = "SELECT spieler_id, elo_einzel, elo_doppel" . "\n FROM #__sportsmanager_spieler" . "\n WHERE NOT ISNULL(elo_einzel) OR NOT ISNULL(elo_doppel) OR elo_einzel > 0 OR elo_doppel > 0"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $spieler = $db->loadObjectList(); - + $spieler = loadObjectList($db, $query); foreach ($spieler as $s) { $spieler_id = $s->spieler_id; $elo_einzel = $s->elo_einzel; @@ -4859,12 +4280,7 @@ function adminTeamspielmodi(): void $query = "SELECT *, IF(EXISTS(SELECT * FROM #__sportsmanager_veranstaltung WHERE teamspiel_modus_id = modus_id), 1, 0) AS veranstaltungen" . "\n FROM #__sportsmanager_teamspiel_modus" . "\n ORDER BY status DESC, bezeichnung"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); - + $rows = loadObjectList($db, $query); HTML_sportsmanager_admin::adminTeamspielmodi($rows); } @@ -4880,11 +4296,7 @@ function adminEditTeamspielmodus(): void $row = null; if ($id !== null) { $query = "SELECT * FROM #__sportsmanager_teamspiel_modus WHERE teamspiel_modus_id = $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) == 1) $row = $rows[0]; } @@ -4998,11 +4410,7 @@ function adminEditTeamspielmodus(): void $id = $jInput->get('id', 0, 'INT'); $query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_veranstaltung WHERE modus_id = $id), 1, 0)"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $n = $db->loadResult(); + $n = loadResult($db, $query); if ($n > 0) die(Text::_('COM_SPORTSMANAGER_UNABLE_REMOVE_EXISTING_LINKS')); $query = "DELETE FROM #__sportsmanager_teamspiel_modus WHERE teamspiel_modus_id = $id;"; @@ -5025,11 +4433,7 @@ function adminEditTeamspielmodus(): void $id = $jInput->get('id', 0, 'INT'); $query = "SELECT * FROM #__sportsmanager_teamspiel_modus WHERE teamspiel_modus_id = $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die ("Wrong id"); $teamspiel_modus = $rows[0]; @@ -5053,12 +4457,7 @@ function adminVerschiebenModi(): void $query = "SELECT *, IF(EXISTS(SELECT * FROM #__sportsmanager_veranstaltung WHERE #__sportsmanager_veranstaltung.verschieberegel_id = #__sportsmanager_verschieberegel.verschieberegel_id), 1, 0) AS veranstaltungen" . "\n FROM #__sportsmanager_verschieberegel" . "\n ORDER BY bezeichnung"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); - + $rows = loadObjectList($db, $query); HTML_sportsmanager_admin::adminVerschiebenModi($rows); } @@ -5075,11 +4474,7 @@ function adminEditVerschiebenModus(): void $row = null; else { $query = "SELECT * FROM #__sportsmanager_verschieberegel WHERE verschieberegel_id = $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) == 1) $row = $rows[0]; } @@ -5148,11 +4543,7 @@ function adminEditVerschiebenModus(): void $id = $jInput->get('id', 0, 'INT'); $query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_veranstaltung WHERE verschieberegel_id = $id), 1, 0)"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $n = $db->loadResult(); + $n = loadResult($db, $query); if ($n > 0) die(Text::_('COM_SPORTSMANAGER_UNABLE_REMOVE_EXISTING_LINKS')); $query = "DELETE FROM #__sportsmanager_verschieberegel WHERE verschieberegel_id = $id;"; @@ -5172,12 +4563,7 @@ function adminKategorien(): void keinZugriff(true); $query = "SELECT * FROM #__sportsmanager_kategorie ORDER BY typ, nummer"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); - + $rows = loadObjectList($db, $query); $kategorien = array(); $kategorien[1] = array(); $kategorien[2] = array(); @@ -5206,12 +4592,7 @@ function adminKategorien(): void } $query = "SELECT * FROM #__sportsmanager_kategorie ORDER BY typ, nummer"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); - + $rows = loadObjectList($db, $query); $kategorien = array(); $kategorien[1] = array(); $kategorien[2] = array(); @@ -5262,12 +4643,7 @@ function adminRanglistensysteme(): void keinZugriff(true); $query = "SELECT *, (SELECT COUNT(*) FROM #__sportsmanager_rangliste WHERE rangliste_system_id = system_id) AS ranglisten, (SELECT COUNT(*) FROM #__sportsmanager_rangliste_turnierdisziplin WHERE rangliste_system_id = system_id) AS ranglistenturnierdisziplinen FROM #__sportsmanager_rangliste_system ORDER BY status DESC, systembezeichnung"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); - + $rows = loadObjectList($db, $query); $error_level = error_reporting(E_ERROR); $math = new MathParserSM; @@ -5314,20 +4690,12 @@ function adminEditRanglistensystem(): void $typ = $jInput->get('typ', 0, 'INT'); if ($id != null) { $query = "SELECT * FROM #__sportsmanager_rangliste_system WHERE rangliste_system_id = $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die("Wrong id!"); $row = $rows[0]; $query = "SELECT * FROM #__sportsmanager_rangliste_system_punkte WHERE system_id = $id ORDER BY rangliste_system_punkte_id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $punkte = $db->loadObjectList(); + $punkte = loadObjectList($db, $query); } HTML_sportsmanager_admin::adminEditRanglistensystem($row, $punkte, $row != null ? ($row->funktion != null) : $typ); @@ -5421,20 +4789,12 @@ function adminRanglistensystemAuswertung(): void $multiplikator = $jInput->get('multiplikator', 1, 'FLOAT'); $query = "SELECT * FROM #__sportsmanager_rangliste_system WHERE rangliste_system_id = $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die("Wrong id!"); $system = $rows[0]; $query = "SELECT * FROM #__sportsmanager_rangliste_system_punkte WHERE system_id = $id ORDER BY rangliste_system_punkte_id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $systempunkte = $db->loadObjectList(); + $systempunkte = loadObjectList($db, $query); $math = new MathParserSM; if ($system->funktion != NULL) { @@ -5484,19 +4844,11 @@ function adminRanglistensystemAuswertung(): void $id = $jInput->get('id', 0, 'INT'); $query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_rangliste WHERE system_id = $id), 1, 0)"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $n = $db->loadResult(); + $n = loadResult($db, $query); if ($n > 0) die(Text::_('COM_SPORTSMANAGER_UNABLE_REMOVE_EXISTING_LINKS')); $query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_rangliste_turnierdisziplin WHERE system_id = $id), 1, 0)"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $n = $db->loadResult(); + $n = loadResult($db, $query); if ($n > 0) die(Text::_('COM_SPORTSMANAGER_UNABLE_REMOVE_EXISTING_LINKS')); $query = "DELETE FROM #__sportsmanager_rangliste_system_punkte WHERE system_id = $id;"; @@ -5527,11 +4879,7 @@ function adminEditRangliste(): void $rangliste = null; else { $query = "SELECT * FROM #__sportsmanager_rangliste WHERE rangliste_id = $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die ("Wrong id"); $rangliste = $rows[0]; @@ -5541,26 +4889,11 @@ function adminEditRangliste(): void } $query = "SELECT * FROM #__sportsmanager_rangliste_system WHERE status > 0 " . ($id != 0 ? "OR rangliste_system_id = $rangliste->system_id " : "") . "ORDER BY systembezeichnung"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $systeme = $db->loadObjectList(); - + $systeme = loadObjectList($db, $query); $query = "SELECT nummer, bezeichnung FROM #__sportsmanager_kategorie WHERE typ = 4 ORDER BY nummer"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows_kategorien = $db->loadObjectList(); - + $rows_kategorien = loadObjectList($db, $query); $query = "SELECT * FROM #__sportsmanager_saison ORDER BY saisonbezeichnung DESC"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $saisons = $db->loadObjectList(); - + $saisons = loadObjectList($db, $query); $kategorien = array(); foreach ($rows_kategorien as $kategorie) $kategorien[$kategorie->nummer] = $kategorie->bezeichnung; @@ -5699,16 +5032,12 @@ function adminEditRangliste(): void $id = $jInput->get('id', 0, 'INT'); $query = "SELECT * FROM #__sportsmanager_rangliste WHERE rangliste_id = $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die("Wrong id!"); $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)" - . "\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) . "');"; + $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->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); if (!$db->execute()) { die($db->stderr(true)); @@ -5718,12 +5047,7 @@ function adminEditRangliste(): void // Disziplinen kopieren $query = "SELECT * FROM #__sportsmanager_rangliste_turnierdisziplin WHERE rangliste_id = $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); - + $rows = loadObjectList($db, $query); foreach ($rows as $row) { $query = "INSERT INTO #__sportsmanager_rangliste_turnierdisziplin (rangliste_id, turnierdisziplin_id, system_id, wertung, doppel_teilwertung)" . "\n VALUES ($ziel_rangliste_id, '$row->turnierdisziplin_id', " . ($row->system_id == null ? "null" : "'$row->system_id'") . ", '$row->wertung', '$row->doppel_teilwertung');"; @@ -5748,11 +5072,7 @@ function adminRanglisteTurnierdisziplinen(): void if ($rangliste_id == 0) die ("Wrong id!"); $query = "SELECT * FROM #__sportsmanager_rangliste WHERE rangliste_id = $rangliste_id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $ranglisten = $db->loadObjectList(); + $ranglisten = loadObjectList($db, $query); if (count($ranglisten) < 1) die ("Wrong id"); $rangliste = $ranglisten[0]; @@ -5763,12 +5083,7 @@ function adminRanglisteTurnierdisziplinen(): void . "\n LEFT JOIN #__sportsmanager_rangliste_system ON system_id = rangliste_system_id" . "\n WHERE rangliste_id = $rangliste_id" . "\n ORDER BY #__sportsmanager_turnier.erster_tag DESC, disziplin"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $turnierdisziplinen = $db->loadObjectList(); - + $turnierdisziplinen = loadObjectList($db, $query); HTML_sportsmanager_admin::adminRanglisteTurnierdisziplinen($rangliste, $turnierdisziplinen); } @@ -5787,21 +5102,13 @@ function adminEditRanglisteTurnierdisziplin(): void $ranglisteTurnierdisziplin = null; else { $query = "SELECT * FROM #__sportsmanager_rangliste_turnierdisziplin WHERE rangliste_turnierdisziplin_id = $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die ("Wrong id"); $ranglisteTurnierdisziplin = $rows[0]; } $query = "SELECT * FROM #__sportsmanager_rangliste WHERE rangliste_id = $rangliste_id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $ranglisten = $db->loadObjectList(); + $ranglisten = loadObjectList($db, $query); if (count($ranglisten) < 1) die ("Wrong id"); $rangliste = $ranglisten[0]; @@ -5813,19 +5120,9 @@ function adminEditRanglisteTurnierdisziplin(): void if ($rangliste->letzter_tag != null) $query .= " AND (ISNULL(erster_tag) OR DATEDIFF('$rangliste->letzter_tag', letzter_Tag) >= -366" . ($ranglisteTurnierdisziplin != null ? " OR $ranglisteTurnierdisziplin->turnierdisziplin_id = turnierdisziplin_id" : "") . ")"; $query .= "\n ORDER BY erster_tag DESC, turnierbezeichnung, reihenfolge, disziplin"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $turnierdisziplinen = $db->loadObjectList(); - + $turnierdisziplinen = loadObjectList($db, $query); $query = "SELECT * FROM #__sportsmanager_rangliste_system WHERE status != 0 " . ($id != 0 && $ranglisteTurnierdisziplin->system_id != null ? "OR rangliste_system_id = $ranglisteTurnierdisziplin->system_id " : "") . "ORDER BY systembezeichnung"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $systeme = $db->loadObjectList(); - + $systeme = loadObjectList($db, $query); HTML_sportsmanager_admin::adminEditRanglisteTurnierdisziplin($rangliste, $ranglisteTurnierdisziplin, $turnierdisziplinen, $systeme); } @@ -5950,33 +5247,19 @@ function adminEditSpielerstatistik(): void $spielerstatistik = null; else { $query = "SELECT * FROM #__sportsmanager_bestenliste WHERE bestenliste_id = $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die ("Wrong id"); $spielerstatistik = $rows[0]; } $query = "SELECT nummer, bezeichnung FROM #__sportsmanager_kategorie WHERE typ = 5 ORDER BY nummer"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows_kategorien = $db->loadObjectList(); - + $rows_kategorien = loadObjectList($db, $query); $kategorien = array(); foreach ($rows_kategorien as $kategorie) $kategorien[$kategorie->nummer] = $kategorie->bezeichnung; $query = "SELECT * FROM #__sportsmanager_saison ORDER BY saisonbezeichnung DESC"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $saisons = $db->loadObjectList(); - + $saisons = loadObjectList($db, $query); HTML_sportsmanager_admin::adminEditSpielerstatistik($spielerstatistik, $kategorien, $saisons); } @@ -6007,11 +5290,7 @@ function adminEditSpielerstatistik(): void $query = "INSERT INTO #__sportsmanager_bestenliste (bezeichnung, saison_id, erster_tag " . ($letzter_tag != null ? ", letzter_tag" : "") . " , tabellenwertung, typ, status, reihenfolge, kategorie) VALUES ('$bezeichnung', '$saison_id', '$erster_tag', " . ($letzter_tag != null ? "'$letzter_tag', " : "") . "'$tabellenwertung', '$typ', '$status', '$reihenfolge', '$kategorie');"; } else { $query = "SELECT * FROM #__sportsmanager_bestenliste WHERE bestenliste_id = $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die ("Wrong id"); $spielerstatistik = $rows[0]; @@ -6091,11 +5370,7 @@ function adminEditSpielerstatistik(): void $id = $jInput->get('id', 0, 'INT'); $query = "SELECT * FROM #__sportsmanager_bestenliste WHERE bestenliste_id = $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die("Wrong id!"); $spielerstatistik = $rows[0]; @@ -6108,12 +5383,7 @@ function adminEditSpielerstatistik(): void $ziel_spielerstatistik_id = $db->insertid(); $query = "SELECT * FROM #__sportsmanager_bestenliste_veranstaltung WHERE bestenliste_id = $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); - + $rows = loadObjectList($db, $query); foreach ($rows as $row) { $query = "INSERT INTO #__sportsmanager_bestenliste_veranstaltung (bestenliste_id, veranstaltung_id)" . "\n VALUES ($ziel_spielerstatistik_id, $row->veranstaltung_id);"; @@ -6124,12 +5394,7 @@ function adminEditSpielerstatistik(): void } $query = "SELECT * FROM #__sportsmanager_bestenliste_individualwettbewerb WHERE bestenliste_id = $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); - + $rows = loadObjectList($db, $query); foreach ($rows as $row) { $query = "INSERT INTO #__sportsmanager_bestenliste_individualwettbewerb (bestenliste_id, individualwettbewerb_id)" . "\n VALUES ($ziel_spielerstatistik_id, $row->individualwettbewerb_id);"; @@ -6156,11 +5421,7 @@ function adminSpielerstatistikVeranstaltungen(): void if ($spielerstatistik_id == 0) die ("Wrong id!"); $query = "SELECT * FROM #__sportsmanager_bestenliste WHERE bestenliste_id = $spielerstatistik_id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $spielerstatistiken = $db->loadObjectList(); + $spielerstatistiken = loadObjectList($db, $query); if (count($spielerstatistiken) < 1) die ("Wrong id"); $spielerstatistik = $spielerstatistiken[0]; @@ -6170,24 +5431,14 @@ function adminSpielerstatistikVeranstaltungen(): void . "\n LEFT JOIN #__sportsmanager_saison ON #__sportsmanager_saison.saison_id = #__sportsmanager_veranstaltung.saison_id" . "\n WHERE bestenliste_id = $spielerstatistik_id" . "\n ORDER BY YEAR(letzter_tag) DESC, reihenfolge, letzter_tag DESC, bezeichnung, kategorie"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $veranstaltungen = $db->loadObjectList(); - + $veranstaltungen = loadObjectList($db, $query); $query = "SELECT #__sportsmanager_bestenliste_individualwettbewerb.*, bezeichnung, saisonbezeichnung" . "\n FROM #__sportsmanager_bestenliste_individualwettbewerb" . "\n LEFT JOIN #__sportsmanager_individualwettbewerb USING (individualwettbewerb_id)" . "\n LEFT JOIN #__sportsmanager_saison ON #__sportsmanager_saison.saison_id = #__sportsmanager_individualwettbewerb.saison_id" . "\n WHERE bestenliste_id = $spielerstatistik_id" . "\n ORDER BY saisonbezeichnung, reihenfolge, bezeichnung, kategorie"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $individualwettbewerbe = $db->loadObjectList(); - + $individualwettbewerbe = loadObjectList($db, $query); HTML_sportsmanager_admin::adminSpielerstatistikVeranstaltungen($spielerstatistik, $veranstaltungen, $individualwettbewerbe); } @@ -6206,21 +5457,13 @@ function adminEditSpielerstatistikVeranstaltung(): void $spielerstatistikVeranstaltung = null; else { $query = "SELECT * FROM #__sportsmanager_bestenliste_veranstaltung WHERE bestenliste_veranstaltung_id = $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die ("Wrong id"); $spielerstatistikVeranstaltung = $rows[0]; } $query = "SELECT * FROM #__sportsmanager_bestenliste WHERE bestenliste_id = $spielerstatistik_id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $spielerstatistiken = $db->loadObjectList(); + $spielerstatistiken = loadObjectList($db, $query); if (count($spielerstatistiken) < 1) die ("Wrong id"); $spielerstatistik = $spielerstatistiken[0]; @@ -6230,12 +5473,7 @@ function adminEditSpielerstatistikVeranstaltung(): void if ($spielerstatistik->letzter_tag != null) $query .= ($spielerstatistik->erster_tag != null ? " AND" : "\n WHERE") . " (ISNULL(erster_tag) OR DATEDIFF('$spielerstatistik->letzter_tag', letzter_Tag) >= -366" . ($spielerstatistikVeranstaltung != null ? " OR $spielerstatistikVeranstaltung->veranstaltung_id = veranstaltung_id" : "") . ")"; $query .= "\n ORDER BY YEAR(letzter_tag) DESC, reihenfolge, letzter_tag DESC, bezeichnung, kategorie"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $veranstaltungen = $db->loadObjectList(); - + $veranstaltungen = loadObjectList($db, $query); HTML_sportsmanager_admin::adminEditSpielerstatistikVeranstaltung($spielerstatistik, $spielerstatistikVeranstaltung, $veranstaltungen); } @@ -6307,33 +5545,20 @@ function adminEditSpielerstatistikIndividualwettbewerb(): void $spielerstatistikIndividualwettbewerb = null; else { $query = "SELECT * FROM #__sportsmanager_bestenliste_individualwettbewerb WHERE bestenliste_individualwettbewerb_id = $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die ("Wrong id"); $spielerstatistikIndividualwettbewerb = $rows[0]; } $query = "SELECT * FROM #__sportsmanager_bestenliste WHERE bestenliste_id = $spielerstatistik_id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $spielerstatistiken = $db->loadObjectList(); + $spielerstatistiken = loadObjectList($db, $query); if (count($spielerstatistiken) < 1) die ("Wrong id"); $spielerstatistik = $spielerstatistiken[0]; $query = "SELECT * FROM #__sportsmanager_individualwettbewerb" . "\n LEFT JOIN #__sportsmanager_saison USING (saison_id)" . "\n ORDER BY saisonbezeichnung DESC, reihenfolge, bezeichnung, kategorie"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $individualwettbewerbe = $db->loadObjectList(); - + $individualwettbewerbe = loadObjectList($db, $query); HTML_sportsmanager_admin::adminEditSpielerstatistikIndividualwettbewerb($spielerstatistik, $spielerstatistikIndividualwettbewerb, $individualwettbewerbe); } @@ -6425,12 +5650,7 @@ function adminModeratoren(): void keinZugriff(true); $query = "SELECT t1.moderator_id, t1.moderator_user_id, t2.name, t2.username, (SELECT COUNT(*) FROM #__sportsmanager_moderator_zugriff WHERE #__sportsmanager_moderator_zugriff.moderator_id = t1.moderator_id) AS zugriffe FROM #__sportsmanager_moderator as t1 LEFT JOIN #__users AS t2 ON t1.moderator_user_id=t2.id ORDER BY name, username"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); - + $rows = loadObjectList($db, $query); HTML_sportsmanager_admin::adminModeratoren($rows); } @@ -6447,11 +5667,7 @@ function adminEditModerator(): void $row = null; if ($id != 0) { $query = "SELECT * FROM #__sportsmanager_moderator WHERE moderator_id = $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die("Wrong id!"); $row = $rows[0]; } @@ -6460,20 +5676,11 @@ function adminEditModerator(): void $zugriffe = null; } else { $query = "SELECT * FROM #__sportsmanager_moderator_zugriff WHERE moderator_id = $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $zugriffe = $db->loadObjectList(); + $zugriffe = loadObjectList($db, $query); } $query = "SELECT * FROM #__users ORDER BY name, username"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $users = $db->loadObjectList(); - + $users = loadObjectList($db, $query); HTML_sportsmanager_admin::adminEditModerator($row, $zugriffe, $users); } @@ -6512,12 +5719,7 @@ function adminEditModerator(): void } $query = "SELECT * FROM #__sportsmanager_moderator_zugriff WHERE moderator_id = $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $alte_zugriffe = $db->loadObjectList(); - + $alte_zugriffe = loadObjectList($db, $query); foreach ($alte_zugriffe as $alter_zugriff) { if (!in_array($alter_zugriff->zugriff, $zugriffe)) { $alter_zugriff_id = $alter_zugriff->moderator_zugriff_id; @@ -6587,12 +5789,7 @@ function adminVeranstalter(): void . "\n (SELECT COUNT(*) FROM #__sportsmanager_individualwettbewerb WHERE #__sportsmanager_veranstalter.veranstalter_id = #__sportsmanager_individualwettbewerb.veranstalter_id) AS individualwettbewerbe" . "\n FROM #__sportsmanager_veranstalter" . "\n ORDER BY veranstalterbezeichnung"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); - + $rows = loadObjectList($db, $query); HTML_sportsmanager_admin::adminVeranstalter($rows); } @@ -6610,36 +5807,18 @@ function adminEditVeranstalter(): void $berechtigt_fuer_veranstalter = array(); } else { $query = "SELECT * FROM #__sportsmanager_veranstalter WHERE veranstalter_id = $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) == 1) $row = $rows[0]; $query = "SELECT #__sportsmanager_berechtigt_fuer_veranstalter.* FROM #__sportsmanager_berechtigt_fuer_veranstalter, #__users WHERE berechtigt_user_id = id AND berechtigt_veranstalter_id = $id ORDER BY username, name"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $berechtigt_fuer_veranstalter = $db->loadObjectList(); + $berechtigt_fuer_veranstalter = loadObjectList($db, $query); } $query = "SELECT * FROM #__users ORDER BY name, username"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $users = $db->loadObjectList(); - + $users = loadObjectList($db, $query); $query = "SELECT nummer, bezeichnung FROM #__sportsmanager_kategorie WHERE typ = 1 ORDER BY nummer"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows_kategorien = $db->loadObjectList(); - + $rows_kategorien = loadObjectList($db, $query); $kategorien = array(); foreach ($rows_kategorien as $kategorie) $kategorien[$kategorie->nummer] = $kategorie->bezeichnung; @@ -6694,12 +5873,7 @@ function adminEditVeranstalter(): void } $query = "SELECT * FROM #__sportsmanager_berechtigt_fuer_veranstalter WHERE berechtigt_veranstalter_id = $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); - + $rows = loadObjectList($db, $query); for ($nummer = 0; $nummer <= 5; $nummer++) { $berechtigt_user_id = $berechtigt_fuer_veranstalter_user_ids[$nummer]; if ($berechtigt_user_id != 0) { @@ -6732,35 +5906,19 @@ function adminEditVeranstalter(): void $id = $jInput->get('id', 0, 'INT'); $query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_veranstaltung WHERE veranstalter_id = $id), 1, 0)"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $n = $db->loadResult(); + $n = loadResult($db, $query); if ($n > 0) die(Text::_('COM_SPORTSMANAGER_UNABLE_REMOVE_EXISTING_LINKS')); $query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_verein WHERE veranstalter_id = $id), 1, 0)"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $n = $db->loadResult(); + $n = loadResult($db, $query); if ($n > 0) die(Text::_('COM_SPORTSMANAGER_UNABLE_REMOVE_EXISTING_LINKS')); $query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_turnier WHERE veranstalter_id = $id), 1, 0)"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $n = $db->loadResult(); + $n = loadResult($db, $query); if ($n > 0) die(Text::_('COM_SPORTSMANAGER_UNABLE_REMOVE_EXISTING_LINKS')); $query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_individualwettbewerb WHERE veranstalter_id = $id), 1, 0)"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $n = $db->loadResult(); + $n = loadResult($db, $query); if ($n > 0) die(Text::_('COM_SPORTSMANAGER_UNABLE_REMOVE_EXISTING_LINKS')); $query = "UPDATE #__sportsmanager_rechnung SET veranstalter_id = NULL WHERE veranstalter_id = $id;"; @@ -6798,12 +5956,7 @@ function adminSaisons(): void . "\n IF(EXISTS(SELECT * FROM #__sportsmanager_bestenliste WHERE #__sportsmanager_bestenliste.saison_id = #__sportsmanager_saison.saison_id), 1, 0) AS bestenlisten" . "\n FROM #__sportsmanager_saison" . "\n ORDER BY saisonbezeichnung DESC"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); - + $rows = loadObjectList($db, $query); HTML_sportsmanager_admin::adminSaisons($rows); } @@ -6820,11 +5973,7 @@ function adminEditSaison(): void $row = null; else { $query = "SELECT * FROM #__sportsmanager_saison WHERE saison_id = $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die("Wrong id!"); $row = $rows[0]; } @@ -6879,12 +6028,7 @@ function adminEditSaison(): void . "\n IF(EXISTS(SELECT * FROM #__sportsmanager_bestenliste WHERE #__sportsmanager_bestenliste.saison_id = #__sportsmanager_saison.saison_id), 1, 0) AS bestenlisten" . "\n FROM #__sportsmanager_saison" . "\n WHERE saison_id = $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); - + $rows = loadObjectList($db, $query); $row = $rows[0]; if ($row->veranstaltungen != 0 || $row->turniere != 0 || $row->ranglisten != 0 || $row->bestenlisten != 0) die(Text::_('COM_SPORTSMANAGER_UNABLE_REMOVE_EXISTING_LINKS')); @@ -6911,73 +6055,35 @@ function adminEditVeranstaltung(): void $row = null; else { $query = "SELECT * FROM #__sportsmanager_veranstaltung WHERE veranstaltung_id = $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die("Wrong id!"); $row = $rows[0]; } $vorlage = $jInput->get('vorlage', 0, 'INT'); $query = "SELECT * FROM #__sportsmanager_veranstalter ORDER BY veranstalterbezeichnung"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $veranstalter = $db->loadObjectList(); - + $veranstalter = loadObjectList($db, $query); $query = "SELECT * FROM #__sportsmanager_teamspiel_modus WHERE status != 0 " . ($id != 0 ? "OR teamspiel_modus_id = $row->modus_id " : "") . "ORDER BY bezeichnung"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $spielmodi = $db->loadObjectList(); - + $spielmodi = loadObjectList($db, $query); $query = "SELECT * FROM #__sportsmanager_verschieberegel ORDER BY bezeichnung"; // WHERE status != 0 " . ($id != 0 ? "OR teamspiel_modus_id = $row->modus_id " : "") . "ORDER BY bezeichnung"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $verschieberegeln = $db->loadObjectList(); - + $verschieberegeln = loadObjectList($db, $query); $query = "SELECT nummer, bezeichnung FROM #__sportsmanager_kategorie WHERE typ = 2 ORDER BY nummer"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows_kategorien = $db->loadObjectList(); - + $rows_kategorien = loadObjectList($db, $query); $kategorien = array(); foreach ($rows_kategorien as $kategorie) $kategorien[$kategorie->nummer] = $kategorie->bezeichnung; $query = "SELECT * FROM #__sportsmanager_saison ORDER BY saisonbezeichnung DESC"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $saisons = $db->loadObjectList(); - + $saisons = loadObjectList($db, $query); if (empty($id)) { $berechtigt_fuer_veranstaltung = array(); } else { $query = "SELECT #__sportsmanager_berechtigt_fuer_veranstaltung.* FROM #__sportsmanager_berechtigt_fuer_veranstaltung, #__users WHERE berechtigt_user_id = id AND berechtigt_veranstaltung_id = $id ORDER BY username, name"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $berechtigt_fuer_veranstaltung = $db->loadObjectList(); + $berechtigt_fuer_veranstaltung = loadObjectList($db, $query); } $query = "SELECT * FROM #__users ORDER BY name, username"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $users = $db->loadObjectList(); - + $users = loadObjectList($db, $query); HTML_sportsmanager_admin::adminEditVeranstaltung($row, $veranstalter, $spielmodi, $verschieberegeln, $kategorien, $saisons, $users, $berechtigt_fuer_veranstaltung, $vorlage); } @@ -7005,7 +6111,9 @@ function adminEditVeranstaltung(): void $modus_id = $jInput->get('modus_id', 0, 'INT'); $verschieberegel_id = $jInput->get('verschieberegel_id', 0, 'INT'); $tabellenwertung = $jInput->get('tabellenwertung', 0, 'INT'); + $direktervergleich = $jInput->get('direktervergleich', 0, 'INT'); $unterteilung = $jInput->get('unterteilung', 0, 'INT'); + $spieltag_titel_zeigen = $jInput->get('spieltag_titel_zeigen', 0, 'INT'); $elo_wertung = $jInput->get('elo_wertung', 0, 'INT'); $logo_url = $db->escape(trim($jInput->get('logo_url', '', 'RAW'))); $ticker_logo_url = $db->escape(trim($jInput->get('ticker_logo_url', '', 'RAW'))); @@ -7024,8 +6132,8 @@ function adminEditVeranstaltung(): void $elo_aktualisieren = false; $spielerstatistik_aktualisieren = false; 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 - ('$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');"; + $query = "INSERT INTO #__sportsmanager_veranstaltung (veranstalter_id, saison_id, bezeichnung, erster_tag " . ($letzter_tag != null ? ", letzter_tag" : "") . ", modus_id, verschieberegel_id, tabellenwertung, direktervergleich, unterteilung, spieltag_titel_zeigen, 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', '$direktervergleich', '$unterteilung', '$spieltag_titel_zeigen', '$elo_wertung', '$logo_url', '$ticker_logo_url', '$status', '$reihenfolge', '$kategorie');"; $db->setQuery($query); if (!$db->execute()) { die($db->stderr(true)); @@ -7033,11 +6141,7 @@ function adminEditVeranstaltung(): void $id = $db->insertid(); } else { $query = "SELECT * FROM #__sportsmanager_veranstaltung WHERE veranstaltung_id = $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) { redirectSportsManagerURL('&task=admin_uebersicht', "Die Veranstaltung existiert nicht mehr!"); } @@ -7052,7 +6156,9 @@ function adminEditVeranstaltung(): void . "\n modus_id = '$modus_id'," . "\n verschieberegel_id = '$verschieberegel_id'," . "\n tabellenwertung = '$tabellenwertung'," + . "\n direktervergleich = '$direktervergleich'," . "\n unterteilung = '$unterteilung'," + . "\n spieltag_titel_zeigen = '$spieltag_titel_zeigen'," . "\n elo_wertung = '$elo_wertung'," . "\n logo_url = '$logo_url'," . "\n ticker_logo_url = '$ticker_logo_url'," @@ -7081,12 +6187,7 @@ function adminEditVeranstaltung(): void } $query = "SELECT * FROM #__sportsmanager_berechtigt_fuer_veranstaltung WHERE berechtigt_veranstaltung_id = $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); - + $rows = loadObjectList($db, $query); foreach ($rows as $row) { $index = array_search($row->berechtigt_user_id, $berechtigt_fuer_veranstaltung_user_ids); if ($index !== false) { @@ -7147,11 +6248,7 @@ function adminEditVeranstaltung(): void $id = $jInput->get('id', 0, 'INT'); $query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_team WHERE veranstaltung_id = $id), 1, 0)"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $n = $db->loadResult(); + $n = loadResult($db, $query); if ($n > 0) die(Text::_('COM_SPORTSMANAGER_UNABLE_REMOVE_EXISTING_LINKS')); $query = "DELETE FROM #__sportsmanager_bestenliste_veranstaltung WHERE veranstaltung_id = $id;"; @@ -7192,11 +6289,7 @@ function adminMannschaften(): void keinZugriff(true); $query = "SELECT * FROM #__sportsmanager_veranstaltung WHERE veranstaltung_id = $veranstaltungId"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die("Wrong id!"); $veranstaltung = $rows[0]; @@ -7218,12 +6311,7 @@ function adminMannschaften(): void . "\n LEFT JOIN #__sportsmanager_spielort ON #__sportsmanager_spielort.spielort_id = #__sportsmanager_team.heimspielort_id" . "\n WHERE #__sportsmanager_team.veranstaltung_id = $veranstaltungId" . "\n ORDER BY teamname"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); - + $rows = loadObjectList($db, $query); HTML_sportsmanager_admin::adminMannschaften($veranstaltung, $rows); } @@ -7245,11 +6333,7 @@ function adminEditMannschaft(): void $teamansprechpartner = null; } else { $query = "SELECT * FROM #__sportsmanager_team WHERE team_id = $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) == 1) $row = $rows[0]; @@ -7257,26 +6341,13 @@ function adminEditMannschaft(): void die("Wrong id!"); $query = "SELECT t1.* FROM #__sportsmanager_berechtigt_fuer_team AS t1, #__users AS t2 WHERE t1.berechtigt_user_id = t2.id AND berechtigt_team_id = $id ORDER BY username, name"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $berechtigt_fuer_team = $db->loadObjectList(); - + $berechtigt_fuer_team = loadObjectList($db, $query); $query = "SELECT * FROM #__sportsmanager_teamansprechpartner WHERE team_id = $id ORDER BY kontaktperson_id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $teamansprechpartner = $db->loadObjectList(); + $teamansprechpartner = loadObjectList($db, $query); } $query = "SELECT * FROM #__sportsmanager_veranstaltung WHERE veranstaltung_id = $veranstaltungId"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die("Wrong id!"); $veranstaltung = $rows[0]; @@ -7285,28 +6356,13 @@ function adminEditMannschaft(): void . "\n LEFT JOIN #__sportsmanager_veranstalter USING (veranstalter_id)" . "\n WHERE NOT ausgetreten" . (!empty($row) && !empty($row->verein_id) ? " OR verein_id = $row->verein_id" : "") . "\n ORDER BY veranstalterbezeichnung, vereinsname"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $vereine = $db->loadObjectList(); - + $vereine = loadObjectList($db, $query); $query = "SELECT * FROM #__users ORDER BY name, username"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $users = $db->loadObjectList(); - + $users = loadObjectList($db, $query); $query = "SELECT *" . "\n FROM #__sportsmanager_spielort" . "\n ORDER BY ortsname, name, ortsteil"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $spielorte = $db->loadObjectList(); - + $spielorte = loadObjectList($db, $query); $beschraenkter_zugriff_veranstaltungen = benutzerZugriff("mannschaftswettbewerb_aendern") ? 0 : 1; if ($beschraenkter_zugriff_veranstaltungen) { if (empty($id) || empty($row->teamgruppe_id)) { @@ -7339,12 +6395,7 @@ function adminEditMannschaft(): void . "\n ORDER BY YEAR(letzter_tag) DESC, reihenfolge, letzter_tag DESC, bezeichnung, kategorie"; } } - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $veranstaltungen = $db->loadObjectList(); - + $veranstaltungen = loadObjectList($db, $query); HTML_sportsmanager_admin::adminEditMannschaft($veranstaltung, $row, $veranstaltungen, $vereine, $users, $berechtigt_fuer_team, $teamansprechpartner, $spielorte, $beschraenkter_zugriff_veranstaltungen); } @@ -7370,6 +6421,7 @@ function adminEditMannschaft(): void $beschraenkter_zugriff_veranstaltungen_ids = $beschraenkter_zugriff_veranstaltungen ? benutzerVeranstaltungIdsModerator() : null; $teamname = $db->escape(trim($jInput->get('teamname', '', 'RAW'))); + $teamname_kurz = $db->escape(trim($jInput->get('teamname_kurz', '', 'RAW'))); $platz = $jInput->get('platz', 0, 'INT'); $verein_id = $jInput->get('verein_id', 0, 'INT'); $tischtyp = $db->escape(trim($jInput->get('tischtyp', '', 'RAW'))); @@ -7398,18 +6450,14 @@ function adminEditMannschaft(): void } $query = "SELECT * FROM #__sportsmanager_veranstaltung WHERE veranstaltung_id = $veranstaltungId"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die("Wrong id!"); $veranstaltung = $rows[0]; if ($id == 0) { - $query = "INSERT INTO #__sportsmanager_team (verein_id, veranstaltung_id, teamname, tischtyp, tischeigenschaften, heimspiel_wochentag, heimspiel_uhrzeit, heimspielort_id, nichtraucherschutz, zusatzpunkte" . ($veranstaltung->tabellenwertung == -2 ? ", platz" : "") . ", pin)" - . "\n VALUES (" . ($verein_id != 0 ? "'$verein_id'" : "NULL") . ", '$veranstaltungId', '$teamname', '$tischtyp', '$tischeigenschaften', '$heimspiel_wochentag', '$heimspiel_uhrzeit', " . ($heimspielort_id != 0 ? "'$heimspielort_id'" : "NULL") . ", '$nichtraucherschutz', '$zusatzpunkte'" . ($veranstaltung->tabellenwertung == -2 ? ($platz != 0 ? ", '$platz'" : ", NULL") : "") . ", '$pin');"; - $db->setQuery($query); + $query = "INSERT INTO #__sportsmanager_team (verein_id, veranstaltung_id, teamname, teamname_kurz, tischtyp, tischeigenschaften, heimspiel_wochentag, heimspiel_uhrzeit, heimspielort_id, nichtraucherschutz, zusatzpunkte" . ($veranstaltung->tabellenwertung == -2 ? ", platz" : "") . ", pin)" + . "\n VALUES (" . ($verein_id != 0 ? "'$verein_id'" : "NULL") . ", '$veranstaltungId', '$teamname', '$teamname_kurz', '$tischtyp', '$tischeigenschaften', '$heimspiel_wochentag', '$heimspiel_uhrzeit', " . ($heimspielort_id != 0 ? "'$heimspielort_id'" : "NULL") . ", '$nichtraucherschutz', '$zusatzpunkte'" . ($veranstaltung->tabellenwertung == -2 ? ($platz != 0 ? ", '$platz'" : ", NULL") : "") . ", '$pin');"; + $db->setQuery($query); if (!$db->execute()) { die($db->stderr(true)); } @@ -7419,11 +6467,7 @@ function adminEditMannschaft(): void } else { $query = "SELECT * FROM #__sportsmanager_team" . "\n WHERE team_id = $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $teams = $db->loadObjectList(); + $teams = loadObjectList($db, $query); if (count($teams) == 0) die("Wrong id!"); $team_alt = $teams[0]; $teamgruppe_id = $team_alt->teamgruppe_id != null ? $team_alt->teamgruppe_id : $id; @@ -7434,6 +6478,7 @@ function adminEditMannschaft(): void $query = "UPDATE #__sportsmanager_team" . "\n SET verein_id = " . ($verein_id != 0 ? "'$verein_id'" : "NULL") . "," . "\n teamname = '$teamname'," + . "\n teamname_kurz = '$teamname_kurz'," . "\n tischtyp = '$tischtyp'," . "\n tischeigenschaften = '$tischeigenschaften'," . "\n heimspiel_wochentag = '$heimspiel_wochentag'," @@ -7460,12 +6505,7 @@ function adminEditMannschaft(): void } $query = "SELECT * FROM #__sportsmanager_berechtigt_fuer_team WHERE berechtigt_team_id = $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); - + $rows = loadObjectList($db, $query); for ($nummer = 0; $nummer <= 5; $nummer++) { $berechtigt_user_id = $berechtigt_fuer_team_user_ids[$nummer]; if ($berechtigt_user_id != 0) { @@ -7547,12 +6587,7 @@ function adminEditMannschaft(): void $query = "SELECT team_id, veranstaltung_id" . "\n FROM #__sportsmanager_team" . "\n WHERE team_id != $id AND teamgruppe_id = $teamgruppe_id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $bestehende_weitere_veranstaltungen_beruecksichtigt = $db->loadObjectList(); - + $bestehende_weitere_veranstaltungen_beruecksichtigt = loadObjectList($db, $query); $veranstaltungen_aktualisieren = array(); foreach ($bestehende_weitere_veranstaltungen_beruecksichtigt as $bestehende_weitere_veranstaltung_beruecksichtigt) { if ($beschraenkter_zugriff_veranstaltungen && !in_array($bestehende_weitere_veranstaltung_beruecksichtigt->veranstaltung_id, $beschraenkter_zugriff_veranstaltungen_ids)) @@ -7609,11 +6644,7 @@ function mannschaftsgruppe_hinzufuegen($quelle_team_id, $ziel_veranstaltung_id) $query = "SELECT * FROM #__sportsmanager_team" . "\n WHERE team_id = $quelle_team_id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $teams = $db->loadObjectList(); + $teams = loadObjectList($db, $query); if (count($teams) == 0) die("Wrong id!"); $team = $teams[0]; $teamgruppe_id = $team->teamgruppe_id != null ? $team->teamgruppe_id : $quelle_team_id; @@ -7621,22 +6652,14 @@ function mannschaftsgruppe_hinzufuegen($quelle_team_id, $ziel_veranstaltung_id) $query = "SELECT COUNT(*)" . "\n FROM #__sportsmanager_team" . "\n WHERE teamgruppe_id = $teamgruppe_id AND veranstaltung_id = $ziel_veranstaltung_id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $n = $db->loadResult(); + $n = loadResult($db, $query); if ($n > 0) return false; $query = "SELECT COUNT(*)" . "\n FROM #__sportsmanager_veranstaltung" . "\n WHERE veranstaltung_id = $ziel_veranstaltung_id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $n = $db->loadResult(); + $n = loadResult($db, $query); if ($n == 0) die("Wrong id!"); $query = "INSERT INTO #__sportsmanager_team (verein_id, veranstaltung_id, teamname, tischtyp, tischeigenschaften, heimspiel_wochentag, heimspiel_uhrzeit, heimspielort_id, nichtraucherschutz, pin)" @@ -7660,11 +6683,7 @@ function mannschaftsgruppe_verknuepfen($quelle_team_id, $ziel_team_id, $mannscha $query = "SELECT * FROM #__sportsmanager_team" . "\n WHERE team_id = $quelle_team_id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $teams = $db->loadObjectList(); + $teams = loadObjectList($db, $query); if (count($teams) === 0) die("Wrong id!"); $team = $teams[0]; $teamgruppe_id = $team->teamgruppe_id != null ? $team->teamgruppe_id : $quelle_team_id; @@ -7685,6 +6704,7 @@ function mannschaftsgruppe_verknuepfen($quelle_team_id, $ziel_team_id, $mannscha . "\n SET teamgruppe_id = '$teamgruppe_id'," . "\n verein_id = " . ($team->verein_id == null ? "NULL" : "'$team->verein_id'") . "," . "\n teamname = '" . $db->escape($team->teamname) . "'," + . "\n teamname_kurz = '" . $db->escape($team->teamname_kurz) . "'," . "\n tischtyp = '" . $db->escape($team->tischtyp) . "'," . "\n tischeigenschaften = '" . $db->escape($team->tischeigenschaften) . "'," . "\n heimspiel_wochentag = '" . $db->escape($team->heimspiel_wochentag) . "'," @@ -7700,19 +6720,9 @@ function mannschaftsgruppe_verknuepfen($quelle_team_id, $ziel_team_id, $mannscha // Teamvertreter kopieren $query = "SELECT * FROM #__sportsmanager_berechtigt_fuer_team WHERE berechtigt_team_id = $quelle_team_id ORDER BY berechtigt_fuer_team_id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $quelle_teamvertreter = $db->loadObjectList(); - + $quelle_teamvertreter = loadObjectList($db, $query); $query = "SELECT * FROM #__sportsmanager_berechtigt_fuer_team WHERE berechtigt_team_id = $ziel_team_id ORDER BY berechtigt_fuer_team_id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $ziel_teamvertreter = $db->loadObjectList(); - + $ziel_teamvertreter = loadObjectList($db, $query); $quelle_teamvertreter_anzahl = count($quelle_teamvertreter); $ziel_teamvertreter_anzahl = count($ziel_teamvertreter); for ($i = 0; $i < $quelle_teamvertreter_anzahl; $i++) { @@ -7743,19 +6753,9 @@ function mannschaftsgruppe_verknuepfen($quelle_team_id, $ziel_team_id, $mannscha // Ansprechpartner kopieren $query = "SELECT * FROM #__sportsmanager_teamansprechpartner WHERE team_id = $quelle_team_id ORDER BY kontaktperson_id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $quelle_ansprechpartner = $db->loadObjectList(); - + $quelle_ansprechpartner = loadObjectList($db, $query); $query = "SELECT * FROM #__sportsmanager_teamansprechpartner WHERE team_id = $ziel_team_id ORDER BY kontaktperson_id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $ziel_ansprechpartner = $db->loadObjectList(); - + $ziel_ansprechpartner = loadObjectList($db, $query); $quelle_ansprechpartner_anzahl = count($quelle_ansprechpartner); $ziel_ansprechpartner_anzahl = count($ziel_ansprechpartner); for ($i = 0; $i < $quelle_ansprechpartner_anzahl; $i++) { @@ -7794,23 +6794,13 @@ function mannschaftsgruppe_verknuepfen($quelle_team_id, $ziel_team_id, $mannscha . "\n FROM #__sportsmanager_mitglied_von_team" . "\n WHERE team_id = $quelle_team_id OR team_id = $ziel_team_id" . "\n GROUP BY spieler_id, ausgetreten"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $vereinte_mitglieder = $db->loadObjectList(); - + $vereinte_mitglieder = loadObjectList($db, $query); $bilder_pfad = $sportsmanager_joomla_path . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager' . DIRECTORY_SEPARATOR . 'mannschaftsmitglieder'; foreach ($vereinte_mitglieder as $mitglied) { $query = "SELECT mitglied_von_team_id" . "\n FROM #__sportsmanager_mitglied_von_team" . "\n WHERE spieler_id = $mitglied->spieler_id AND team_id = $ziel_team_id AND ausgetreten = $mitglied->ausgetreten"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $ziel_mitglieder = $db->loadObjectList(); - + $ziel_mitglieder = loadObjectList($db, $query); foreach ($ziel_mitglieder as $ziel_mitglied) bildLoeschen("mannschaftsmitglieder", $ziel_mitglied->mitglied_von_team_id); @@ -7834,22 +6824,13 @@ function mannschaftsgruppe_verknuepfen($quelle_team_id, $ziel_team_id, $mannscha $query = "SELECT mitglied_von_team_id" . "\n FROM #__sportsmanager_mitglied_von_team" . "\n WHERE spieler_id = $mitglied->spieler_id AND team_id = $ziel_team_id AND ausgetreten = $mitglied->ausgetreten"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $ziel_mitglieder = $db->loadObjectList(); + $ziel_mitglieder = loadObjectList($db, $query); } $query = "SELECT mitglied_von_team_id" . "\n FROM #__sportsmanager_mitglied_von_team" . "\n WHERE spieler_id = $mitglied->spieler_id AND team_id = $quelle_team_id AND ausgetreten = $mitglied->ausgetreten"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $quelle_mitglieder = $db->loadObjectList(); - + $quelle_mitglieder = loadObjectList($db, $query); $bild_kopiert = false; foreach ($quelle_mitglieder as $quelle_mitglied) { foreach ($ziel_mitglieder as $ziel_mitglied) { @@ -7893,11 +6874,7 @@ function mannschaftsgruppe_entfernen($ziel_team_id) $query = "SELECT * FROM #__sportsmanager_team" . "\n WHERE team_id = $ziel_team_id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $teams = $db->loadObjectList(); + $teams = loadObjectList($db, $query); if (count($teams) === 0) die("Wrong id!"); $team = $teams[0]; $teamgruppe_id = $team->teamgruppe_id; @@ -7905,11 +6882,7 @@ function mannschaftsgruppe_entfernen($ziel_team_id) return false; $query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_begegnung WHERE heim_team_id = $ziel_team_id OR gast_team_id = $ziel_team_id), 1, 0)"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $n = $db->loadResult(); + $n = loadResult($db, $query); if ($n > 0) return false; @@ -7917,12 +6890,7 @@ function mannschaftsgruppe_entfernen($ziel_team_id) $query = "SELECT *" . "\n FROM #__sportsmanager_mitglied_von_team" . "\n WHERE team_id = $ziel_team_id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); - + $rows = loadObjectList($db, $query); foreach ($rows as $row) bildLoeschen("mannschaftsmitglieder", $row->mitglied_von_team_id); @@ -7953,11 +6921,7 @@ function mannschaftsgruppe_entfernen($ziel_team_id) $query = "SELECT COUNT(*)" . "\n FROM #__sportsmanager_team" . "\n WHERE teamgruppe_id = $teamgruppe_id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $n = $db->loadResult(); + $n = loadResult($db, $query); if ($n == 1) { $query = "UPDATE #__sportsmanager_team" @@ -7978,11 +6942,7 @@ function heimspieltag_aktualisieren($team_id): void $query = "SELECT * FROM #__sportsmanager_team" . "\n WHERE team_id = $team_id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $teams = $db->loadObjectList(); + $teams = loadObjectList($db, $query); if (count($teams) === 0) die("Wrong id!"); $team = $teams[0]; @@ -7994,12 +6954,7 @@ function heimspieltag_aktualisieren($team_id): void . "\n LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis USING (begegnung_id)" . "\n WHERE heim_team_id = $team_id AND COALESCE(heim_spielpunkte, 0) = 0 AND COALESCE(gast_spielpunkte, 0) = 0 AND NOT ISNULL(zeitpunkt) AND ISNULL(spielort_id) AND ISNULL(#__sportsmanager_unbestaetigtes_ergebnis.begegnung_id) AND NOT EXISTS(SELECT * FROM #__sportsmanager_begegnung_historie WHERE #__sportsmanager_begegnung_historie.begegnung_id = #__sportsmanager_begegnung.begegnung_id)" . "\n ORDER BY spieltag DESC"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $begegnungen = $db->loadObjectList(); - + $begegnungen = loadObjectList($db, $query); foreach ($begegnungen as $begegnung) { $ts = getdate(geaenderterWochentag(strtotime($begegnung->zeitpunkt), $team->heimspiel_wochentag - 1)); $neuer_zeitpunkt = sprintf("%04d-%02d-%02d %02d:%02d", $ts["year"], $ts["mon"], $ts["mday"], floor($team->heimspiel_uhrzeit / 100), $team->heimspiel_uhrzeit % 100); @@ -8022,22 +6977,14 @@ function termin_aktualisieren($begegnung_id): void . "\n LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis USING (begegnung_id)" . "\n WHERE begegnung_id = $begegnung_id AND COALESCE(heim_spielpunkte, 0) = 0 AND COALESCE(gast_spielpunkte, 0) = 0 AND NOT ISNULL(zeitpunkt) AND ISNULL(spielort_id) AND ISNULL(#__sportsmanager_unbestaetigtes_ergebnis.begegnung_id) AND NOT EXISTS(SELECT * FROM #__sportsmanager_begegnung_historie WHERE #__sportsmanager_begegnung_historie.begegnung_id = #__sportsmanager_begegnung.begegnung_id)" . "\n ORDER BY spieltag DESC"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $begegnungen = $db->loadObjectList(); + $begegnungen = loadObjectList($db, $query); if (count($begegnungen) < 1) return; $begegnung = $begegnungen[0]; $query = "SELECT * FROM #__sportsmanager_team" . "\n WHERE team_id = $begegnung->heim_team_id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $teams = $db->loadObjectList(); + $teams = loadObjectList($db, $query); if (count($teams) === 0) die("Wrong id!"); $team = $teams[0]; @@ -8068,22 +7015,14 @@ function termin_aktualisieren($begegnung_id): void keinZugriff(true); $query = "SELECT teamgruppe_id, veranstaltung_id FROM #__sportsmanager_team WHERE team_id = $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die("Wrong id!"); if ($veranstaltungId != $rows[0]->veranstaltung_id) die("Wrong id!"); $query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_begegnung WHERE heim_team_id = $id OR gast_team_id = $id), 1, 0)"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $n = $db->loadResult(); + $n = loadResult($db, $query); if ($n > 0) die(Text::_('COM_SPORTSMANAGER_UNABLE_REMOVE_EXISTING_LINKS')); if ($rows[0]->teamgruppe_id != null) { @@ -8092,12 +7031,7 @@ function termin_aktualisieren($begegnung_id): void $query = "SELECT *" . "\n FROM #__sportsmanager_mitglied_von_team" . "\n WHERE team_id = $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); - + $rows = loadObjectList($db, $query); foreach ($rows as $row) bildLoeschen("mannschaftsmitglieder", $row->mitglied_von_team_id); @@ -8145,11 +7079,7 @@ function adminKopierenMannschaftForm(): void keinZugriff(true); $query = "SELECT * FROM #__sportsmanager_veranstaltung WHERE veranstaltung_id = $veranstaltungId"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die("Wrong id!"); $veranstaltung = $rows[0]; @@ -8158,12 +7088,7 @@ function adminKopierenMannschaftForm(): void . "\n LEFT JOIN #__sportsmanager_verein USING (verein_id)" . "\n WHERE #__sportsmanager_team.veranstaltung_id = $veranstaltungId" . "\n ORDER BY teamname"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $teams = $db->loadObjectList(); - + $teams = loadObjectList($db, $query); $beschraenkter_zugriff_veranstaltungen = benutzerZugriff("mannschaftswettbewerb_aendern") ? 0 : 1; if ($beschraenkter_zugriff_veranstaltungen) { $query = "SELECT *" @@ -8175,12 +7100,7 @@ function adminKopierenMannschaftForm(): void . "\n FROM #__sportsmanager_veranstaltung" . "\n ORDER BY YEAR(letzter_tag) DESC, reihenfolge, letzter_tag DESC, bezeichnung, kategorie"; } - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $veranstaltungen = $db->loadObjectList(); - + $veranstaltungen = loadObjectList($db, $query); HTML_sportsmanager_admin::adminKopierenMannschaft($veranstaltung, $teams, $veranstaltungen); } @@ -8217,11 +7137,7 @@ function adminKopierenMannschaftForm(): void foreach ($ids as $id) { $query = "SELECT * FROM #__sportsmanager_team" . "\n WHERE team_id = $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $teams = $db->loadObjectList(); + $teams = loadObjectList($db, $query); if (count($teams) === 0) die("Wrong id!"); $team = $teams[0]; @@ -8239,12 +7155,7 @@ function adminKopierenMannschaftForm(): void // Mitglieder kopieren if ($mitglieder_kopieren) { $query = "SELECT * FROM #__sportsmanager_mitglied_von_team WHERE team_id = $id AND NOT ausgetreten"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); - + $rows = loadObjectList($db, $query); foreach ($rows as $row) { $query = "INSERT INTO #__sportsmanager_mitglied_von_team (spieler_id, team_id)" . "\n VALUES ('$row->spieler_id', '$ziel_teamid');"; @@ -8264,12 +7175,7 @@ function adminKopierenMannschaftForm(): void // Teamvertreter kopieren $query = "SELECT * FROM #__sportsmanager_berechtigt_fuer_team WHERE berechtigt_team_id = $id ORDER BY berechtigt_fuer_team_id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); - + $rows = loadObjectList($db, $query); foreach ($rows as $row) { $query = "INSERT INTO #__sportsmanager_berechtigt_fuer_team (berechtigt_user_id, berechtigt_team_id)" . "\n VALUES ('$row->berechtigt_user_id', '$ziel_teamid');"; @@ -8281,12 +7187,7 @@ function adminKopierenMannschaftForm(): void // Ansprechpartner kopieren $query = "SELECT * FROM #__sportsmanager_teamansprechpartner WHERE team_id = $id ORDER BY kontaktperson_id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); - + $rows = loadObjectList($db, $query); foreach ($rows as $row) { $query = "INSERT INTO #__sportsmanager_teamansprechpartner (team_id, nachname, vorname, telefon, mobil, email)" . "\n VALUES ('$ziel_teamid', '" . $db->escape($row->nachname) . "', '" . $db->escape($row->vorname) . "', '" . $db->escape($row->telefon) . "', '" . $db->escape($row->mobil) . "', '" . $db->escape($row->email) . "');"; @@ -8321,11 +7222,7 @@ function adminVerknuepfenMannschaftForm(): void keinZugriff(true); $query = "SELECT * FROM #__sportsmanager_veranstaltung WHERE veranstaltung_id = $veranstaltungId"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die("Wrong id!"); $veranstaltung = $rows[0]; @@ -8334,12 +7231,7 @@ function adminVerknuepfenMannschaftForm(): void . "\n LEFT JOIN #__sportsmanager_verein USING (verein_id)" . "\n WHERE #__sportsmanager_team.veranstaltung_id = $veranstaltungId" . "\n ORDER BY teamname"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $teams = $db->loadObjectList(); - + $teams = loadObjectList($db, $query); $beschraenkter_zugriff_veranstaltungen = benutzerZugriff("mannschaftswettbewerb_aendern") ? 0 : 1; if ($beschraenkter_zugriff_veranstaltungen) { $query = "SELECT *" @@ -8352,12 +7244,7 @@ function adminVerknuepfenMannschaftForm(): void . "\n WHERE saison_id = $veranstaltung->saison_id" . "\n ORDER BY YEAR(letzter_tag) DESC, reihenfolge, letzter_tag DESC, bezeichnung, kategorie"; } - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $veranstaltungen = $db->loadObjectList(); - + $veranstaltungen = loadObjectList($db, $query); HTML_sportsmanager_admin::adminVerknuepfenMannschaft($veranstaltung, $teams, $veranstaltungen); } @@ -8392,11 +7279,7 @@ function adminVerknuepfenMannschaftForm(): void foreach ($ids as $id) { $query = "SELECT * FROM #__sportsmanager_team" . "\n WHERE team_id = $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $teams = $db->loadObjectList(); + $teams = loadObjectList($db, $query); if (count($teams) === 0) die("Wrong id!"); $team = $teams[0]; @@ -8426,11 +7309,7 @@ function adminMitglieder(): void if ($teamid == 0) die ("Wrong id!"); $query = "SELECT * FROM #__sportsmanager_team WHERE team_id = $teamid"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $teams = $db->loadObjectList(); + $teams = loadObjectList($db, $query); if (count($teams) < 1) die ("Wrong id"); $team = $teams[0]; $teamgruppe_id = $team->teamgruppe_id != null ? $team->teamgruppe_id : $teamid; @@ -8439,11 +7318,7 @@ function adminMitglieder(): void keinZugriff(true); $query = "SELECT * FROM #__sportsmanager_veranstaltung WHERE veranstaltung_id = $team->veranstaltung_id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die("Wrong id!"); $veranstaltung = $rows[0]; @@ -8454,12 +7329,7 @@ function adminMitglieder(): void . "\n WHERE (team_id = $teamid OR teamgruppe_id = $teamgruppe_id)" . "\n GROUP BY spieler_id" . "\n ORDER BY anderes_team, IF(#__sportsmanager_mitglied_von_team.ausgetreten, 1, 0), nachname, vorname, erster_spieltag"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $mitglieder = $db->loadObjectList(); - + $mitglieder = loadObjectList($db, $query); HTML_sportsmanager_admin::adminMitglieder($team, $veranstaltung, $mitglieder, $berechtigt_spieler_aendern); } @@ -8477,11 +7347,7 @@ function adminEditMitglied(): void $entfernen = $jInput->get('entfernen', 0, 'INT'); $query = "SELECT * FROM #__sportsmanager_team WHERE team_id = $teamid"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $teams = $db->loadObjectList(); + $teams = loadObjectList($db, $query); if (count($teams) < 1) die ("Wrong id"); $team = $teams[0]; $teamgruppe_id = $team->teamgruppe_id != null ? $team->teamgruppe_id : $teamid; @@ -8490,11 +7356,7 @@ function adminEditMitglied(): void $row = null; else { $query = "SELECT #__sportsmanager_mitglied_von_team.*, vorname, nachname FROM #__sportsmanager_mitglied_von_team LEFT JOIN #__sportsmanager_spieler USING (spieler_id) INNER JOIN #__sportsmanager_team USING (team_id) WHERE spieler_id = $id AND (team_id = $teamid OR teamgruppe_id = $teamgruppe_id)"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die("Wrong id!"); $row = $rows[0]; } @@ -8503,11 +7365,7 @@ function adminEditMitglied(): void keinZugriff(true); $query = "SELECT * FROM #__sportsmanager_veranstaltung WHERE veranstaltung_id = $team->veranstaltung_id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die("Wrong id!"); $veranstaltung = $rows[0]; @@ -8527,12 +7385,7 @@ function adminEditMitglied(): void . "\n WHERE veranstaltungen.team_id = $teamid" . (!empty($team->teamgruppe_id) ? " OR teamgruppe_id = $team->teamgruppe_id" : "") . "\n ORDER BY IF(veranstaltung_id = $team->veranstaltung_id, 0, 1), bezeichnung"; } - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $veranstaltungen = $db->loadObjectList(); - + $veranstaltungen = loadObjectList($db, $query); $veranstaltungen_begegnungen = array(); foreach ($veranstaltungen as $v) { $query = "SELECT spieltag, zeitpunkt" @@ -8540,12 +7393,7 @@ function adminEditMitglied(): void . "\n WHERE (heim_team_id = " . $v->team_id . " OR gast_team_id = " . $v->team_id . ") AND zeitpunkt < CURDATE()" . "\n ORDER BY zeitpunkt DESC" . "\n LIMIT 2"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $begegnungen = $db->loadObjectList(); - + $begegnungen = loadObjectList($db, $query); $veranstaltungen_begegnungen[$v->veranstaltung_id] = array(); $begegnungen = array_reverse($begegnungen); foreach ($begegnungen as $begegnung) @@ -8556,23 +7404,14 @@ function adminEditMitglied(): void . "\n WHERE (heim_team_id = " . $v->team_id . " OR gast_team_id = " . $v->team_id . ") AND zeitpunkt >= CURDATE()" . "\n ORDER BY zeitpunkt" . "\n LIMIT 4"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $begegnungen = $db->loadObjectList(); - + $begegnungen = loadObjectList($db, $query); foreach ($begegnungen as $begegnung) $veranstaltungen_begegnungen[$v->veranstaltung_id][] = array($begegnung->spieltag, $begegnung->zeitpunkt); } if ($team->verein_id != null) { $query = "SELECT * FROM #__sportsmanager_verein WHERE verein_id = $team->verein_id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $vereine = $db->loadObjectList(); + $vereine = loadObjectList($db, $query); if (count($vereine) < 1) die ("Wrong id"); } @@ -8591,12 +7430,7 @@ function adminEditMitglied(): void . " AND spieler_id NOT IN (SELECT spieler_id FROM #__sportsmanager_team INNER JOIN #__sportsmanager_mitglied_von_team USING (team_id) WHERE team_id = $teamid OR teamgruppe_id = $teamgruppe_id)" . "\n ORDER BY nachname, vorname"; } - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $spieler = $db->loadObjectList(); - + $spieler = loadObjectList($db, $query); if (!empty($team->verein_id) && !$alle_anzeigen) { $query = "SELECT spieler_id, veranstaltung_id, unterteilung, erster_spieltag, letzter_spieltag, team_id, ausgetreten" . "\n FROM #__sportsmanager_veranstaltung" @@ -8616,12 +7450,7 @@ function adminEditMitglied(): void . "\n WHERE saison_id = $veranstaltung->saison_id AND (unterteilung = 0 OR unterteilung = 1) AND NOT ISNULL(aktueller_verein_id)" . "\n ORDER BY reihenfolge, letzter_tag DESC, bezeichnung, kategorie"; } - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $mitgliedschaften = $db->loadObjectList(); - + $mitgliedschaften = loadObjectList($db, $query); $spielberechtigungen = array(); foreach ($mitgliedschaften as $mitgliedschaft) { if (!isset($spielberechtigungen[$mitgliedschaft->spieler_id])) @@ -8633,12 +7462,7 @@ function adminEditMitglied(): void $query = "SELECT veranstaltung_id, bezeichnung" . "\n FROM #__sportsmanager_veranstaltung" . "\n WHERE saison_id = $veranstaltung->saison_id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); - + $rows = loadObjectList($db, $query); $veranstaltungsbezeichnungen = array(); foreach ($rows as $v) $veranstaltungsbezeichnungen[$v->veranstaltung_id] = $v->bezeichnung; @@ -8648,12 +7472,7 @@ function adminEditMitglied(): void . "\n FROM #__sportsmanager_team" . "\n LEFT JOIN #__sportsmanager_veranstaltung USING (veranstaltung_id)" . "\n WHERE saison_id = $veranstaltung->saison_id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); - + $rows = loadObjectList($db, $query); foreach ($rows as $m) $veranstaltungsbezeichnungen[$m->team_id] = $m->teamname; @@ -8685,11 +7504,7 @@ function adminEditMitglied(): void } $query = "SELECT * FROM #__sportsmanager_team WHERE team_id = $teamid"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $teams = $db->loadObjectList(); + $teams = loadObjectList($db, $query); if (count($teams) < 1) die ("Wrong id"); $team = $teams[0]; $teamgruppe_id = $team->teamgruppe_id != null ? $team->teamgruppe_id : $teamid; @@ -8700,23 +7515,14 @@ function adminEditMitglied(): void // Sicherstellen, dass Mannschaftsmitglied zum Team gehört if (!empty($id)) { $query = "SELECT * FROM #__sportsmanager_mitglied_von_team INNER JOIN #__sportsmanager_team USING (team_id) WHERE spieler_id = $id AND (team_id = $teamid OR teamgruppe_id = $teamgruppe_id)"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die("Wrong id!"); } $query = "SELECT DISTINCT veranstaltung_id, team_id" . "\n FROM #__sportsmanager_team" . "\n WHERE team_id = $teamid" . (!empty($teamgruppe_id) ? " OR teamgruppe_id = $teamgruppe_id" : null); - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $veranstaltungen = $db->loadObjectList(); - + $veranstaltungen = loadObjectList($db, $query); foreach ($veranstaltungen as $v) { $status = $jInput->get('status_' . $v->veranstaltung_id, -1, 'INT'); if ($status == -1) @@ -8756,11 +7562,7 @@ function adminEditMitglied(): void continue; $query = "SELECT mitglied_von_team_id FROM #__sportsmanager_mitglied_von_team WHERE team_id = $v->team_id AND spieler_id = '" . $db->escape($spielerid) . "'"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) > 0) continue; @@ -8777,11 +7579,7 @@ function adminEditMitglied(): void } } else { $query = "SELECT mitglied_von_team_id FROM #__sportsmanager_mitglied_von_team WHERE team_id = $v->team_id AND spieler_id = $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if ($status == 0) { foreach ($rows as $row) { $query = "DELETE FROM #__sportsmanager_mitglied_von_team WHERE mitglied_von_team_id = " . $row->mitglied_von_team_id; @@ -8839,12 +7637,7 @@ function adminEditMitglied(): void $query = "SELECT team_id" . "\n FROM #__sportsmanager_team" . "\n WHERE team_id != $teamid AND teamgruppe_id = $teamgruppe_id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $bestehende_weitere_veranstaltungen_beruecksichtigt = $db->loadObjectList(); - + $bestehende_weitere_veranstaltungen_beruecksichtigt = loadObjectList($db, $query); foreach ($bestehende_weitere_veranstaltungen_beruecksichtigt as $bestehende_weitere_veranstaltung_beruecksichtigt) mannschaftsgruppe_verknuepfen($teamid, $bestehende_weitere_veranstaltung_beruecksichtigt->team_id, false, false, false); @@ -8863,21 +7656,13 @@ function adminBegegnungen(): void keinZugriff(true); $query = "SELECT * FROM #__sportsmanager_veranstaltung WHERE veranstaltung_id = $veranstaltungId"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die("Wrong id!"); $veranstaltung = $rows[0]; $modus_id = $veranstaltung->modus_id; $query = "SELECT * FROM #__sportsmanager_teamspiel_modus WHERE teamspiel_modus_id = $modus_id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); $modus = null; if (count($rows) == 1) $modus = $rows[0]; @@ -8885,9 +7670,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," . "\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 UNIX_TIMESTAMP(t1.zeitpunkt) AS termin_spiel," - + . "\n (" . "\n SELECT UNIX_TIMESTAMP(zeitpunkt)" . "\n FROM #__sportsmanager_begegnung_historie" @@ -8895,7 +7680,7 @@ function adminBegegnungen(): void . "\n ORDER BY begegnung_historie_id ASC" . "\n LIMIT 1" . "\n ) AS termin_original," - + . "\n (" . "\n SELECT team_id" . "\n FROM #__sportsmanager_begegnung_historie" @@ -8903,7 +7688,7 @@ function adminBegegnungen(): void . "\n ORDER BY begegnung_historie_id ASC" . "\n LIMIT 1" . "\n ) AS verantwortliches_team," - + . "\n (" . "\n SELECT UNIX_TIMESTAMP(zeitpunkt)" . "\n FROM #__sportsmanager_begegnung_historie" @@ -8911,7 +7696,7 @@ function adminBegegnungen(): void . "\n ORDER BY begegnung_historie_id ASC" . "\n LIMIT 1" . "\n ) AS termin_akzeptiert," - + . "\n (" . "\n SELECT UNIX_TIMESTAMP(eingetragen)" . "\n FROM #__sportsmanager_begegnung_historie" @@ -8919,7 +7704,7 @@ function adminBegegnungen(): void . "\n ORDER BY begegnung_historie_id ASC" . "\n LIMIT 1" . "\n ) AS ergebnis_vorgeschlagen," - + . "\n (" . "\n SELECT UNIX_TIMESTAMP(eingetragen)" . "\n FROM #__sportsmanager_begegnung_historie" @@ -8927,25 +7712,20 @@ function adminBegegnungen(): void . "\n ORDER BY begegnung_historie_id ASC" . "\n LIMIT 1" . "\n ) AS ergebnis_akzeptiert," - + . "\n (" . "\n SELECT COUNT(*) FROM #__sportsmanager_teamspiel" . "\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 ) AS fehlende_spieler" - + . "\n FROM #__sportsmanager_begegnung AS t1" . "\n LEFT JOIN #__sportsmanager_team AS t2 ON t1.heim_team_id = t2.team_id" . "\n LEFT JOIN #__sportsmanager_team AS t3 ON t1.gast_team_id = t3.team_id" . "\n LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis AS t4 ON t1.begegnung_id = t4.begegnung_id" . "\n WHERE t2.veranstaltung_id = $veranstaltungId" - . "\n ORDER BY " . (($veranstaltung->unterteilung == 0 || $veranstaltung->unterteilung == 1) ? "t1.spieltag, " : "") . "t1.zeitpunkt, heim_name"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); - + . "\n ORDER BY " . (($veranstaltung->unterteilung == 0 || $veranstaltung->unterteilung == 1) ? "t1.spieltag, t1.spiel_nr, " : "") . "t1.zeitpunkt, heim_name"; + $rows = loadObjectList($db, $query); HTML_sportsmanager_admin::adminBegegnungen($veranstaltung, $modus, $rows); } @@ -8968,19 +7748,11 @@ function adminEditBegegnung(): void . "\n INNER JOIN #__sportsmanager_begegnung ON team_id = heim_team_id" . "\n WHERE veranstaltung_id = $veranstaltungId" . "\n ORDER BY zeitpunkt DESC LIMIT 1"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); $row = count($rows) < 1 ? null : $rows[0]; // Falls keine Begegnung als Vorlage verfügbar ist } else { $query = "SELECT * FROM #__sportsmanager_begegnung WHERE begegnung_id = $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die ("Wrong id!"); $row = $rows[0]; @@ -8988,20 +7760,12 @@ function adminEditBegegnung(): void $query = "SELECT *" . "\n FROM #__sportsmanager_team" . "\n WHERE team_id = $row->heim_team_id AND veranstaltung_id = $veranstaltungId"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $teams = $db->loadObjectList(); + $teams = loadObjectList($db, $query); if (count($teams) < 1) die ("Wrong id!"); } $query = "SELECT * FROM #__sportsmanager_veranstaltung WHERE veranstaltung_id = $veranstaltungId"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die("Wrong id!"); $veranstaltung = $rows[0]; @@ -9009,12 +7773,7 @@ function adminEditBegegnung(): void . "\n FROM #__sportsmanager_team" . "\n WHERE veranstaltung_id = $veranstaltungId" . "\n ORDER BY teamname"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $teams = $db->loadObjectList(); - + $teams = loadObjectList($db, $query); // Vorgeschlagene Termine ermitteln $query = "SELECT #__sportsmanager_begegnung_historie.*, team.teamname as team, user.username, user.name, verantwortlich_team.teamname as verantwortlich_team" . "\n FROM #__sportsmanager_begegnung_historie" @@ -9023,21 +7782,11 @@ function adminEditBegegnung(): void . "\n LEFT JOIN #__users AS user ON user.id = user_id" . "\n WHERE begegnung_id = $id" . "\n ORDER BY begegnung_historie_id DESC"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $verlegen_aktionen = $db->loadObjectList(); - + $verlegen_aktionen = loadObjectList($db, $query); $query = "SELECT *" . "\n FROM #__sportsmanager_spielort" . "\n ORDER BY ortsname, name, ortsteil"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $spielorte = $db->loadObjectList(); - + $spielorte = loadObjectList($db, $query); HTML_sportsmanager_admin::adminEditBegegnung($veranstaltung, $row, $id == null, $teams, $spielorte); HTML_sportsmanager_admin::adminVerlegenVerlauf($verlegen_aktionen); } @@ -9082,11 +7831,7 @@ function adminEditBegegnung(): void $query = "SELECT status, elo_wertung" . "\n FROM #__sportsmanager_veranstaltung" . "\n WHERE veranstaltung_id = $veranstaltungId"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die("Wrong Id!"); $veranstaltung = $rows[0]; @@ -9094,22 +7839,14 @@ function adminEditBegegnung(): void $query = "SELECT *" . "\n FROM #__sportsmanager_team" . "\n WHERE team_id = $heim_team_id AND veranstaltung_id = $veranstaltungId"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $teams = $db->loadObjectList(); + $teams = loadObjectList($db, $query); if (count($teams) < 1) die ("Wrong id!"); $heim_team = $teams[0]; $query = "SELECT *" . "\n FROM #__sportsmanager_team" . "\n WHERE team_id = $gast_team_id AND veranstaltung_id = $veranstaltungId"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $teams = $db->loadObjectList(); + $teams = loadObjectList($db, $query); if (count($teams) < 1) die ("Wrong id!"); $gast_team = $teams[0]; @@ -9129,11 +7866,7 @@ function adminEditBegegnung(): void . "\n (SELECT COUNT(*) FROM #__sportsmanager_begegnung_historie WHERE #__sportsmanager_begegnung_historie.begegnung_id = #__sportsmanager_begegnung.begegnung_id) AS verlegen_aktionen" . "\n FROM #__sportsmanager_begegnung" . "\n WHERE begegnung_id = $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die ("Wrong id!"); $begegnung = $rows[0]; @@ -9179,11 +7912,7 @@ function adminEditBegegnung(): void . "\n (SELECT COUNT(*) FROM #__sportsmanager_begegnung_historie WHERE #__sportsmanager_begegnung_historie.begegnung_id = #__sportsmanager_begegnung.begegnung_id) AS verlegen_aktionen" . "\n FROM #__sportsmanager_begegnung" . "\n WHERE begegnung_id = $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die ("Wrong id!"); $begegnung = $rows[0]; begegnungTischChanged($begegnung, $heim_team, $gast_team); @@ -9217,11 +7946,7 @@ function adminRemoveBegegnung(): void . "\n INNER JOIN #__sportsmanager_team ON heim_team_id = team_id" . "\n INNER JOIN #__sportsmanager_veranstaltung USING (veranstaltung_id)" . "\n WHERE begegnung_id = $id AND veranstaltung_id = $veranstaltungId"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) { return; } @@ -9278,11 +8003,7 @@ function adminRemoveBegegnung(): void keinZugriff(true); $query = "SELECT * FROM #__sportsmanager_begegnung WHERE begegnung_id = $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die ("Wrong id!"); $row = $rows[0]; @@ -9291,11 +8012,7 @@ function adminRemoveBegegnung(): void . "\n FROM #__sportsmanager_team" . "\n WHERE team_id = $row->heim_team_id AND veranstaltung_id = $veranstaltungId" . "\n ORDER BY teamname"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $teams = $db->loadObjectList(); + $teams = loadObjectList($db, $query); if (count($teams) < 1) die ("Wrong id!"); $query = "UPDATE #__sportsmanager_begegnung" @@ -9362,12 +8079,7 @@ function adminEditBegegnungSpielplan($bestaetigen): void . "\n WHERE t5.status > 0 " . kategorieFilter("AND t5.kategorie IN") . " AND ((ISNULL(heim_punkte) AND ISNULL(gast_punkte)) OR zwischenergebnis OR NOT ISNULL(unbestaetigtes_ergebnis_id)) AND ((NOT ISNULL(t2.pin) AND t2.pin = '$pin') OR (NOT ISNULL(t3.pin) AND t3.pin = '$pin'))" . "\n ORDER BY t1.zeitpunkt" . "\n LIMIT 1"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); - + $rows = loadObjectList($db, $query); if (count($rows) == 0) { redirectSportsManagerURL(null, "Keine offene Begegnung zur PIN gefunden."); } @@ -9386,22 +8098,14 @@ function adminEditBegegnungSpielplan($bestaetigen): void } $query = "SELECT * FROM #__sportsmanager_veranstaltung WHERE veranstaltung_id = $veranstaltungId"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die("Wrong id!"); $veranstaltung = $rows[0]; $teamspiel_modus_id = $veranstaltung->modus_id; $query = "SELECT * FROM #__sportsmanager_teamspiel_modus WHERE teamspiel_modus_id = $teamspiel_modus_id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die("Wrong id!"); $teamspiel_modus = $rows[0]; @@ -9415,11 +8119,7 @@ function adminEditBegegnungSpielplan($bestaetigen): void $query .= "\n FROM #__sportsmanager_begegnung AS t1 LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis AS t2 ON t1.begegnung_id = t2.begegnung_id" . "\n LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis AS t4 ON t1.begegnung_id = t4.begegnung_id" . "\n WHERE t1.begegnung_id = $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die ("Wrong id!"); $begegnung = $rows[0]; @@ -9431,22 +8131,13 @@ function adminEditBegegnungSpielplan($bestaetigen): void . "\n LEFT JOIN #__users AS user ON user.id = user_id" . "\n WHERE begegnung_id = $id" . "\n ORDER BY begegnung_historie_id DESC"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $verlegen_aktionen = $db->loadObjectList(); - + $verlegen_aktionen = loadObjectList($db, $query); if ($bestaetigen == 1) { if ($begegnung->unbestaetigtes_ergebnis_id == null && ($begegnung->heim_punkte != 0 || $begegnung->gast_punkte != 0)) keinZugriff(); $query = "SELECT t1.berechtigt_team_id FROM #__sportsmanager_berechtigt_fuer_team AS t1, #__sportsmanager_begegnung WHERE begegnung_id = $id AND berechtigt_user_id = $user_id AND (berechtigt_team_id = heim_team_id OR berechtigt_team_id = gast_team_id)"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) == 0) keinZugriff(true); } else if ($bestaetigen !== 2) { @@ -9455,11 +8146,7 @@ function adminEditBegegnungSpielplan($bestaetigen): void } $query = "SELECT * FROM #__sportsmanager_team WHERE team_id = $begegnung->heim_team_id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die("Wrong id!"); $heim_team = $rows[0]; @@ -9467,51 +8154,31 @@ function adminEditBegegnungSpielplan($bestaetigen): void die("Wrong id!"); $query = "SELECT * FROM #__sportsmanager_team WHERE team_id = $begegnung->gast_team_id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die("Wrong id!"); $gast_team = $rows[0]; $query = "SELECT * FROM #__sportsmanager_teamspiel WHERE begegnung_id = $id ORDER BY teamspiel_nummer"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $spiele = $db->loadObjectList(); - + $spiele = loadObjectList($db, $query); $query = "SELECT *" . "\n FROM #__sportsmanager_mitglied_von_team as t1" . "\n INNER JOIN #__sportsmanager_spieler AS t2 USING (spieler_id)" . "\n WHERE team_id = $begegnung->heim_team_id AND NOT t1.ausgetreten " . ($begegnung->spieltag != null ? "AND (ISNULL(t1.erster_spieltag) OR t1.erster_spieltag <= $begegnung->spieltag) AND (ISNULL(t1.letzter_spieltag) OR $begegnung->spieltag <= t1.letzter_spieltag) " : "") . "\n ORDER BY nachname, vorname"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $heim_spieler = $db->loadObjectList(); - + $heim_spieler = loadObjectList($db, $query); $query = "SELECT *" . "\n FROM #__sportsmanager_mitglied_von_team as t1" . "\n INNER JOIN #__sportsmanager_spieler AS t2 USING (spieler_id)" . "\n WHERE team_id = $begegnung->gast_team_id AND NOT t1.ausgetreten " . ($begegnung->spieltag != null ? "AND (ISNULL(t1.erster_spieltag) OR t1.erster_spieltag <= $begegnung->spieltag) AND (ISNULL(t1.letzter_spieltag) OR $begegnung->spieltag <= t1.letzter_spieltag) " : "") . "\n ORDER BY nachname, vorname"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $gast_spieler = $db->loadObjectList(); - + $gast_spieler = loadObjectList($db, $query); $encrypted_pin = encrypt($pin, "a9cZ" . $veranstaltung->veranstaltung_id . "oDS7" . $id . "2eA"); // Spielort ermitteln $spielortQuery = "SELECT name FROM #__sportsmanager_spielort WHERE spielort_id = \"" . (Factory::getContainer()->get(SiteApplication::class)->input->getCmd('spielort_heim') == 1 ? $heim_team->heimspielort_id : $begegnung->spielort_id) . "\""; - $db->setQuery($spielortQuery); - $begegnung->spielort_name = $db->loadResult(); + $begegnung->spielort_name = loadResult($db, $spielortQuery); if (isJson()) { @@ -9572,11 +8239,7 @@ function adminSaveBegegnungSpielplan(): void . "\n FROM #__sportsmanager_begegnung" . "\n LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis ON #__sportsmanager_begegnung.begegnung_id = #__sportsmanager_unbestaetigtes_ergebnis.begegnung_id" . "\n WHERE #__sportsmanager_begegnung.begegnung_id = $id"; - $db->setQuery($query); - if (!$db->execute()) { - abortWithError($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) { abortWithError("Wrong id!"); } @@ -9587,11 +8250,7 @@ function adminSaveBegegnungSpielplan(): void // Veranstaltung ermitteln $query = "SELECT * FROM #__sportsmanager_veranstaltung WHERE veranstaltung_id = $veranstaltungId"; - $db->setQuery($query); - if (!$db->execute()) { - abortWithError($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) { abortWithError("Wrong id!"); } @@ -9601,11 +8260,7 @@ function adminSaveBegegnungSpielplan(): void $query = "SELECT *" . "\n FROM #__sportsmanager_team" . "\n WHERE team_id = $begegnung->heim_team_id AND veranstaltung_id = $veranstaltungId"; - $db->setQuery($query); - if (!$db->execute()) { - abortWithError($db->stderr(true)); - } - $teams = $db->loadObjectList(); + $teams = loadObjectList($db, $query); if (count($teams) < 1) { abortWithError("Wrong id!"); } @@ -9613,11 +8268,7 @@ function adminSaveBegegnungSpielplan(): void // Spielmodus ermitteln $modus_id = $veranstaltung->modus_id; $query = "SELECT * FROM #__sportsmanager_teamspiel_modus WHERE teamspiel_modus_id = $modus_id"; - $db->setQuery($query); - if (!$db->execute()) { - abortWithError($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) { abortWithError("Wrong id!"); } @@ -9635,11 +8286,7 @@ function adminSaveBegegnungSpielplan(): void } $query = "SELECT #__sportsmanager_berechtigt_fuer_team.berechtigt_team_id FROM #__sportsmanager_berechtigt_fuer_team, #__sportsmanager_begegnung WHERE begegnung_id = $id AND berechtigt_user_id = $user_id AND (berechtigt_team_id = heim_team_id OR berechtigt_team_id = gast_team_id)"; - $db->setQuery($query); - if (!$db->execute()) { - abortWithError($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) == 0) { keinZugriff(); } @@ -9656,12 +8303,7 @@ function adminSaveBegegnungSpielplan(): void } $query = "SELECT team_id FROM #__sportsmanager_begegnung LEFT JOIN #__sportsmanager_team ON heim_team_id = team_id OR gast_team_id = team_id WHERE begegnung_id = $id AND (team_id = $begegnung->heim_team_id OR team_id = $begegnung->gast_team_id) AND NOT ISNULL(pin) AND pin = '$pin'"; - $db->setQuery($query); - if (!$db->execute()) { - abortWithError($db->stderr(true)); - } - $rows = $db->loadObjectList(); - + $rows = loadObjectList($db, $query); if (count($rows) == 0) { keinZugriff(); } @@ -9722,12 +8364,7 @@ function adminSaveBegegnungSpielplan(): void } $query = "SELECT * FROM #__sportsmanager_teamspiel WHERE begegnung_id = $id ORDER BY teamspiel_nummer"; - $db->setQuery($query); - if (!$db->execute()) { - abortWithError($db->stderr(true)); - } - $spiele = $db->loadObjectList(); - + $spiele = loadObjectList($db, $query); $spiele_nummern = array(); foreach ($spiele as $spiel) { $spiele_nummern[$spiel->teamspiel_nummer] = $spiel; @@ -9957,22 +8594,14 @@ function adminSaveBegegnungSpielplan(): void . "\n FROM #__sportsmanager_begegnung" . "\n LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis ON #__sportsmanager_begegnung.begegnung_id = #__sportsmanager_unbestaetigtes_ergebnis.begegnung_id" . "\n WHERE #__sportsmanager_begegnung.begegnung_id = $id"; - $db->setQuery($query); - if (!$db->execute()) { - abortWithError($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die ("Wrong id!"); $begegnung_alt = $begegnung; $begegnung = $rows[0]; // Heimteam ermitteln $query = "SELECT * FROM #__sportsmanager_team WHERE team_id = $begegnung->heim_team_id"; - $db->setQuery($query); - if (!$db->execute()) { - abortWithError($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) { abortWithError("Wrong id!"); } @@ -9980,11 +8609,7 @@ function adminSaveBegegnungSpielplan(): void // Gastteam ermitteln $query = "SELECT * FROM #__sportsmanager_team WHERE team_id = $begegnung->gast_team_id"; - $db->setQuery($query); - if (!$db->execute()) { - abortWithError($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) { abortWithError("Wrong id!"); } @@ -9998,11 +8623,7 @@ function adminSaveBegegnungSpielplan(): void $body = "Zur Begegnung " . $heim_team->teamname . " gegen " . $gast_team->teamname . " am " . FormatiertesDatum($begegnung->zeitpunkt) . " in der " . $veranstaltung->bezeichnung . " wurde von " . ($vorschlagendes_team_id == $heim_team->team_id ? $heim_team->teamname : $gast_team->teamname) . " ein Ergebnis eingetragen.\n\nBestaetigen des Ergebnisses ueber " . SportsManagerURL('&task=admin_begegnung_spielplan_edit_bestaetigen&veranstaltungid=' . $veranstaltungId . '&id=' . $id, -1) . "."; $query = "SELECT * FROM #__users AS t1, #__sportsmanager_berechtigt_fuer_team AS t2 WHERE t1.id = t2.berechtigt_user_id AND (t2.berechtigt_team_id = " . $begegnung->heim_team_id . " OR t2.berechtigt_team_id = " . $begegnung->gast_team_id . ")"; - $db->setQuery($query); - if (!$db->execute()) { - abortWithError($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if(!empty($rows)) { $mailer = Factory::getContainer()->get(MailerFactoryInterface::class)->createMailer(); $mailer->setSender($mailfrom, $fromname); @@ -10071,11 +8692,7 @@ function adminSaveBegegnungSpielplan(): void . "\n FROM #__sportsmanager_begegnung" . "\n LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis ON #__sportsmanager_begegnung.begegnung_id = #__sportsmanager_unbestaetigtes_ergebnis.begegnung_id" . "\n WHERE #__sportsmanager_begegnung.begegnung_id = $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die ("Wrong id!"); $begegnung = $rows[0]; @@ -10083,11 +8700,7 @@ function adminSaveBegegnungSpielplan(): void // Veranstaltung ermitteln $query = "SELECT * FROM #__sportsmanager_veranstaltung WHERE veranstaltung_id = $veranstaltungId"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die("Wrong id!"); $veranstaltung = $rows[0]; @@ -10095,21 +8708,13 @@ function adminSaveBegegnungSpielplan(): void $query = "SELECT *" . "\n FROM #__sportsmanager_team" . "\n WHERE team_id = $begegnung->heim_team_id AND veranstaltung_id = $veranstaltungId"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $teams = $db->loadObjectList(); + $teams = loadObjectList($db, $query); if (count($teams) < 1) die ("Wrong id!"); // Spielmodus ermitteln $modus_id = $veranstaltung->modus_id; $query = "SELECT * FROM #__sportsmanager_teamspiel_modus WHERE teamspiel_modus_id = $modus_id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die("Wrong id!"); $modus = $rows[0]; @@ -10118,11 +8723,7 @@ function adminSaveBegegnungSpielplan(): void keinZugriff(); $query = "SELECT #__sportsmanager_berechtigt_fuer_team.berechtigt_team_id FROM #__sportsmanager_berechtigt_fuer_team, #__sportsmanager_begegnung WHERE begegnung_id = $id AND berechtigt_user_id = $user_id AND (berechtigt_team_id = heim_team_id OR berechtigt_team_id = gast_team_id)"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) == 0) keinZugriff(); } else if ($bestaetigen == 2) { @@ -10135,12 +8736,7 @@ function adminSaveBegegnungSpielplan(): void keinZugriff(); $query = "SELECT team_id FROM #__sportsmanager_begegnung LEFT JOIN #__sportsmanager_team ON heim_team_id = team_id OR gast_team_id = team_id WHERE begegnung_id = $id AND (team_id = $begegnung->heim_team_id OR team_id = $begegnung->gast_team_id) AND NOT ISNULL(pin) AND pin = '$pin'"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); - + $rows = loadObjectList($db, $query); if (count($rows) == 0) keinZugriff(); @@ -10205,11 +8801,7 @@ function adminBegegnungSpielplanBestaetigen(): void . "\n FROM #__sportsmanager_begegnung" . "\n LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis ON #__sportsmanager_begegnung.begegnung_id = #__sportsmanager_unbestaetigtes_ergebnis.begegnung_id" . "\n WHERE #__sportsmanager_begegnung.begegnung_id = $id"; - $db->setQuery($query); - if (!$db->execute()) { - abortWithError($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) { abortWithError("Wrong id!"); } @@ -10237,12 +8829,7 @@ function adminBegegnungSpielplanBestaetigen(): void . "\n WHERE t5.status > 0 " . kategorieFilter("AND t5.kategorie IN") . " AND ((ISNULL(heim_punkte) AND ISNULL(gast_punkte)) OR zwischenergebnis OR NOT ISNULL(unbestaetigtes_ergebnis_id)) AND ((NOT ISNULL(t2.pin) AND t2.pin = '$pin') OR (NOT ISNULL(t3.pin) AND t3.pin = '$pin'))" . "\n ORDER BY t1.zeitpunkt" . "\n LIMIT 1"; - $db->setQuery($query); - if (!$db->execute()) { - abortWithError($db->stderr(true)); - } - $rows = $db->loadObjectList(); - + $rows = loadObjectList($db, $query); if (count($rows) == 0) { keinZugriff(); } @@ -10258,11 +8845,7 @@ function adminBegegnungSpielplanBestaetigen(): void } $query = "SELECT t1.berechtigt_team_id FROM #__sportsmanager_berechtigt_fuer_team AS t1, #__sportsmanager_begegnung AS t2 LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis t3 ON t2.begegnung_id = t3.begegnung_id WHERE NOT t3.zwischenergebnis AND t2.begegnung_id = $id AND t1.berechtigt_user_id = $user_id AND ((t1.berechtigt_team_id = t2.heim_team_id AND t3.vorschlagendes_team_id = t2.gast_team_id) OR (t1.berechtigt_team_id = t2.gast_team_id AND t3.vorschlagendes_team_id = t2.heim_team_id))"; - $db->setQuery($query); - if (!$db->execute()) { - abortWithError($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) == 0) { keinZugriff(); } @@ -10278,11 +8861,7 @@ function adminBegegnungSpielplanBestaetigen(): void // Veranstaltung ermitteln $query = "SELECT * FROM #__sportsmanager_veranstaltung WHERE veranstaltung_id = $veranstaltungId"; - $db->setQuery($query); - if (!$db->execute()) { - abortWithError($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) { abortWithError("Wrong id!"); } @@ -10297,11 +8876,7 @@ function adminBegegnungSpielplanBestaetigen(): void // Heimteam ermitteln $query = "SELECT * FROM #__sportsmanager_team WHERE team_id = $begegnung->heim_team_id"; - $db->setQuery($query); - if (!$db->execute()) { - abortWithError($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) { abortWithError("Wrong id!"); } @@ -10309,11 +8884,7 @@ function adminBegegnungSpielplanBestaetigen(): void // Gastteam ermitteln $query = "SELECT * FROM #__sportsmanager_team WHERE team_id = $begegnung->gast_team_id"; - $db->setQuery($query); - if (!$db->execute()) { - abortWithError($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) { abortWithError("Wrong id!"); } @@ -10335,11 +8906,7 @@ function adminBegegnungSpielplanBestaetigen(): void $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."; $query = "SELECT * FROM #__users AS t1, #__sportsmanager_berechtigt_fuer_team AS t2 WHERE t1.id = t2.berechtigt_user_id AND (t2.berechtigt_team_id = " . $begegnung->heim_team_id . " OR t2.berechtigt_team_id = " . $begegnung->gast_team_id . ")"; - $db->setQuery($query); - if (!$db->execute()) { - abortWithError($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if(!empty($rows)) { $mailer = Factory::getContainer()->get(MailerFactoryInterface::class)->createMailer(); $mailer->setSender($mailfrom, $fromname); @@ -10618,11 +9185,7 @@ function adminBegegnungenGenerierenForm(): void keinZugriff(true); $query = "SELECT * FROM #__sportsmanager_veranstaltung WHERE veranstaltung_id = $veranstaltungId"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die("Wrong id!"); $veranstaltung = $rows[0]; @@ -10630,12 +9193,7 @@ function adminBegegnungenGenerierenForm(): void . "\n FROM #__sportsmanager_team" . "\n WHERE veranstaltung_id = $veranstaltungId" . "\n ORDER BY teamname"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); - + $rows = loadObjectList($db, $query); HTML_sportsmanager_admin::adminBegegnungenGenerieren($veranstaltung, $rows); } @@ -10663,12 +9221,7 @@ function adminBegegnungenGenerierenForm(): void . "\n FROM #__sportsmanager_team AS t1" . "\n WHERE veranstaltung_id = $veranstaltungId" . "\n ORDER BY t1.teamname"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $teams = $db->loadObjectList(); - + $teams = loadObjectList($db, $query); //Erstellen des Array Teams mit Überprüfung der Mannschaften $teams_ok = true; $teamIds = null; @@ -10751,8 +9304,8 @@ function adminBegegnungenGenerierenForm(): void if ($spiele[$spieltag][$spielnr][0] > $anzahlteams || $spiele[$spieltag][$spielnr][1] > $anzahlteams) continue; - $heim_team_id = $teamIds[$spiele[$spieltag][$spielnr][0]]; - $gast_team_id = $teamIds[$spiele[$spieltag][$spielnr][1]]; + $heim_team_id = $teamIds[trim($spiele[$spieltag][$spielnr][0])]; + $gast_team_id = $teamIds[trim($spiele[$spieltag][$spielnr][1])]; $heim_team = null; foreach ($teams as $t) { @@ -10793,6 +9346,7 @@ function adminBegegnungenGenerierenForm(): void $Begegnung[$Zeile]['zeitpunkt'] = $zeitpunkt; $Begegnung[$Zeile]['heim_team_id'] = $heim_team_id; $Begegnung[$Zeile]['gast_team_id'] = $gast_team_id; + $Begegnung[$Zeile]['spiel_nr'] = $spielnr; $Zeile++; @@ -10818,8 +9372,9 @@ function adminBegegnungenGenerierenForm(): void $Begegnung[$Zeile]['spieltag'] = $spieltag_nr; $Begegnung[$Zeile]['zeitpunkt'] = $zeitpunkt; - $Begegnung[$Zeile]['heim_team_id'] = $heim_team_id; - $Begegnung[$Zeile]['gast_team_id'] = $gast_team_id; + $Begegnung[$Zeile]['heim_team_id'] = $gast_team_id; + $Begegnung[$Zeile]['gast_team_id'] = $heim_team_id; + $Begegnung[$Zeile]['spiel_nr'] = $spielnr; $Zeile++; } @@ -10828,16 +9383,16 @@ function adminBegegnungenGenerierenForm(): void if ($datumsangaben and $teams_ok and $spieltage_ok) { $Zeile = 1; - $query = "INSERT INTO #__sportsmanager_begegnung (spieltag, zeitpunkt, heim_team_id, gast_team_id) VALUES "; + $query = "INSERT INTO #__sportsmanager_begegnung (spieltag, spiel_nr, zeitpunkt, heim_team_id, gast_team_id) VALUES "; foreach ($Begegnung as $value) { if ($Zeile > 1) { $query .= ", "; } - $query .= "(" . $value['spieltag'] . "," . ($value['zeitpunkt'] != NULL ? "'" . $value['zeitpunkt'] . "'" : "NULL") . "," . $value['heim_team_id'] . "," . $value['gast_team_id'] . ") "; + $query .= "(" . $value['spieltag'] . "," . $value['spiel_nr'] . "," . ($value['zeitpunkt'] != NULL ? "'" . $value['zeitpunkt'] . "'" : "NULL") . "," . $value['heim_team_id'] . "," . $value['gast_team_id'] . ") "; $Zeile++; } $query .= ";"; - echo $query; + $db->setQuery($query); if (!$db->execute()) { @@ -10874,20 +9429,41 @@ function adminBegegnungenImportierenForm(): void keinZugriff(true); $query = "SELECT * FROM #__sportsmanager_veranstaltung WHERE veranstaltung_id = $veranstaltungId"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die("Wrong id!"); $veranstaltung = $rows[0]; HTML_sportsmanager_admin::adminBegegnungenImportieren($veranstaltung); } +function vergleich($text1, $text2): bool +{ + $suchen = ["_","-"," "]; + $ersetzen = ["","",""]; + $begriffe = explode(",", $text2); + foreach($begriffe as $begriff) + { + $text1 = strtolower(str_replace($suchen,$ersetzen,$text1)); + $begriff = strtolower(str_replace($suchen,$ersetzen,$begriff)); + if ($text1 == $begriff) return true; + } + return false; +} + +function erstelleZeitpunkt($datum_jahr, $datum_kw, $heimspiel_wochentag, $heimspiel_uhrzeit): bool|string +{ + if (!empty($datum_jahr) && !empty($datum_kw) && !empty($heimspiel_wochentag) && !empty($heimspiel_uhrzeit)) + { + $ts = getdate(mondaykw($datum_kw, $datum_jahr, $heimspiel_wochentag - 1)); + return sprintf("%04d-%02d-%02d %02d:%02d:%02d", $ts["year"], $ts["mon"], $ts["mday"], + floor($heimspiel_uhrzeit / 100), $heimspiel_uhrzeit % 100, 0); + } + else + return false; +} + function adminBegegnungenImportieren(): void { - //Jürgen Meyer 07.03.2025 $db = getDatabase(); global $_FILES; $jInput = Factory::getContainer()->get(SiteApplication::class)->input; @@ -10905,17 +9481,18 @@ function adminBegegnungenImportieren(): void echo Text::_('COM_SPORTSMANAGER_IMPORT_GROUP_GAME2') . "

"; - $query = "SELECT team_id, teamname FROM #__sportsmanager_team WHERE veranstaltung_id = " . $veranstaltungId . ";"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $query = "SELECT team_id, teamname, heimspiel_wochentag, heimspiel_uhrzeit" + . "\n FROM #__sportsmanager_team" + . "\n WHERE veranstaltung_id = " . $veranstaltungId . ";"; + + $rows = loadObjectList($db, $query); if (count($rows) < 1) die("Wrong id!"); $Mannschaften = null; foreach ($rows as $value) { - $Mannschaften[$value->teamname] = $value->team_id; + $Mannschaften[$value->teamname]['team_id'] = $value->team_id; + $Mannschaften[$value->teamname]['heimspiel_wochentag'] = $value->heimspiel_wochentag; + $Mannschaften[$value->teamname]['heimspiel_uhrzeit'] = $value->heimspiel_uhrzeit; } if (empty($_FILES["daten"]["tmp_name"]) || !is_uploaded_file($_FILES["daten"]["tmp_name"])) { @@ -10944,26 +9521,53 @@ function adminBegegnungenImportieren(): void $import_zeile = false; while (($data = fgetcsv($handle, 1000, ";")) !== FALSE) { if ($Zeile == 1) { - $Titelzeile = array_flip($data); + foreach($data as $spalte_nr => $spalte) + { + if (vergleich($spalte,"spieltagnr,spieltagnummer")) $Titelzeile['Spieltag_Nr'] = $spalte_nr; + if (vergleich($spalte,"spielstart,zeitpunkt")) $Titelzeile['Spielstart'] = $spalte_nr; + if (vergleich($spalte,"heim,heimteam,heimmannschaft")) $Titelzeile['Heim'] = $spalte_nr; + if (vergleich($spalte,"gast,gastteam,gastmannschaft")) $Titelzeile['Gast'] = $spalte_nr; + if (vergleich($spalte,"spielnr,spielnummer")) $Titelzeile['Spiel_Nr'] = $spalte_nr; + if (vergleich($spalte,"spieltagtitel")) $Titelzeile['Spieltag_Titel'] = $spalte_nr; + if (vergleich($spalte,"jahr,spieljahr")) $Titelzeile['Spieljahr'] = $spalte_nr; + if (vergleich($spalte,"kalenderwoche,woche,kw")) $Titelzeile['Kalenderwoche'] = $spalte_nr; + } } else { $import_zeile = true; $bgcolor = "green"; $Begegnung[$Zeile]['spieltag'] = $data[$Titelzeile['Spieltag_Nr']]; $Begegnung[$Zeile]['zeitpunkt'] = UhrzeitWandlerDE($data[$Titelzeile['Spielstart']]); - $Begegnung[$Zeile]['heim_team_id'] = $Mannschaften[utf8_encode($data[$Titelzeile['Heim']])]; - $Begegnung[$Zeile]['gast_team_id'] = $Mannschaften[utf8_encode($data[$Titelzeile['Gast']])]; + $Begegnung[$Zeile]['heim_team_id'] = $Mannschaften[$data[$Titelzeile['Heim']]]['team_id']; + $Begegnung[$Zeile]['gast_team_id'] = $Mannschaften[$data[$Titelzeile['Gast']]]['team_id']; + if (isset($data[$Titelzeile['Spiel_Nr']])) $Begegnung[$Zeile]['spiel_nr'] = $data[$Titelzeile['Spiel_Nr']]; + if (isset($data[$Titelzeile['Spieltag_Titel']])) $Begegnung[$Zeile]['spieltag_titel'] = $data[$Titelzeile['Spieltag_Titel']]; echo ""; if ($Begegnung[$Zeile]['spieltag'] > 99 or $Begegnung[$Zeile]['spieltag'] < 1) { $bgcolor = "red"; $import = false; } echo "" . $data[$Titelzeile['Spieltag_Nr']] . ""; + + if (empty($data[$Titelzeile['Spielstart']]) + AND !empty($data[$Titelzeile['Spieljahr']]) + AND !empty($data[$Titelzeile['Kalenderwoche']]) + AND !empty($Mannschaften[$data[$Titelzeile['Heim']]]['heimspiel_wochentag']) + AND !empty($Mannschaften[$data[$Titelzeile['Heim']]]['heimspiel_uhrzeit'])) + { + $data[$Titelzeile['Spielstart']] = + erstelleZeitpunkt($data[$Titelzeile['Spieljahr']], $data[$Titelzeile['Kalenderwoche']], + $Mannschaften[$data[$Titelzeile['Heim']]]['heimspiel_wochentag'], + $Mannschaften[$data[$Titelzeile['Heim']]]['heimspiel_uhrzeit']); + } + + $Begegnung[$Zeile]['zeitpunkt'] = $data[$Titelzeile['Spielstart']]; if (!validateDate($Begegnung[$Zeile]['zeitpunkt'])) { $bgcolor = "red"; $import = false; } else { $bgcolor = "green"; } + echo "" . $data[$Titelzeile['Spielstart']] . ""; if ($Begegnung[$Zeile]['heim_team_id'] == "") { if ($data[$Titelzeile['Heim']] == "spielfrei") { @@ -10976,7 +9580,7 @@ function adminBegegnungenImportieren(): void } else { $bgcolor = "green"; } - echo "" . utf8_encode($data[$Titelzeile['Heim']]) . ""; + echo "" . $data[$Titelzeile['Heim']] . ""; if ($Begegnung[$Zeile]['gast_team_id'] == "") { if ($data[$Titelzeile['Gast']] == "spielfrei") { $bgcolor = "orange"; @@ -10988,7 +9592,7 @@ function adminBegegnungenImportieren(): void } else { $bgcolor = "green"; } - echo "" . utf8_encode($data[$Titelzeile['Gast']]) . ""; + echo "" . $data[$Titelzeile['Gast']] . ""; echo ""; } if (!$import_zeile) { @@ -11001,18 +9605,18 @@ function adminBegegnungenImportieren(): void if ($import) { $Zeile = 1; - $query = "INSERT INTO #__sportsmanager_begegnung (spieltag, zeitpunkt, heim_team_id, gast_team_id) VALUES "; + $query = "INSERT INTO #__sportsmanager_begegnung (spieltag, zeitpunkt, spieltag_titel, spiel_nr, heim_team_id, gast_team_id) VALUES "; foreach ($Begegnung as $value) { if ($Zeile > 1) { $query .= ", "; } - $query .= "(" . $value['spieltag'] . ",'" . $value['zeitpunkt'] . "'," . $value['heim_team_id'] . "," . $value['gast_team_id'] . ") "; + $query .= "(" . $value['spieltag'] . ",'" . $value['zeitpunkt'] . "','" . + ($value['spieltag_titel'] ?? "") . "', " . ($value['spiel_nr'] ?? "NULL") . " ," . + $value['heim_team_id'] . "," . $value['gast_team_id'] . ") "; $Zeile++; } $query .= ";"; - $db->setQuery($query); - if (!$db->execute()) { die($db->stderr(true)); } else { @@ -11045,11 +9649,7 @@ function adminBegegnungenRundeErzeugenForm(): void keinZugriff(true); $query = "SELECT * FROM #__sportsmanager_veranstaltung WHERE veranstaltung_id = $veranstaltungId"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die("Wrong id!"); $veranstaltung = $rows[0]; @@ -11059,32 +9659,18 @@ function adminBegegnungenRundeErzeugenForm(): void . "\n INNER JOIN #__sportsmanager_begegnung ON team_id = heim_team_id" . "\n WHERE veranstaltung_id = $veranstaltungId" . "\n ORDER BY zeitpunkt DESC LIMIT 1"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); $row = count($rows) < 1 ? null : $rows[0]; // Falls keine Begegnung als Vorlage verfügbar $query = "SELECT *" . "\n FROM #__sportsmanager_team" . "\n WHERE veranstaltung_id = $veranstaltungId" . "\n ORDER BY teamname"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); - + $rows = loadObjectList($db, $query); $query = "SELECT *" . "\n FROM #__sportsmanager_spielort" . "\n ORDER BY ortsname, name, ortsteil"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $spielorte = $db->loadObjectList(); - + $spielorte = loadObjectList($db, $query); HTML_sportsmanager_admin::adminBegegnungenRundeErzeugen($veranstaltung, $rows, $row, $spielorte); } @@ -11131,12 +9717,7 @@ function adminBegegnungenRundeErzeugenForm(): void . "\n FROM #__sportsmanager_team AS t1" . "\n WHERE veranstaltung_id = $veranstaltungId" . "\n ORDER BY t1.teamname"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $teams = $db->loadObjectList(); - + $teams = loadObjectList($db, $query); $teamIds = []; for ($i = 1; $i <= $anzahlteams; $i++) $teamIds[$i] = $jInput->get('team_id_' . $i, 0, 'INT'); @@ -11186,6 +9767,466 @@ function adminBegegnungenRundeErzeugenForm(): void redirectSportsManagerURL('&task=admin_begegnungen&veranstaltungid=' . $veranstaltungId); } +function getAuswahlSpieltagtitel() +{ + $db = getDatabase(); + $query = "SELECT spieltag_titel FROM #__sportsmanager_begegnung" + . "\n WHERE spieltag_titel <> ''" + . "\n GROUP BY spieltag_titel ORDER BY spieltag_titel;"; + return loadObjectList($db, $query); +} + +function adminBegegnungenPokalrundeAuslosenForm(): void +{ + $db = getDatabase(); + $jInput = Factory::getContainer()->get(SiteApplication::class)->input; + $veranstaltungId = $jInput->get('veranstaltungid', 0, 'INT'); + + if ($veranstaltungId == 0) die("Missing id!"); + + if (!benutzerZugriff("mannschaftswettbewerb_aendern") && !benutzerVeranstaltungModerator($veranstaltungId)) + keinZugriff(true); + + $query = "SELECT * FROM #__sportsmanager_veranstaltung WHERE veranstaltung_id = $veranstaltungId"; + $rows = loadObjectList($db, $query); + if (count($rows) < 1) die("Wrong id!"); + $veranstaltung = $rows[0]; + + $query = "SELECT COUNT(teamname)" + . "\n FROM #__sportsmanager_team" + . "\n WHERE veranstaltung_id = $veranstaltungId" + . "\n ORDER BY teamname"; + $anzahlteams = loadResult($db, $query); + $veranstaltung->letzteRunde = getAnzahlRunden($anzahlteams); + + $query = "SELECT t1.spieltag AS Runden_Nr + 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 + WHERE t4.veranstaltung_id = ".$veranstaltungId." + GROUP BY t1.spieltag + ORDER BY t1.spieltag DESC LIMIT 1;"; + $Runde = loadObjectList($db, $query); + if (!isset($Runde[0])) + $veranstaltung->naechsteRunde = 1; + else + $veranstaltung->naechsteRunde = $Runde[0]->Runden_Nr + 1; + + $veranstaltung->titelVorschlag = getRundenTitel(pow(2, $veranstaltung->letzteRunde - $veranstaltung->naechsteRunde) * 2); + + // Spieltage ermitteln, die noch nicht abgeschlossen sind + $query = "SELECT COUNT(DISTINCT spieltag) AS Anzahl" + . "\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" + . "\n AND (heim_spielpunkte IS NULL OR gast_spielpunkte IS NULL" + . "\n OR #__sportsmanager_unbestaetigtes_ergebnis.begegnung_id IS NOT NULL)" + . "\n ORDER BY spieltag DESC"; + $veranstaltung->nicht_abgeschlossene_spiele = loadResult($db, $query); + + $query = "SELECT *" + . "\n FROM #__sportsmanager_spielort" + . "\n ORDER BY ortsname, name, ortsteil"; + $spielorte = loadObjectList($db, $query); + + HTML_sportsmanager_admin::adminBegegnungenPokalrundeAuslosenForm($veranstaltung,getAuswahlSpieltagtitel(),$spielorte); +} + +#[NoReturn] function adminBegegnungenPokalrundeAuslosen(): void +{ + $db = getDatabase(); + $jInput = Factory::getContainer()->get(SiteApplication::class)->input; + + $sperren = false; + $veranstaltungId = $jInput->get('veranstaltungid', 0, 'INT'); + $spielort_id = $jInput->get('spielort_id', 0, 'INT'); + $rundenNr = $jInput->get('runde', 0, 'INT'); + $rundenTitel = $jInput->get('rundentitel', 0, 'STRING'); + $spielumplatz3 = $jInput->get('spielumplatz3', 0, 'INT'); + + $teams = []; + + if ($veranstaltungId == 0) die("Missing id!"); + + if (!benutzerZugriff("mannschaftswettbewerb_aendern") && !benutzerVeranstaltungModerator($veranstaltungId)) + keinZugriff(); + + if ($jInput->get('cancel', false, 'BOOL')) { + redirectSportsManagerURL('&task=admin_begegnungen&veranstaltungid=' . $veranstaltungId); + } + + $query = "SELECT COUNT(teamname)" + . "\n FROM #__sportsmanager_team" + . "\n WHERE veranstaltung_id = $veranstaltungId" + . "\n ORDER BY teamname"; + $anzahlteams = loadResult($db, $query); + $anzahlrunden = getAnzahlRunden($anzahlteams); + $Verlierer = ""; + + //Alle Teams einlesen + $query = "SELECT *" + . "\n FROM #__sportsmanager_team" + . "\n WHERE veranstaltung_id = $veranstaltungId "; + $teams_komplett = json_decode(json_encode(loadObjectList($db, $query)), true); + foreach($teams_komplett AS $team) + { + $teams[$team['team_id']] = $team; + } + + if ($rundenNr == 1){ + $anzahlmatches = $anzahlteams - pow(2, $anzahlrunden - 1 ); + } + else{ + $anzahlmatches = pow(2, $anzahlrunden - $rundenNr); + //Verlierer rausfiltern + $query = "SELECT IF(t1.heim_punkte > t1.gast_punkte, t3.team_id, t2.team_id) AS Verlierer" + . "\n FROM #__sportsmanager_begegnung AS t1" + . "\n LEFT JOIN #__sportsmanager_team AS t2" + . "\n ON t1.heim_team_id = t2.team_id LEFT JOIN #__sportsmanager_team AS t3" + . "\n ON t1.gast_team_id = t3.team_id LEFT JOIN #__sportsmanager_veranstaltung AS t4" + . "\n ON t2.veranstaltung_id = t4.veranstaltung_id" + . "\n WHERE t4.veranstaltung_id = $veranstaltungId;"; + $loosers = loadObjectList($db, $query); + + $Zeile = 0; + foreach($loosers AS $looser) + { + if ($Zeile > 0) $Verlierer .= ","; + $Verlierer .= $looser->Verlierer; + $Zeile++; + } + } + + $query = "SELECT team_id" + . "\n FROM #__sportsmanager_team" + . "\n WHERE veranstaltung_id = $veranstaltungId "; + if ($Verlierer != "") + $query .= "\n AND team_id NOT IN (".$Verlierer.");"; + + $teams_auslosung = json_decode(json_encode(loadObjectList($db, $query)), true); + + // Teams durchmischen + shuffle($teams_auslosung); + + if ($anzahlteams < 2) + { + $Fehlertext = "Zu wenige Teams vorhanden!!!"; + $sperren = true; + } + + if ($anzahlteams > 128) + { + $Fehlertext = "Zu viele Teams vorhanden!!!"; + $sperren = true; + } + + $datum_jahr = null; + $zeitpunkt = ""; + + if ($jInput->get('datum_tag', 0, 'STRING') > 0 && $jInput->get('datum_jahr', 0, 'STRING') >= 0 && $jInput->get('datum_monat', 0, 'STRING') >= 0 + && $jInput->get('uhrzeit_stunden', 0, 'STRING') >= 0 && $jInput->get('uhrzeit_minuten', 0, 'STRING') >= 0) { + $datum = normalisiertesDatum($jInput->get('datum_jahr', 0, 'INT') == 0 ? null : sprintf("%04d-%02d-%02d", $jInput->get('datum_jahr', 0, 'INT'), $jInput->get('datum_monat', 0, 'INT'), $jInput->get('datum_tag', 0, 'INT'))); + $uhrzeit = normalisierteUhrzeit(sprintf(" %02d-%02d-00", $jInput->get('uhrzeit_stunden', 0, 'INT'), $jInput->get('uhrzeit_minuten', 0, 'INT'))); + $zeitpunkt = $datum == null || $uhrzeit == null ? null : ($datum . " " . $uhrzeit); + $datum_kw = 0; + } else { + $datum_jahr = $jInput->get('datum_jahr', 0, 'INT'); + $datum_kw = abs($jInput->get('datum_tag', 0, 'INT')); + } + + if (!((($jInput->get('datum_tag', 0, 'STRING') <= 0 && $jInput->get('datum_jahr', 0, 'STRING') >= 2000)) || $zeitpunkt != "")) + { + $Fehlertext = "Bitte ein gültiges Datum eingeben!!!"; + $sperren = true; + } + + for ($matchNr = 0; $matchNr < $anzahlmatches; $matchNr++) { + $team_heim = $matchNr * 2 ; + $team_gast = $team_heim + 1; + $matches[$matchNr]['heim'] = $teams_auslosung[$team_heim]['team_id']; + $matches[$matchNr]['gast'] = $teams_auslosung[$team_gast]['team_id']; + } + + if ($spielumplatz3) + { + //Verlierer Halbfinale ermitteln + $query = "SELECT IF(t1.heim_punkte > t1.gast_punkte, t3.team_id, t2.team_id) AS Verlierer" + . "\n FROM #__sportsmanager_begegnung AS t1" + . "\n LEFT JOIN #__sportsmanager_team AS t2" + . "\n ON t1.heim_team_id = t2.team_id LEFT JOIN #__sportsmanager_team AS t3" + . "\n ON t1.gast_team_id = t3.team_id LEFT JOIN #__sportsmanager_veranstaltung AS t4" + . "\n ON t2.veranstaltung_id = t4.veranstaltung_id" + . "\n WHERE t4.veranstaltung_id = $veranstaltungId" + . "\n AND t1.spieltag = " . ($rundenNr - 1) . " ORDER BY RAND();"; + $loosers = loadObjectList($db, $query); + $matches[2]['heim'] = $loosers[0]->Verlierer; + $matches[2]['gast'] = $loosers[1]->Verlierer; + $matches[2]['rundentitel'] = "Spiel um Platz 3"; + } + + $Fehlertext = ""; + foreach($matches AS $spiel_nr => $match) + { + $matches[$spiel_nr]['rundentitel'] = $matches[$spiel_nr]['rundentitel'] ?? $rundenTitel; + $matches[$spiel_nr]['zeitpunkt'] = $zeitpunkt; + $matches[$spiel_nr]['heimspielort_id'] = $teams[$teams_setzliste[$setzung[0]]]['heimspielort_id']; + $team_heim = $match['heim']; + if ($datum_kw != null && $teams[$team_heim]['heimspiel_wochentag'] !== 0) { + $ts = getdate(mondaykw($datum_kw, $datum_jahr, $teams[$team_heim]['heimspiel_wochentag'] - 1)); + $matches[$spiel_nr]['zeitpunkt'] = sprintf("%04d-%02d-%02d %02d:%02d:%02d", $ts["year"], $ts["mon"], $ts["mday"], + floor($teams[$team_heim]['heimspiel_uhrzeit'] / 100), $teams[$team_heim]['heimspiel_uhrzeit'] % 100, 0); + } + if (!validateDate($matches[$spiel_nr]['zeitpunkt'])){ + $sperren = true; + $Fehlertext .= "Bitte die Heimspiel Uhrzeit des " . $teams[$matches[$spiel_nr]['heim']]['teamname'] . " überprüfen!!!
"; + } + } + + if (!$sperren){ + $Zeile = 0; + $query = "INSERT INTO #__sportsmanager_begegnung (zeitpunkt, spieltag, spieltag_titel, spiel_nr, heim_team_id, gast_team_id, spielort_id) values "; + foreach ($matches AS $key => $match) { + if (++$Zeile > 1) $query .= ", "; + $query .= "('" . $match['zeitpunkt'] . "', " . $rundenNr . + ", '" . $match['rundentitel'] . "', " . $key . + ", '" . $match['heim'] . "', '" . $match['gast'] . "'" . + ", " . ($spielort_id != 0 ? "'" . $spielort_id . "'" : "NULL") . ")"; + } + $query .= "; "; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + redirectSportsManagerURL('&task=admin_begegnungen&veranstaltungid=' . $veranstaltungId); + } + else{ + echo " + $Fehlertext\n"; + } +} + +#[NoReturn] function adminBegegnungenPokalrundeSetzliste(): void +{ + + $db = getDatabase(); + $jInput = Factory::getContainer()->get(SiteApplication::class)->input; + + $teams = []; + $setzliste = []; + $setzung = []; + $matches = []; + + $sperren = false; + $veranstaltungId = $jInput->get('veranstaltungid', 0, 'INT'); + $spielort_id = $jInput->get('spielort_id', 0, 'INT'); + $rundenNr = $jInput->get('runde', 0, 'INT'); + $rundenTitel = $jInput->get('rundentitel', 0, 'STRING'); + $spielumplatz3 = $jInput->get('spielumplatz3', 0, 'INT'); + $heimrecht_losen = $jInput->get('heimrecht_losen', 0, 'INT'); + + if ($veranstaltungId == 0) die("Missing id!"); + + if (!benutzerZugriff("mannschaftswettbewerb_aendern") && !benutzerVeranstaltungModerator($veranstaltungId)) + keinZugriff(); + + if ($jInput->get('cancel', false, 'BOOL')) { + redirectSportsManagerURL('&task=admin_begegnungen&veranstaltungid=' . $veranstaltungId); + } + + $query = "SELECT COUNT(teamname)" + . "\n FROM #__sportsmanager_team" + . "\n WHERE veranstaltung_id = $veranstaltungId" + . "\n ORDER BY teamname"; + $anzahlteams = loadResult($db, $query); + $anzahlrunden = getAnzahlRunden($anzahlteams); + + //Vergabe der Setzliste + if ($rundenNr == 1){ + $query = "UPDATE #__sportsmanager_team AS t + JOIN ( + SELECT team_id, (@r := @r + 1) AS rnd_num + FROM ( + SELECT team_id + FROM #__sportsmanager_team + WHERE veranstaltung_id = $veranstaltungId + ORDER BY RAND() + ) AS shuffled + JOIN (SELECT @r := 0) AS init + ) AS x ON t.team_id = x.team_id + SET t.setzliste_nr = x.rnd_num;"; + + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + + $query = "SELECT *" + . "\n FROM #__sportsmanager_team" + . "\n WHERE veranstaltung_id = $veranstaltungId" + . "\n ORDER BY setzliste_nr;"; + + $teams_array = json_decode(json_encode(loadObjectList($db, $query)), true); + + foreach($teams_array AS $team) + { + $teams_setzliste[$team['setzliste_nr']] = $team['team_id']; + $teams[$team['team_id']] = $team; + } + + if ($anzahlteams < 2) + { + $Fehlertext = "Zu wenige Teams vorhanden!!!"; + $sperren = true; + } + + $datum_jahr = null; + $zeitpunkt = ""; + + if ($jInput->get('datum_tag', 0, 'STRING') > 0 && $jInput->get('datum_jahr', 0, 'STRING') >= 0 && $jInput->get('datum_monat', 0, 'STRING') >= 0 + && $jInput->get('uhrzeit_stunden', 0, 'STRING') >= 0 && $jInput->get('uhrzeit_minuten', 0, 'STRING') >= 0) { + $datum = normalisiertesDatum($jInput->get('datum_jahr', 0, 'INT') == 0 ? null : sprintf("%04d-%02d-%02d", $jInput->get('datum_jahr', 0, 'INT'), $jInput->get('datum_monat', 0, 'INT'), $jInput->get('datum_tag', 0, 'INT'))); + $uhrzeit = normalisierteUhrzeit(sprintf(" %02d-%02d-00", $jInput->get('uhrzeit_stunden', 0, 'INT'), $jInput->get('uhrzeit_minuten', 0, 'INT'))); + $zeitpunkt = $datum == null || $uhrzeit == null ? null : ($datum . " " . $uhrzeit); + $datum_kw = 0; + } else { + $datum_jahr = $jInput->get('datum_jahr', 0, 'INT'); + $datum_kw = abs($jInput->get('datum_tag', 0, 'INT')); + } + + if (!((($jInput->get('datum_tag', 0, 'STRING') <= 0 && $jInput->get('datum_jahr', 0, 'STRING') >= 2000)) || $zeitpunkt != "")) + { + $Fehlertext = "Bitte ein gültiges Datum eingeben!!!"; + $sperren = true; + } + + $matches = []; + + if ($rundenNr == 1){ + $setzliste = getSetzliste($anzahlrunden); + $spiel_nr = 0; + foreach($setzliste AS $setzung){ + $spiel_nr++; + if ($setzung[0] <= $anzahlteams && $setzung[1] <= $anzahlteams){ + $matches[$spiel_nr]['heim'] = $teams_setzliste[$setzung[0]]; + $matches[$spiel_nr]['gast'] = $teams_setzliste[$setzung[1]]; + } + } + } + + //Freilose Runde 1 ermitteln + if ($rundenNr == 2){ + $setzliste = getSetzliste($anzahlrunden); + $spiel_nr = 0; + foreach($setzliste AS $setzung){ + $spiel_nr++; + if ($setzung[0] > $anzahlteams || $setzung[1] > $anzahlteams){ + if ($spiel_nr % 2) + $matches[round($spiel_nr/2)]['heim'] = $teams_setzliste[min($setzung[0],$setzung[1])]; + else + $matches[round($spiel_nr/2)]['gast'] = $teams_setzliste[min($setzung[0],$setzung[1])]; + } + } + } + + //Sieger der vorherigen Runde ermitteln + if ($rundenNr >= 2){ + $query = "SELECT t4.bezeichnung AS Liga, t1.zeitpunkt AS Spielstart, t2.teamname AS Heim, t3.teamname AS Gast, + t1.heim_team_id, t1.gast_team_id, + t1.spieltag_titel AS Runde, t1.spieltag AS Spieltag_Nr, t1.spiel_nr AS Spiel_Nr, 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 + WHERE t4.veranstaltung_id = " . $veranstaltungId . " AND t1.spieltag = " . ($rundenNr - 1) . " + ORDER BY t4.veranstaltung_id, t1.spieltag, t1.spiel_nr;"; + $begegnungen = json_decode(json_encode(loadObjectList($db, $query)), true); + foreach($begegnungen AS $begegnung) + { + if ($begegnung['Heim_Satzpunkte'] > $begegnung['Gast_Satzpunkte']) + $sieger = $begegnung['heim_team_id']; + else + $sieger = $begegnung['gast_team_id']; + + if ($begegnung['Spiel_Nr'] % 2) + $matches[round($begegnung['Spiel_Nr']/2)]['heim'] = $sieger; + else + $matches[round($begegnung['Spiel_Nr']/2)]['gast'] = $sieger; + } + } + + if ($spielumplatz3) + { + //Verlierer Halbfinale ermitteln + $query = "SELECT IF(t1.heim_punkte > t1.gast_punkte, t3.team_id, t2.team_id) AS Verlierer" + . "\n FROM #__sportsmanager_begegnung AS t1" + . "\n LEFT JOIN #__sportsmanager_team AS t2" + . "\n ON t1.heim_team_id = t2.team_id LEFT JOIN #__sportsmanager_team AS t3" + . "\n ON t1.gast_team_id = t3.team_id LEFT JOIN #__sportsmanager_veranstaltung AS t4" + . "\n ON t2.veranstaltung_id = t4.veranstaltung_id" + . "\n WHERE t4.veranstaltung_id = $veranstaltungId" + . "\n AND t1.spieltag = " . ($rundenNr - 1) . ";"; + $loosers = loadObjectList($db, $query); + $matches[2]['heim'] = $loosers[0]->Verlierer; + $matches[2]['gast'] = $loosers[1]->Verlierer; + $matches[2]['rundentitel'] = "Spiel um Platz 3"; + } + + if ($heimrecht_losen) + { + foreach ($matches as $key => $match) { + if (random_int(0, 1) === 1) { + $tmp = $matches[$key]['heim']; + $matches[$key]['heim'] = $matches[$key]['gast']; + $matches[$key]['gast'] = $tmp; + } + } + } + + $Fehlertext = ""; + foreach($matches AS $spiel_nr => $match) + { + $matches[$spiel_nr]['rundentitel'] = $matches[$spiel_nr]['rundentitel'] ?? $rundenTitel; + $matches[$spiel_nr]['zeitpunkt'] = $zeitpunkt; + $team_heim = $match['heim']; + if ($datum_kw != null && $teams[$team_heim]['heimspiel_wochentag'] !== 0) { + $ts = getdate(mondaykw($datum_kw, $datum_jahr, $teams[$team_heim]['heimspiel_wochentag'] - 1)); + $matches[$spiel_nr]['zeitpunkt'] = sprintf("%04d-%02d-%02d %02d:%02d:%02d", $ts["year"], $ts["mon"], $ts["mday"], + floor($teams[$team_heim]['heimspiel_uhrzeit'] / 100), $teams[$team_heim]['heimspiel_uhrzeit'] % 100, 0); + } + if (!validateDate($matches[$spiel_nr]['zeitpunkt'])){ + $sperren = true; + $Fehlertext .= "Bitte die Heimspiel Uhrzeit des " . $teams[$matches[$spiel_nr]['heim']]['teamname'] . " überprüfen!!!
"; + } + } + + if (!$sperren){ + $Zeile = 0; + $query = "INSERT INTO #__sportsmanager_begegnung (zeitpunkt, spieltag, spieltag_titel, spiel_nr, heim_team_id, gast_team_id, spielort_id) values "; + foreach ($matches AS $key => $match) { + if (++$Zeile > 1) $query .= ", "; + $query .= "('" . $match['zeitpunkt'] . "', " . $rundenNr . + ", '" . $match['rundentitel'] . "', " . $key . + ", '" . $match['heim'] . "', '" . $match['gast'] . "'" . + ", " . ($spielort_id != 0 ? "'" . $spielort_id . "'" : "NULL") . ")"; + } + $query .= "; "; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + + redirectSportsManagerURL('&task=admin_begegnungen&veranstaltungid=' . $veranstaltungId); + } + else{ + echo " + $Fehlertext\n"; + } +} + #[NoReturn] function adminBegegnungenAlleEntfernen(): void { $db = getDatabase(); @@ -11199,11 +10240,7 @@ function adminBegegnungenRundeErzeugenForm(): void // Veranstaltung ermitteln $query = "SELECT * FROM #__sportsmanager_veranstaltung WHERE veranstaltung_id = $veranstaltungId"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die("Wrong id!"); $veranstaltung = $rows[0]; @@ -11211,22 +10248,13 @@ function adminBegegnungenRundeErzeugenForm(): void . "\n FROM #__sportsmanager_begegnung" . "\n LEFT JOIN #__sportsmanager_team ON heim_team_id = team_id" . "\n WHERE veranstaltung_id = $veranstaltungId"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $aktualisieren_ab_datum = $db->loadResult(); + $aktualisieren_ab_datum = loadResult($db, $query); $query = "SELECT *" . "\n FROM #__sportsmanager_begegnung" . "\n LEFT JOIN #__sportsmanager_team ON heim_team_id = team_id" . "\n WHERE veranstaltung_id = $veranstaltungId"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); - + $rows = loadObjectList($db, $query); foreach ($rows as $row) { $id = $row->begegnung_id; @@ -11253,6 +10281,12 @@ function adminBegegnungenRundeErzeugenForm(): void if (!$db->execute()) { die($db->stderr(true)); } + + $query = "UPDATE #__sportsmanager_team SET setzliste_nr = NULL WHERE veranstaltung_id = $veranstaltungId;"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } } if ($veranstaltung->status != 0 && $veranstaltung->elo_wertung != 0) { @@ -11277,11 +10311,7 @@ function adminBegegnungenExportForm(): void // Veranstaltung ermitteln $query = "SELECT * FROM #__sportsmanager_veranstaltung WHERE veranstaltung_id = $veranstaltungId"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die("Wrong id!"); $veranstaltung = $rows[0]; @@ -11290,12 +10320,8 @@ function adminBegegnungenExportForm(): void WHERE saison_id = " . $veranstaltung->saison_id . " AND #__sportsmanager_veranstaltung.bezeichnung NOT IN ('Schiedsrichter') ORDER BY #__sportsmanager_veranstaltung.reihenfolge;"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); - if (count($rows) < 1) die("Wrong id!"); + $rows = loadObjectList($db, $query); + if (count($rows) < 1) die("Wrong id!"); $saison = $rows; HTML_sportsmanager_admin::adminBegegnungenExport($veranstaltung,$saison); @@ -11306,7 +10332,7 @@ function adminBegegnungenExportForm(): void $db = getDatabase(); $jInput = Factory::getContainer()->get(SiteApplication::class)->input; - $veranstaltungId = $jInput->get('veranstaltungid', 0, 'INT'); + $veranstaltungId = $jInput->get('veranstaltungId', 0, 'INT'); $export = $jInput->get('export', '', 'RAW'); if ($veranstaltungId == 0) die("Missing id!"); @@ -11317,11 +10343,7 @@ function adminBegegnungenExportForm(): void // Veranstaltung ermitteln $query = "SELECT * FROM #__sportsmanager_veranstaltung WHERE veranstaltung_id = $veranstaltungId"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die("Wrong id!"); $veranstaltung = $rows[0]; @@ -11346,12 +10368,7 @@ function adminBegegnungenExportForm(): void WHERE t1.veranstaltung_id = " . $veranstaltungId . "; "; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); - + $rows = loadObjectList($db, $query); $dateiname = "Spieler " . $veranstaltung->bezeichnung; } @@ -11359,8 +10376,9 @@ function adminBegegnungenExportForm(): void $query = " SELECT t1.begegnung_id AS ID, t5.saisonbezeichnung AS Saison, t4.bezeichnung AS Liga, t1.zeitpunkt AS Spielstart, t2.teamname AS Heim, t3.teamname AS Gast, - t1.spieltag AS Spieltag_Nr, t1.heim_punkte AS Heim_Tore, t1.gast_punkte AS Gast_Tore, - t1.heim_spielpunkte AS Heim_Satzpunkte, t1.gast_spielpunkte AS Gast_Satzpunkte + t1.spieltag AS Spieltag_Nr, t1.spiel_nr AS Spiel_Nr, 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 @@ -11370,12 +10388,7 @@ function adminBegegnungenExportForm(): void ORDER BY t4.veranstaltung_id, t1.spieltag, t1.zeitpunkt; "; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); - + $rows = loadObjectList($db, $query); $dateiname = "Spielplan " . $veranstaltung->bezeichnung; } @@ -11391,11 +10404,7 @@ function adminBegegnungenExportForm(): void WHERE t1.veranstaltung_id = " . $veranstaltungId . " "; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $spielmodus = $db->loadObjectList(); + $spielmodus = loadObjectList($db, $query); $Anzahl_Saetze = count(explode(",", $spielmodus[0]->modus)); @@ -11412,12 +10421,7 @@ function adminBegegnungenExportForm(): void LIMIT 1; "; - $letzterEintrag = null; - $db->setQuery($query); - if ($db->execute()) { - $letzterEintrag = $db->loadObjectList(); - } - + $letzterEintrag = loadObjectList($db, $query); $value->gespeichert_um = $letzterEintrag[0]->gespeichert_um; $value->gespeichert_von = $letzterEintrag[0]->gespeichert_von; @@ -11439,12 +10443,7 @@ function adminBegegnungenExportForm(): void ORDER BY t1.teamspiel_nummer; "; - $spielbericht = null; - $db->setQuery($query); - if ($db->execute()) { - $spielbericht = $db->loadObjectList(); - } - + $spielbericht = loadObjectList($db, $query); for ($i = 1; $i <= $Anzahl_Saetze; $i++) { $variable = "S" . $i . "_Pass_Heim1"; $value->$variable = $spielbericht[$i - 1]->Pass_Heim1; @@ -11518,55 +10517,27 @@ function adminEditTurnier(): void $row = null; else { $query = "SELECT * FROM #__sportsmanager_turnier WHERE turnier_id = $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die("Wrong id!"); $row = $rows[0]; } $vorlage = $jInput->get('vorlage', 0, 'INT'); $query = "SELECT * FROM #__sportsmanager_veranstalter ORDER BY veranstalterbezeichnung"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $veranstalter = $db->loadObjectList(); - + $veranstalter = loadObjectList($db, $query); $query = "SELECT * FROM #__sportsmanager_saison ORDER BY saisonbezeichnung DESC"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $saisons = $db->loadObjectList(); - + $saisons = loadObjectList($db, $query); if (empty($id)) { $berechtigt_fuer_turnier = array(); } else { $query = "SELECT #__sportsmanager_berechtigt_fuer_turnier.* FROM #__sportsmanager_berechtigt_fuer_turnier, #__users WHERE berechtigt_user_id = id AND berechtigt_turnier_id = $id ORDER BY username, name"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $berechtigt_fuer_turnier = $db->loadObjectList(); + $berechtigt_fuer_turnier = loadObjectList($db, $query); } $query = "SELECT * FROM #__users ORDER BY name, username"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $users = $db->loadObjectList(); - + $users = loadObjectList($db, $query); $query = "SELECT nummer, bezeichnung FROM #__sportsmanager_kategorie WHERE typ = 3 ORDER BY nummer"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows_kategorien = $db->loadObjectList(); - + $rows_kategorien = loadObjectList($db, $query); $kategorien = array(); foreach ($rows_kategorien as $kategorie) $kategorien[$kategorie->nummer] = $kategorie->bezeichnung; @@ -11610,11 +10581,7 @@ function adminEditTurnier(): void $vorlage_id = $id; $id = 0; $query = "SELECT erster_tag FROM #__sportsmanager_turnier WHERE turnier_id = $vorlage_id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die("Wrong id!"); $vorlage_erster_tag = $rows[0]->erster_tag; } @@ -11651,12 +10618,7 @@ function adminEditTurnier(): void } $query = "SELECT * FROM #__sportsmanager_berechtigt_fuer_turnier WHERE berechtigt_turnier_id = $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); - + $rows = loadObjectList($db, $query); foreach ($rows as $row) { $index = array_search($row->berechtigt_user_id, $berechtigt_fuer_turnier_user_ids); if ($index !== false) { @@ -11676,12 +10638,7 @@ function adminEditTurnier(): void $query = "SELECT *" . "\n FROM #__sportsmanager_turnierdisziplin" . "\n WHERE turnier_id = $vorlage_id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $disziplinen = $db->loadObjectList(); - + $disziplinen = loadObjectList($db, $query); foreach ($disziplinen as $disziplin) { $ts = getdate(strtotime($erster_tag) - strtotime($vorlage_erster_tag) + strtotime($disziplin->beginn)); $neuer_beginn = $disziplin->beginn == null ? null : sprintf("%04d-%02d-%02d %02d:%02d", $ts["year"], $ts["mon"], $ts["mday"], $ts["hours"], $ts["minutes"]); @@ -11697,12 +10654,7 @@ function adminEditTurnier(): void $query = "SELECT *" . "\n FROM #__sportsmanager_rangliste_turnierdisziplin" . "\n WHERE turnierdisziplin_id = $disziplin->turnierdisziplin_id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $ranglisten = $db->loadObjectList(); - + $ranglisten = loadObjectList($db, $query); foreach ($ranglisten as $rangliste) { $query = "INSERT INTO #__sportsmanager_rangliste_turnierdisziplin (rangliste_id, turnierdisziplin_id, system_id, wertung, doppel_teilwertung) VALUES ('$rangliste->rangliste_id', '$disziplin_id', " . ($rangliste->system_id != null ? "'$rangliste->system_id'" : "NULL") . ", '" . $db->escape($rangliste->wertung) . "', '" . $db->escape($rangliste->doppel_teilwertung) . "');"; $db->setQuery($query); @@ -11727,20 +10679,12 @@ function adminEditTurnier(): void $id = $jInput->get('id', 0, 'INT'); $query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_turnierdisziplin WHERE turnier_id = $id AND elo_wertung > 0), 1, 0)"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $elo_aktualisieren = $db->loadResult(); + $elo_aktualisieren = loadResult($db, $query); $query = "SELECT MIN(DATE(beginn))" . "\n FROM #__sportsmanager_turnierdisziplin" . "\n WHERE turnier_id = $id AND elo_wertung > 0"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $aktualisieren_ab_datum = $db->loadResult(); + $aktualisieren_ab_datum = loadResult($db, $query); $query = "DELETE #__sportsmanager_turnierspiel FROM #__sportsmanager_turnierspiel, #__sportsmanager_turnierdisziplin WHERE #__sportsmanager_turnierspiel.turnierdisziplin_id = #__sportsmanager_turnierdisziplin.turnierdisziplin_id AND turnier_id = $id;"; $db->setQuery($query); @@ -11820,11 +10764,7 @@ function adminTurnierdisziplinen(): void $beschraenkter_zugriff_turniere = benutzerZugriff("turniere_aendern") ? 0 : 1; $query = "SELECT * FROM #__sportsmanager_turnier WHERE turnier_id = $turnierid"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die("Wrong id!"); $turnier = $rows[0]; @@ -11835,12 +10775,7 @@ function adminTurnierdisziplinen(): void . "\n FROM #__sportsmanager_turnierdisziplin AS t1" . "\n WHERE turnier_id = $turnierid" . "\n ORDER BY reihenfolge, disziplin, beginn"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); - + $rows = loadObjectList($db, $query); HTML_sportsmanager_admin::adminTurnierdisziplinen($turnier, $rows, $beschraenkter_zugriff_turniere); } @@ -11860,21 +10795,13 @@ function adminEditTurnierdisziplin(): void $row = null; else { $query = "SELECT * FROM #__sportsmanager_turnierdisziplin WHERE turnierdisziplin_id = $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die("Wrong id!"); $row = $rows[0]; } $query = "SELECT * FROM #__sportsmanager_turnier WHERE turnier_id = $turnierid"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die("Wrong id!"); $turnier = $rows[0]; @@ -11891,12 +10818,7 @@ function adminEditTurnierdisziplin(): void . "\n LEFT JOIN (SELECT rangliste_id, turnierdisziplin_id, system_id, wertung, doppel_teilwertung FROM #__sportsmanager_rangliste_turnierdisziplin WHERE turnierdisziplin_id = $id) AS ranglisten USING (rangliste_id)" . "\n ORDER BY saisonbezeichnung DESC, reihenfolge, bezeichnung, kategorie"; } - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $ranglisten = $db->loadObjectList(); - + $ranglisten = loadObjectList($db, $query); if ($id == 0) { $query = "SELECT *" . "\n FROM #__sportsmanager_rangliste_system" @@ -11909,12 +10831,7 @@ function adminEditTurnierdisziplin(): void . "\n WHERE status != 0 OR NOT ISNULL(turnierdisziplin_id)" . "\n ORDER BY systembezeichnung"; } - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $systeme = $db->loadObjectList(); - + $systeme = loadObjectList($db, $query); HTML_sportsmanager_admin::adminEditTurnierdisziplin($turnier, $row, $ranglisten, $systeme); } @@ -11984,11 +10901,7 @@ function adminEditTurnierdisziplin(): void } else { $aktualisieren = true; $query = "SELECT * FROM #__sportsmanager_turnierdisziplin WHERE turnierdisziplin_id = $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die("Wrong id!"); $row = $rows[0]; @@ -12043,12 +10956,7 @@ function adminEditTurnierdisziplin(): void $query = "SELECT rangliste_id, system_id, wertung, doppel_teilwertung" . "\n FROM #__sportsmanager_rangliste_turnierdisziplin" . "\n WHERE turnierdisziplin_id = $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $bestehende_ranglisten_beruecksichtigt = $db->loadObjectList(); - + $bestehende_ranglisten_beruecksichtigt = loadObjectList($db, $query); foreach ($bestehende_ranglisten_beruecksichtigt as $bestehende_rangliste_beruecksichtigt) { $ist_beruecksichtigt = false; foreach ($ranglisten_beruecksichtigt as $rangliste_id) { @@ -12087,11 +10995,7 @@ function adminEditTurnierdisziplin(): void $query = "SELECT COUNT(*)" . "\n FROM #__sportsmanager_rangliste" . "\n WHERE rangliste_id = $rangliste_id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $n = $db->loadResult(); + $n = loadResult($db, $query); if ($n > 0) { $query = "INSERT INTO #__sportsmanager_rangliste_turnierdisziplin (rangliste_id, turnierdisziplin_id, system_id, wertung, doppel_teilwertung) VALUES ('$rangliste_id', '$id', " . ($system_id != 0 ? "'$system_id'" : "NULL") . ", '" . $db->escape($wertung) . "', '" . $db->escape($doppel_teilwertung) . "');"; @@ -12139,11 +11043,7 @@ function adminEditTurnierdisziplin(): void if ($turnierId == 0) die("Missing id!"); $query = "SELECT * FROM #__sportsmanager_turnierdisziplin WHERE turnierdisziplin_id = $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die("Wrong id!"); $row = $rows[0]; @@ -12214,38 +11114,19 @@ function adminExportTurniervoranmeldungenForm(): void if ($turnierDisziplinId == 0) die ("Wrong id!"); $query = "SELECT #__sportsmanager_turnierdisziplin.turnierdisziplin_id, disziplin, typ, turnierbezeichnung, turnierort, beginn, voranmeldungen_rangliste_id, voranmeldungen_reihenfolge, turnier_id FROM #__sportsmanager_turnierdisziplin INNER JOIN #__sportsmanager_turnier USING (turnier_id) WHERE turnierdisziplin_id = $turnierDisziplinId"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die ("Wrong id"); $turnierdisziplin = $rows[0]; if (!benutzerZugriff("turniere_aendern") && !benutzerTurnierModerator($turnierdisziplin->turnier_id)) keinZugriff(true); - /* - $query = "SELECT *" - . "\n FROM #__sportsmanager_rangliste" - . "\n WHERE status > 0 AND erster_tag <= CURDATE() AND letzter_tag >= CURDATE()" - . "\n ORDER BY YEAR(letzter_tag) DESC, reihenfolge, letzter_tag DESC, bezeichnung, kategorie"; - $db->setQuery( $query ); - if (!$db->execute()) { die($db->stderr(true)); } - $ranglisten_aktuell = $db->loadObjectList(); - */ - $query = "SELECT DISTINCT #__sportsmanager_rangliste.rangliste_id, turnierdisziplin_id, ranglisten.system_id, wertung, bezeichnung, saisonbezeichnung" . "\n FROM #__sportsmanager_rangliste" . "\n INNER JOIN #__sportsmanager_saison USING (saison_id)" . "\n LEFT JOIN (SELECT rangliste_id, turnierdisziplin_id, system_id, wertung FROM #__sportsmanager_rangliste_turnierdisziplin WHERE turnierdisziplin_id = $turnierDisziplinId) AS ranglisten USING (rangliste_id)" . "\n ORDER BY saisonbezeichnung DESC, reihenfolge, bezeichnung, kategorie"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $ranglisten = $db->loadObjectList(); - + $ranglisten = loadObjectList($db, $query); HTML_sportsmanager_admin::adminExportTurniervoranmeldungen($turnierdisziplin, $ranglisten); } @@ -12267,11 +11148,7 @@ function adminExportTurniervoranmeldungenForm(): void } $query = "SELECT #__sportsmanager_turnierdisziplin.turnierdisziplin_id, disziplin, turnierbezeichnung, beginn, typ FROM #__sportsmanager_turnierdisziplin INNER JOIN #__sportsmanager_turnier USING (turnier_id) WHERE turnierdisziplin_id = $turnierDisziplinId"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die ("Wrong id"); $turnierdisziplin = $rows[0]; @@ -12320,12 +11197,7 @@ function adminExportTurniervoranmeldungenForm(): void . "\n WHERE turnierdisziplin_id = $turnierDisziplinId AND rundenstufe = '20'" . "\n ORDER BY " . ($ranglisteId != 0 ? ($sortierung == 0 ? "Summe DESC, " : "Maximum DESC, ") : "") . "Nachname1, Vorname1"; } - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $voranmeldungen = $db->loadObjectList(); - + $voranmeldungen = loadObjectList($db, $query); $dateiname = 'Voranmeldungen ' . $turnierdisziplin->turnierbezeichnung . ' - ' . $turnierdisziplin->disziplin . '.csv'; $dateiname = bereinigterDateiname($dateiname); ob_end_clean(); // Wegen UTF-8-Zeichen, die in der ausgabe vorhanden sind @@ -12418,11 +11290,7 @@ function adminTurnierdisziplinMeldungenSpiele(): void if ($turnierDisziplinId == 0) die ("Wrong id!"); $query = "SELECT #__sportsmanager_turnierdisziplin.turnierdisziplin_id, typ, turnier_id, disziplin, turnierbezeichnung, turnierort, beginn FROM #__sportsmanager_turnierdisziplin INNER JOIN #__sportsmanager_turnier USING (turnier_id) WHERE turnierdisziplin_id = $turnierDisziplinId"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) != 1) die("Wrong id!"); $disziplin = $rows[0]; @@ -12430,42 +11298,17 @@ function adminTurnierdisziplinMeldungenSpiele(): void keinZugriff(true); $query = "SELECT IF (EXISTS (SELECT * FROM #__sportsmanager_turniermeldung WHERE turnierdisziplin_id = $turnierDisziplinId AND platz > 0), 1, 0)"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $platzierung_anzeigen = $db->loadResult() > 0; + $platzierung_anzeigen = loadResult($db, $query) > 0; $meldungen = array(); $meldungenSpielerNamen = array(); foreach (array(0, 1, 2, 3, 10, 20) as $rundenstufe) { - /* Abfrage war erheblich zu langsam bei großem Bestand - $query = "SELECT *" - . ", (SELECT CONCAT_WS(', ', #__sportsmanager_spieler.nachname, #__sportsmanager_spieler.vorname, #__sportsmanager_turniermeldung_spieler_name.nachname, #__sportsmanager_turniermeldung_spieler_name.vorname) FROM #__sportsmanager_turniermeldung_spieler LEFT JOIN #__sportsmanager_spieler USING (spieler_id) LEFT JOIN #__sportsmanager_turniermeldung_spieler_name USING (turniermeldung_spieler_id) WHERE #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id ORDER BY turniermeldung_spieler_id LIMIT 0, 1) AS name1" - . ", (SELECT CONCAT_WS(', ', #__sportsmanager_spieler.nachname, #__sportsmanager_spieler.vorname, #__sportsmanager_turniermeldung_spieler_name.nachname, #__sportsmanager_turniermeldung_spieler_name.vorname) FROM #__sportsmanager_turniermeldung_spieler LEFT JOIN #__sportsmanager_spieler USING (spieler_id) LEFT JOIN #__sportsmanager_turniermeldung_spieler_name USING (turniermeldung_spieler_id) WHERE #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id ORDER BY turniermeldung_spieler_id LIMIT 1, 1) AS name2" - . ", (SELECT IF(ISNULL(#__sportsmanager_turniermeldung_spieler.spieler_id), 0, 1) FROM #__sportsmanager_turniermeldung_spieler LEFT JOIN #__sportsmanager_spieler USING (spieler_id) LEFT JOIN #__sportsmanager_turniermeldung_spieler_name USING (turniermeldung_spieler_id) WHERE #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id ORDER BY turniermeldung_spieler_id LIMIT 0, 1) AS verknuepft1" - . ", (SELECT IF(ISNULL(#__sportsmanager_turniermeldung_spieler.spieler_id), 0, 1) FROM #__sportsmanager_turniermeldung_spieler LEFT JOIN #__sportsmanager_spieler USING (spieler_id) LEFT JOIN #__sportsmanager_turniermeldung_spieler_name USING (turniermeldung_spieler_id) WHERE #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id ORDER BY turniermeldung_spieler_id LIMIT 1, 1) AS verknuepft2" - . "\n FROM #__sportsmanager_turniermeldung" - . "\n WHERE turnierdisziplin_id = $turnierDisziplinId AND rundenstufe = '$rundenstufe'" - . "\n ORDER BY platz, name1, name2"; - $db->setQuery( $query ); - if (!$db->execute()) { die($db->stderr(true)); } - $meldungen[$rundenstufe] = $db->loadObjectList(); - - foreach ($meldungen[$rundenstufe] as $meldung) { - $meldungenSpielerNamen[$meldung->turniermeldung_id] = $disziplin->typ == 0 ? NichtLeererString($meldung->verknuepft1 ? $meldung->name1 : hervorheben($meldung->name1)) : StringsZusammenfassen($meldung->verknuepft1 ? $meldung->name1 : hervorheben($meldung->name1), $meldung->verknuepft2 ? $meldung->name2 : hervorheben($meldung->name2)); - } - */ $query = "SELECT platz, turniermeldung_id" . "\n FROM #__sportsmanager_turniermeldung" . "\n WHERE turnierdisziplin_id = $turnierDisziplinId AND rundenstufe = '$rundenstufe'" . "\n ORDER BY platz, turniermeldung_id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $meldungen[$rundenstufe] = $db->loadObjectList(); + $meldungen[$rundenstufe] = loadObjectList($db, $query); } $query = "SELECT turniermeldung_id, spieler_id, IF(ISNULL(spieler_id), #__sportsmanager_turniermeldung_spieler_name.nachname, #__sportsmanager_spieler.nachname) AS nachname, IF(ISNULL(spieler_id), #__sportsmanager_turniermeldung_spieler_name.vorname, #__sportsmanager_spieler.vorname) AS vorname" @@ -12475,12 +11318,7 @@ function adminTurnierdisziplinMeldungenSpiele(): void . "\n LEFT JOIN #__sportsmanager_spieler USING (spieler_id)" . "\n WHERE turnierdisziplin_id = $turnierDisziplinId" . "\n ORDER BY turniermeldung_spieler_id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $meldungenSpieler = $db->loadObjectList(); - + $meldungenSpieler = loadObjectList($db, $query); foreach ($meldungenSpieler as $s) { $spielername = $s->spieler_id == null ? hervorheben($s->nachname . ", " . $s->vorname) : ($s->nachname . ", " . $s->vorname); if (empty($meldungenSpielerNamen[$s->turniermeldung_id])) @@ -12492,12 +11330,7 @@ function adminTurnierdisziplinMeldungenSpiele(): void $query = "SELECT *" . "\n FROM #__sportsmanager_turnier_rundenstufe" . "\n WHERE turnierdisziplin_id = $turnierDisziplinId"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); - + $rows = loadObjectList($db, $query); $rundenstufen_details = array(); foreach ($rows as $row) { $rundenstufen_details[$row->rundenstufe] = $row; @@ -12509,11 +11342,7 @@ function adminTurnierdisziplinMeldungenSpiele(): void . "\n FROM #__sportsmanager_turnierspiel" . "\n WHERE turnierdisziplin_id = $turnierDisziplinId AND rundenstufe = '$rundenstufe'" . "\n ORDER BY runde DESC, spiel_nummer"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $spiele[$rundenstufe] = $db->loadObjectList(); + $spiele[$rundenstufe] = loadObjectList($db, $query); } HTML_sportsmanager_admin::adminTurnierdisziplinMeldungenSpiele($disziplin, $rundenstufen_details, $meldungen, $meldungenSpielerNamen, $spiele, $platzierung_anzeigen); @@ -12536,11 +11365,7 @@ function adminTurnierdisziplinMeldungenSpiele(): void // Sicherstellen, dass Turnierdisziplin zum Turnier gehört $query = "SELECT turnierdisziplin_id, disziplin, turnierbezeichnung, turnierort, beginn, typ, turnier_id FROM #__sportsmanager_turnierdisziplin INNER JOIN #__sportsmanager_turnier USING (turnier_id) WHERE turnierdisziplin_id = $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die ("Wrong id"); $turnierdisziplin = $rows[0]; @@ -12548,11 +11373,7 @@ function adminTurnierdisziplinMeldungenSpiele(): void keinZugriff(); $query = "SELECT #__sportsmanager_turnierdisziplin.turnierdisziplin_id, disziplin, turnierbezeichnung, turnierort, beginn, elo_wertung FROM #__sportsmanager_turnierdisziplin INNER JOIN #__sportsmanager_turnier USING (turnier_id) WHERE turnierdisziplin_id = $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die("Wrong id!"); $turnierdisziplin = $rows[0]; @@ -12610,11 +11431,7 @@ function adminImportTurnierdisziplinMeldungenSpieleForm(): void $turnierDisziplinId = $jInput->get('turnierdisziplinid', 0, 'INT'); $query = "SELECT #__sportsmanager_turnierdisziplin.turnierdisziplin_id, disziplin, turnierbezeichnung, turnierort, beginn, turnier_id FROM #__sportsmanager_turnierdisziplin INNER JOIN #__sportsmanager_turnier USING (turnier_id) WHERE turnierdisziplin_id = $turnierDisziplinId"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die("Wrong id!"); $row = $rows[0]; @@ -12625,12 +11442,7 @@ function adminImportTurnierdisziplinMeldungenSpieleForm(): void $query = "SELECT *" . "\n FROM #__sportsmanager_veranstalter" . "\n ORDER BY veranstalterbezeichnung"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $veranstalter = $db->loadObjectList(); - + $veranstalter = loadObjectList($db, $query); HTML_sportsmanager_admin::adminImportTurnierdisziplinMeldungenSpieleForm($row, $veranstalter); } @@ -12652,11 +11464,7 @@ function adminImportTurnierdisziplinMeldungenSpieleForm(): void // Sicherstellen, dass Turnierdisziplin zum Turnier gehört $query = "SELECT turnierdisziplin_id, disziplin, turnierbezeichnung, turnierort, beginn, typ, turnier_id FROM #__sportsmanager_turnierdisziplin INNER JOIN #__sportsmanager_turnier USING (turnier_id) WHERE turnierdisziplin_id = $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die ("Wrong id"); $turnierdisziplin = $rows[0]; @@ -12673,11 +11481,7 @@ function adminImportTurnierdisziplinMeldungenSpieleForm(): void $wertungsbedingung = "NOT ISNULL(aktueller_verein_id) AND "; $query = "SELECT #__sportsmanager_turnierdisziplin.turnierdisziplin_id, disziplin, turnierbezeichnung, turnierort, beginn, elo_wertung FROM #__sportsmanager_turnierdisziplin INNER JOIN #__sportsmanager_turnier USING (turnier_id) WHERE turnierdisziplin_id = $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die("Wrong id!"); $turnierdisziplin = $rows[0]; @@ -12919,11 +11723,7 @@ function adminImportTurnierdisziplinMeldungenSpieleForm(): void . "\n FROM #__sportsmanager_spieler" . "\n WHERE " . $wertungsbedingung . "STRCMP(spielernr, '" . $db->escape($spielernr2) . "') = 0" . "\n LIMIT 2"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $s = $db->loadObjectList(); + $s = loadObjectList($db, $query); if (count($s) == 1) $spieler2_id = $s[0]->spieler_id; } @@ -12932,11 +11732,7 @@ function adminImportTurnierdisziplinMeldungenSpieleForm(): void . "\n FROM #__sportsmanager_spieler" . "\n WHERE " . $wertungsbedingung . "STRCMP(vorname, '" . $db->escape($vorname2) . "') = 0 AND STRCMP(nachname, '" . $db->escape($nachname2) . "') = 0" . "\n LIMIT 2"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $s = $db->loadObjectList(); + $s = loadObjectList($db, $query); if (count($s) == 1) $spieler2_id = $s[0]->spieler_id; } @@ -12949,11 +11745,7 @@ function adminImportTurnierdisziplinMeldungenSpieleForm(): void . "\n FROM #__sportsmanager_spieler" . "\n WHERE " . $wertungsbedingung . "STRCMP(spielernr, '" . $db->escape($spielernr1) . "') = 0" . "\n LIMIT 2"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $s = $db->loadObjectList(); + $s = loadObjectList($db, $query); if (count($s) == 1) $spieler1_id = $s[0]->spieler_id; } @@ -12962,11 +11754,7 @@ function adminImportTurnierdisziplinMeldungenSpieleForm(): void . "\n FROM #__sportsmanager_spieler" . "\n WHERE " . $wertungsbedingung . "STRCMP(vorname, '" . $db->escape($vorname1) . "') = 0 AND STRCMP(nachname, '" . $db->escape($nachname1) . "') = 0" . "\n LIMIT 2"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $s = $db->loadObjectList(); + $s = loadObjectList($db, $query); if (count($s) == 1) $spieler1_id = $s[0]->spieler_id; } @@ -13157,11 +11945,7 @@ function adminImportTurnierdisziplinMeldungenSpieleForm(): void . "\n FROM #__sportsmanager_spieler" . "\n WHERE " . $wertungsbedingung . "STRCMP(spielernr, '$spielernr') = 0" . "\n LIMIT 2"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $s = $db->loadObjectList(); + $s = loadObjectList($db, $query); $gefunden = count($s) == 1 ? $s[0]->spieler_id : null; } else $gefunden = null; @@ -13178,11 +11962,7 @@ function adminImportTurnierdisziplinMeldungenSpieleForm(): void . "\n FROM #__sportsmanager_spieler" . "\n WHERE " . $wertungsbedingung . "STRCMP(nachname, '" . $db->escape($spielerNachname) . "') = 0 AND STRCMP(vorname, '" . $db->escape($spielerVorname) . "') = 0" . "\n LIMIT 2"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $s = $db->loadObjectList(); + $s = loadObjectList($db, $query); $gefunden = count($s) == 1 ? $s[0]->spieler_id : null; } @@ -13218,11 +11998,7 @@ function adminImportTurnierdisziplinMeldungenSpieleForm(): void . "\n FROM #__sportsmanager_spieler" . "\n WHERE " . $wertungsbedingung . "STRCMP(spielernr, '" . $db->escape($spielernr) . "') = 0" . "\n LIMIT 2"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $s = $db->loadObjectList(); + $s = loadObjectList($db, $query); $gefunden = count($s) == 1 ? $s[0]->spieler_id : null; } else $gefunden = null; @@ -13239,11 +12015,7 @@ function adminImportTurnierdisziplinMeldungenSpieleForm(): void . "\n FROM #__sportsmanager_spieler" . "\n WHERE " . $wertungsbedingung . "STRCMP(nachname, '" . $db->escape($spielerNachname) . "') = 0 AND STRCMP(vorname, '" . $db->escape($spielerVorname) . "') = 0" . "\n LIMIT 2"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $s = $db->loadObjectList(); + $s = loadObjectList($db, $query); $gefunden = count($s) == 1 ? $s[0]->spieler_id : null; } @@ -13282,11 +12054,7 @@ function adminImportTurnierdisziplinMeldungenSpieleForm(): void . "\n FROM #__sportsmanager_spieler" . "\n WHERE " . $wertungsbedingung . "STRCMP(spielernr, '" . $db->escape($spielernr) . "') = 0" . "\n LIMIT 2"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $s = $db->loadObjectList(); + $s = loadObjectList($db, $query); $gefunden = count($s) == 1 ? $s[0]->spieler_id : null; } else $gefunden = null; @@ -13303,11 +12071,7 @@ function adminImportTurnierdisziplinMeldungenSpieleForm(): void . "\n FROM #__sportsmanager_spieler" . "\n WHERE " . $wertungsbedingung . "STRCMP(nachname, '" . $db->escape($spielerNachname) . "') = 0 AND STRCMP(vorname, '" . $db->escape($spielerVorname) . "') = 0" . "\n LIMIT 2"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $s = $db->loadObjectList(); + $s = loadObjectList($db, $query); $gefunden = count($s) == 1 ? $s[0]->spieler_id : null; } @@ -13357,11 +12121,7 @@ function adminImportTurnierdisziplinMeldungenSpieleForm(): void . "\n FROM #__sportsmanager_spieler" . "\n WHERE " . $wertungsbedingung . "STRCMP(spielernr, '" . $db->escape($spielernr) . "') = 0" . "\n LIMIT 2"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $s = $db->loadObjectList(); + $s = loadObjectList($db, $query); $gefunden = count($s) == 1 ? $s[0]->spieler_id : null; } else $gefunden = null; @@ -13378,11 +12138,7 @@ function adminImportTurnierdisziplinMeldungenSpieleForm(): void . "\n FROM #__sportsmanager_spieler" . "\n WHERE " . $wertungsbedingung . "STRCMP(nachname, '" . $db->escape($spielerNachname) . "') = 0 AND STRCMP(vorname, '" . $db->escape($spielerVorname) . "') = 0" . "\n LIMIT 2"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $s = $db->loadObjectList(); + $s = loadObjectList($db, $query); $gefunden = count($s) == 1 ? $s[0]->spieler_id : null; } @@ -13743,12 +12499,7 @@ function adminImportTurnierdisziplinMeldungenSpieleForm(): void . "\n WHERE turnierdisziplin_id = $id AND rundenstufe = $rundenstufe" . "\n GROUP BY runde" . "\n ORDER BY runde DESC"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $runden = $db->loadObjectList(); - + $runden = loadObjectList($db, $query); if (count($runden) < 2 || ($runden[0]->spiele != 1 && $runden[0]->spiele != 2) || $runden[1]->spiele != 2) @@ -13767,12 +12518,7 @@ function adminImportTurnierdisziplinMeldungenSpieleForm(): void . "\n FROM #__sportsmanager_turnierspiel" . "\n WHERE turnierdisziplin_id = $id AND rundenstufe = $rundenstufe AND runde = " . $runden[0]->runde . "\n ORDER BY turnierspiel_id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); - + $rows = loadObjectList($db, $query); $query = "UPDATE #__sportsmanager_turnierspiel" . "\n SET runde = '19999'" . "\n WHERE turnierspiel_id = '" . $rows[0]->turnierspiel_id . "'"; @@ -13827,11 +12573,7 @@ function adminEditTurnierdisziplinSpiel(): void // Sicherstellen, dass Turnierdisziplin zu Turnier gehört $query = "SELECT #__sportsmanager_turnierdisziplin.turnierdisziplin_id, disziplin, typ, turnierbezeichnung, turnierort, beginn, turnier_id FROM #__sportsmanager_turnierdisziplin INNER JOIN #__sportsmanager_turnier USING (turnier_id) WHERE turnierdisziplin_id = $turnierDisziplinId"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) != 1) die("Wrong id!"); $disziplin = $rows[0]; @@ -13842,11 +12584,7 @@ function adminEditTurnierdisziplinSpiel(): void $row = null; else { $query = "SELECT * FROM #__sportsmanager_turnierspiel WHERE turnierspiel_id = $id AND turnierdisziplin_id = $turnierDisziplinId"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die("Wrong id!"); $row = $rows[0]; } @@ -13854,11 +12592,7 @@ function adminEditTurnierdisziplinSpiel(): void $query = "SELECT *" . "\n FROM #__sportsmanager_turnier_rundenstufe" . "\n WHERE turnierdisziplin_id = $turnierDisziplinId AND rundenstufe = $rundenstufe"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); $rundenstufen_details = count($rows) >= 1 ? $rows[0] : null; $query = "SELECT *" @@ -13869,12 +12603,7 @@ function adminEditTurnierdisziplinSpiel(): void . "\n FROM #__sportsmanager_turniermeldung" . "\n WHERE turnierdisziplin_id = $turnierDisziplinId AND (rundenstufe = '$rundenstufe'" . ($rundenstufe != 0 ? " OR rundenstufe = 0" : "") . ")" . "\n ORDER BY rundenstufe, name1, name2"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $meldungen = $db->loadObjectList(); - + $meldungen = loadObjectList($db, $query); HTML_sportsmanager_admin::adminEditTurnierdisziplinSpiel($row, $disziplin, $rundenstufen_details, $meldungen, $rundenstufe); } @@ -13904,11 +12633,7 @@ function adminEditTurnierdisziplinSpiel(): void // Sicherstellen, dass Turnierdisziplin zu Turnier gehört $query = "SELECT turnier_id FROM #__sportsmanager_turnierdisziplin INNER JOIN #__sportsmanager_turnier USING (turnier_id) WHERE turnierdisziplin_id = $turnierDisziplinId"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) != 1) die("Wrong id!"); $turnierdisziplin = $rows[0]; @@ -13943,11 +12668,7 @@ function adminEditTurnierdisziplinSpiel(): void $verlierer_meldung_id = $jInput->get('verlierer_meldung_id', 0, 'INT'); $query = "SELECT #__sportsmanager_turnierdisziplin.turnierdisziplin_id, disziplin, turnierbezeichnung, turnierort, beginn, elo_wertung FROM #__sportsmanager_turnierdisziplin INNER JOIN #__sportsmanager_turnier USING (turnier_id) WHERE turnierdisziplin_id = $turnierDisziplinId"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die("Wrong id!"); $turnierdisziplin = $rows[0]; @@ -13998,11 +12719,7 @@ function adminEditTurnierdisziplinSpiel(): void // Sicherstellen, dass Turnierdisziplin zu Turnier gehört $query = "SELECT turnier_id FROM #__sportsmanager_turnierdisziplin INNER JOIN #__sportsmanager_turnier USING (turnier_id) WHERE turnierdisziplin_id = $turnierDisziplinId"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) != 1) die("Wrong id!"); $turnierdisziplin = $rows[0]; @@ -14010,11 +12727,7 @@ function adminEditTurnierdisziplinSpiel(): void keinZugriff(true); $query = "SELECT #__sportsmanager_turnierdisziplin.turnierdisziplin_id, disziplin, turnierbezeichnung, turnierort, beginn, elo_wertung FROM #__sportsmanager_turnierdisziplin INNER JOIN #__sportsmanager_turnier USING (turnier_id) WHERE turnierdisziplin_id = $turnierDisziplinId"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die("Wrong id!"); $turnierdisziplin = $rows[0]; @@ -14051,11 +12764,7 @@ function adminEditTurnierdisziplinRunde(): void // Sicherstellen, dass Turnierdisziplin zu Turnier gehört $query = "SELECT turnier_id FROM #__sportsmanager_turnierdisziplin INNER JOIN #__sportsmanager_turnier USING (turnier_id) WHERE turnierdisziplin_id = $turnierDisziplinId"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die ("Wrong id"); $turnierdisziplin = $rows[0]; @@ -14063,11 +12772,7 @@ function adminEditTurnierdisziplinRunde(): void keinZugriff(true); $query = "SELECT #__sportsmanager_turnierdisziplin.turnierdisziplin_id, disziplin, turnierbezeichnung, turnierort, beginn FROM #__sportsmanager_turnierdisziplin INNER JOIN #__sportsmanager_turnier USING (turnier_id) WHERE turnierdisziplin_id = $turnierDisziplinId"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die ("Wrong id"); $turnierdisziplin = $rows[0]; @@ -14097,11 +12802,7 @@ function adminEditTurnierdisziplinRunde(): void // Sicherstellen, dass Turnierdisziplin zu Turnier gehört $query = "SELECT turnier_id FROM #__sportsmanager_turnierdisziplin INNER JOIN #__sportsmanager_turnier USING (turnier_id) WHERE turnierdisziplin_id = $turnierDisziplinId"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die ("Wrong id"); $turnierdisziplin = $rows[0]; @@ -14145,11 +12846,7 @@ function adminEditTurnierdisziplinMeldung(): void if ($rundenstufe != 0 && $rundenstufe != 20 && $rundenstufe != 10 && $rundenstufe != 1 && $rundenstufe != 2 && $rundenstufe != 3) die("Wrong id!"); $query = "SELECT turnierdisziplin_id, disziplin, turnierbezeichnung, turnierort, beginn, typ, turnier_id FROM #__sportsmanager_turnierdisziplin INNER JOIN #__sportsmanager_turnier USING (turnier_id) WHERE turnierdisziplin_id = $turnierDisziplinId"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die ("Wrong id"); $turnierdisziplin = $rows[0]; @@ -14163,34 +12860,20 @@ function adminEditTurnierdisziplinMeldung(): void $meldung_spieler = null; $query = "SELECT * FROM #__sportsmanager_turniermeldung WHERE turnierdisziplin_id = $turnierDisziplinId ORDER BY rundenstufe, platz DESC"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); - + $rows = loadObjectList($db, $query); if (count($rows) > 0) { $rundenstufen[] = $rows[0]->rundenstufe; $platzierungen[$rows[0]->rundenstufe] = $rows[0]->platz; } } else { $query = "SELECT * FROM #__sportsmanager_turniermeldung WHERE turniermeldung_id = $id AND turnierdisziplin_id = $turnierDisziplinId"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die ("Wrong id"); $meldung = $rows[0]; if ($meldung->meldungsgruppe_id != null) { $query = "SELECT * FROM #__sportsmanager_turniermeldung WHERE turnierdisziplin_id = $meldung->turnierdisziplin_id AND meldungsgruppe_id = $meldung->meldungsgruppe_id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); - + $rows = loadObjectList($db, $query); foreach ($rows as $row) { $rundenstufen[] = $row->rundenstufe; $platzierungen[$row->rundenstufe] = $row->platz; @@ -14206,23 +12889,14 @@ function adminEditTurnierdisziplinMeldung(): void . "\n LEFT JOIN #__sportsmanager_spieler USING (spieler_id)" . "\n LEFT JOIN #__sportsmanager_turniermeldung_spieler_name USING (turniermeldung_spieler_id)" . "\n WHERE turniermeldung_id = $meldung->turniermeldung_id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $meldung_spieler = $db->loadObjectList(); + $meldung_spieler = loadObjectList($db, $query); } $query = "SELECT DISTINCT spieler_id, vorname, nachname, spielernr" . "\n FROM #__sportsmanager_spieler" . "\n WHERE NOT ISNULL(aktueller_verein_id)" . "\n ORDER BY nachname, vorname"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $spieler = $db->loadObjectList(); - + $spieler = loadObjectList($db, $query); HTML_sportsmanager_admin::adminEditTurnierdisziplinMeldung($meldung, $meldung_spieler, $turnierdisziplin, $spieler, $rundenstufen, $platzierungen, $weitere); } @@ -14255,11 +12929,7 @@ function adminEditTurnierdisziplinMeldung(): void $platzierungen = array(0 => $platzierungen[0], 1 => $platzierungen[1], 2 => $platzierungen[2], 3 => $platzierungen[3], 10 => $platzierungen[4], 20 => 0); $query = "SELECT turnier_id FROM #__sportsmanager_turnierdisziplin INNER JOIN #__sportsmanager_turnier USING (turnier_id) WHERE turnierdisziplin_id = $turnierDisziplinId"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die ("Wrong id"); $turnierdisziplin = $rows[0]; @@ -14267,11 +12937,7 @@ function adminEditTurnierdisziplinMeldung(): void keinZugriff(true); $query = "SELECT * FROM #__sportsmanager_turnierdisziplin WHERE turnierdisziplin_id = $turnierDisziplinId"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die ("Wrong id"); $turnierdisziplin = $rows[0]; @@ -14328,11 +12994,7 @@ function adminEditTurnierdisziplinMeldung(): void } else { $query = "SELECT * FROM #__sportsmanager_turniermeldung" . "\n WHERE turniermeldung_id = $id AND turnierdisziplin_id = $turnierDisziplinId"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die("Wrong id!"); $meldung = $rows[0]; @@ -14348,12 +13010,7 @@ function adminEditTurnierdisziplinMeldung(): void } $query = "SELECT * FROM #__sportsmanager_turniermeldung_spieler LEFT JOIN #__sportsmanager_turniermeldung_spieler_name USING (turniermeldung_spieler_id) WHERE turniermeldung_id = $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); - + $rows = loadObjectList($db, $query); if ($rows[0]->spieler_id == 0 && $spieler_1_id == 0) { $query = "UPDATE #__sportsmanager_turniermeldung_spieler_name" . "\n SET nachname = '$spieler_1_nachname'," @@ -14452,11 +13109,7 @@ function adminEditTurnierdisziplinMeldung(): void $turnierDisziplinId = $jInput->get('turnierdisziplinid', 0, 'INT'); $query = "SELECT turnier_id FROM #__sportsmanager_turnierdisziplin INNER JOIN #__sportsmanager_turnier USING (turnier_id) WHERE turnierdisziplin_id = $turnierDisziplinId"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die ("Wrong id"); $turnierdisziplin = $rows[0]; @@ -14466,11 +13119,7 @@ function adminEditTurnierdisziplinMeldung(): void // Sicherstellen, dass Meldung zur Turnierdisziplin und damit zum Turnier gehört $query = "SELECT * FROM #__sportsmanager_turniermeldung" . "\n WHERE turniermeldung_id = $id AND turnierdisziplin_id = $turnierDisziplinId"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die("Wrong id!"); meldungssgruppe_entfernen($id); @@ -14492,11 +13141,7 @@ function adminVerknuepfenTurnierdisziplinMeldungForm(): void $turnierDisziplinId = $jInput->get('turnierdisziplinid', 0, 'INT'); $query = "SELECT #__sportsmanager_turnierdisziplin.turnierdisziplin_id, typ, turnier_id, disziplin, turnierbezeichnung, turnierort, beginn FROM #__sportsmanager_turnierdisziplin INNER JOIN #__sportsmanager_turnier USING (turnier_id) WHERE turnierdisziplin_id = $turnierDisziplinId"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) != 1) die("Wrong id!"); $disziplin = $rows[0]; @@ -14515,11 +13160,7 @@ function adminVerknuepfenTurnierdisziplinMeldungForm(): void . "\n FROM #__sportsmanager_turniermeldung" . "\n WHERE turnierdisziplin_id = $turnierDisziplinId AND rundenstufe = '$rundenstufe'" . "\n ORDER BY platz, name1, name2"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $meldungen[$rundenstufe] = $db->loadObjectList(); + $meldungen[$rundenstufe] = loadObjectList($db, $query); } HTML_sportsmanager_admin::adminVerknuepfenTurnierdisziplinMeldung($disziplin, $meldungen); } @@ -14545,11 +13186,7 @@ function adminVerknuepfenTurnierdisziplinMeldungForm(): void // Sicherstellen, dass Turnierdisziplin zu Turnier gehört $query = "SELECT turnier_id FROM #__sportsmanager_turnierdisziplin INNER JOIN #__sportsmanager_turnier USING (turnier_id) WHERE turnierdisziplin_id = $turnierDisziplinId"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) != 1) die("Wrong id!"); if (!benutzerZugriff("turniere_aendern") && !benutzerTurnierModerator($rows[0]->turnier_id)) @@ -14559,11 +13196,7 @@ function adminVerknuepfenTurnierdisziplinMeldungForm(): void foreach ($ids[$rundenstufe] as $meldung_id) { // Sicherstellen, dass Meldung zu Turnierdisziplin und damit zu Turnier gehört $query = "SELECT * FROM #__sportsmanager_turniermeldung WHERE turniermeldung_id = $meldung_id AND turnierdisziplin_id = $turnierDisziplinId"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die ("Wrong id"); meldungsgruppe_erweitern($meldung_id, $rundenstufen); @@ -14582,11 +13215,7 @@ function meldungsgruppe_erweitern($quelle_turniermeldung_id, $rundenstufen): voi $query = "SELECT * FROM #__sportsmanager_turniermeldung" . "\n WHERE turniermeldung_id = $quelle_turniermeldung_id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die("Wrong id!"); $quelle_meldung = $rows[0]; $meldungsgruppe_id = $quelle_meldung->meldungsgruppe_id != null ? $quelle_meldung->meldungsgruppe_id : $quelle_turniermeldung_id; @@ -14594,12 +13223,7 @@ function meldungsgruppe_erweitern($quelle_turniermeldung_id, $rundenstufen): voi if ($quelle_meldung->meldungsgruppe_id != null) { $query = "SELECT DISTINCT rundenstufe FROM #__sportsmanager_turniermeldung" . "\n WHERE meldungsgruppe_id = $meldungsgruppe_id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); - + $rows = loadObjectList($db, $query); foreach ($rows as $row) { if (!in_array($row->rundenstufe, $rundenstufen)) $rundenstufen[] = $row->rundenstufe; @@ -14618,22 +13242,13 @@ function meldungsgruppe_verknuepfen($quelle_turniermeldung_id, $rundenstufen, $p $query = "SELECT * FROM #__sportsmanager_turniermeldung" . "\n WHERE turniermeldung_id = $quelle_turniermeldung_id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die("Wrong id!"); $quelle_meldung = $rows[0]; $meldungsgruppe_id = $quelle_meldung->meldungsgruppe_id != null ? $quelle_meldung->meldungsgruppe_id : $quelle_turniermeldung_id; $query = "SELECT * FROM #__sportsmanager_turniermeldung_spieler LEFT JOIN #__sportsmanager_turniermeldung_spieler_name USING (turniermeldung_spieler_id) WHERE turniermeldung_id = $quelle_turniermeldung_id ORDER BY turniermeldung_spieler_id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $quelle_meldung_spieler = $db->loadObjectList(); - + $quelle_meldung_spieler = loadObjectList($db, $query); if ($quelle_meldung->meldungsgruppe_id == null && count($rundenstufen) > 1) { $query = "UPDATE #__sportsmanager_turniermeldung" . "\n SET meldungsgruppe_id = '$meldungsgruppe_id'" @@ -14648,12 +13263,7 @@ function meldungsgruppe_verknuepfen($quelle_turniermeldung_id, $rundenstufen, $p $query = "SELECT *" . "\n FROM #__sportsmanager_turniermeldung" . "\n WHERE meldungsgruppe_id = '$meldungsgruppe_id' AND turnierdisziplin_id = '$quelle_meldung->turnierdisziplin_id' AND rundenstufe = '$rundenstufe'"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); - + $rows = loadObjectList($db, $query); if (empty($rundenstufen) || !in_array($rundenstufe, $rundenstufen)) { if (count($rows) == 0) continue; @@ -14727,11 +13337,7 @@ function meldungsgruppe_verknuepfen($quelle_turniermeldung_id, $rundenstufen, $p } $query = "SELECT * FROM #__sportsmanager_turniermeldung_spieler LEFT JOIN #__sportsmanager_turniermeldung_spieler_name USING (turniermeldung_spieler_id) WHERE turniermeldung_id = $ziel_meldung->turniermeldung_id ORDER BY turniermeldung_spieler_id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $ziel_meldung_spieler = $db->loadObjectList(); + $ziel_meldung_spieler = loadObjectList($db, $query); if (count($ziel_meldung_spieler) != count($quelle_meldung_spieler)) die("Wrong id!"); for ($i = 0; $i < count($quelle_meldung_spieler); $i++) { @@ -14778,11 +13384,7 @@ function meldungsgruppe_verknuepfen($quelle_turniermeldung_id, $rundenstufen, $p $query = "SELECT COUNT(*)" . "\n FROM #__sportsmanager_turniermeldung" . "\n WHERE meldungsgruppe_id = $meldungsgruppe_id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $n = $db->loadResult(); + $n = loadResult($db, $query); if ($n == 1) { $query = "UPDATE #__sportsmanager_turniermeldung" @@ -14801,11 +13403,7 @@ function meldungssgruppe_entfernen($turniermeldung_id): void $query = "SELECT * FROM #__sportsmanager_turniermeldung" . "\n WHERE turniermeldung_id = $turniermeldung_id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) === 0) die("Wrong id!"); $meldung = $rows[0]; $meldungsgruppe_id = $meldung->meldungsgruppe_id != null ? $meldung->meldungsgruppe_id : $turniermeldung_id; @@ -14837,11 +13435,7 @@ function meldungssgruppe_entfernen($turniermeldung_id): void $query = "SELECT COUNT(*)" . "\n FROM #__sportsmanager_turniermeldung" . "\n WHERE meldungsgruppe_id = $meldungsgruppe_id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $n = $db->loadResult(); + $n = loadResult($db, $query); if ($n == 1) { $query = "UPDATE #__sportsmanager_turniermeldung" @@ -14867,11 +13461,7 @@ function adminEditTurnierdisziplinRundenstufe(): void if ($rundenstufe != 10 && $rundenstufe != 1 && $rundenstufe != 2 && $rundenstufe != 3) die("Wrong id!"); $query = "SELECT turnierdisziplin_id, disziplin, turnierbezeichnung, turnierort, beginn, typ, turnier_id FROM #__sportsmanager_turnierdisziplin INNER JOIN #__sportsmanager_turnier USING (turnier_id) WHERE turnierdisziplin_id = $turnierDisziplinId"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die ("Wrong id"); $turnierdisziplin = $rows[0]; @@ -14881,11 +13471,7 @@ function adminEditTurnierdisziplinRundenstufe(): void $query = "SELECT *" . "\n FROM #__sportsmanager_turnier_rundenstufe" . "\n WHERE turnierdisziplin_id = $turnierDisziplinId AND rundenstufe = $rundenstufe"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); $rundenstufen_details = count($rows) >= 1 ? $rows[0] : null; HTML_sportsmanager_admin::adminEditTurnierdisziplinRundenstufe($turnierdisziplin, $rundenstufe, $rundenstufen_details); @@ -14916,11 +13502,7 @@ function adminEditTurnierdisziplinRundenstufe(): void // Sicherstellen, dass Turnierdisziplin zum Turnier gehört $query = "SELECT turnier_id FROM #__sportsmanager_turnierdisziplin INNER JOIN #__sportsmanager_turnier USING (turnier_id) WHERE turnierdisziplin_id = $turnierDisziplinId"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die ("Wrong id"); $turnierdisziplin = $rows[0]; @@ -14928,21 +13510,13 @@ function adminEditTurnierdisziplinRundenstufe(): void keinZugriff(); $query = "SELECT * FROM #__sportsmanager_turnierdisziplin WHERE turnierdisziplin_id = $turnierDisziplinId"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die ("Wrong id"); $query = "SELECT *" . "\n FROM #__sportsmanager_turnier_rundenstufe" . "\n WHERE turnierdisziplin_id = $turnierDisziplinId AND rundenstufe = $rundenstufe"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); $rundenstufen_details = count($rows) >= 1 ? $rows[0] : null; if ($rundenstufen_details == null) { @@ -15009,11 +13583,7 @@ function adminEditTurnierdisziplinRundenstufe(): void // Sicherstellen, dass Turnierdisziplin zum Turnier gehört $query = "SELECT turnier_id FROM #__sportsmanager_turnierdisziplin INNER JOIN #__sportsmanager_turnier USING (turnier_id) WHERE turnierdisziplin_id = $turnierDisziplinId"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die ("Wrong id"); $turnierdisziplin = $rows[0]; @@ -15048,12 +13618,7 @@ function adminSpielerExportBilderForm(): void if ($beschraenkter_zugriff == 1) $query .= "\n WHERE" . veranstalterFilter("veranstalter_id IN"); $query .= "\n ORDER BY veranstalterbezeichnung"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $veranstalter = $db->loadObjectList(); - + $veranstalter = loadObjectList($db, $query); HTML_sportsmanager_admin::adminSpielerExportBilder($veranstalter, $beschraenkter_zugriff); } @@ -15084,11 +13649,7 @@ function adminSpielerExportBilderForm(): void $veranstalter_id = $jInput->get('veranstalter_id', 0, 'INT'); if ($veranstalter_id != 0) { $query = "SELECT veranstalterbezeichnung FROM #__sportsmanager_veranstalter WHERE veranstalter_id = $veranstalter_id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die ("Wrong id"); $veranstalter = $rows[0]; } else @@ -15099,12 +13660,7 @@ function adminSpielerExportBilderForm(): void . "\n FROM #__sportsmanager_veranstalter" . "\n WHERE veranstalter_id = $veranstalter_id" . " AND" . veranstalterFilter("veranstalter_id IN") . "\n ORDER BY veranstalterbezeichnung"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $veranstalter = $db->loadObjectList(); - + $veranstalter = loadObjectList($db, $query); if (count($veranstalter) == 0) keinZugriff(); } @@ -15128,12 +13684,7 @@ function adminSpielerExportBilderForm(): void $query .= "\n WHERE NOT ISNULL(aktueller_verein_id)"; if ($filter != 0) $query .= " AND NOT bild_ausblenden"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $spieler = $db->loadObjectList(); - + $spieler = loadObjectList($db, $query); foreach ($spieler as $s) { $pfad = $sportsmanager_joomla_path . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager' . DIRECTORY_SEPARATOR . 'spieler' . DIRECTORY_SEPARATOR . $s->spieler_id . '.'; if (file_exists($pfad . 'png') && is_file($pfad . 'png')) @@ -15182,12 +13733,7 @@ function adminVereineExportBilderForm(): void $query = "SELECT *" . "\n FROM #__sportsmanager_veranstalter" . "\n ORDER BY veranstalterbezeichnung"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $veranstalter = $db->loadObjectList(); - + $veranstalter = loadObjectList($db, $query); HTML_sportsmanager_admin::adminVereineExportBilder($veranstalter); } @@ -15211,11 +13757,7 @@ function adminVereineExportBilderForm(): void $veranstalter_id = $jInput->get('veranstalter_id', 0, 'INT'); if ($veranstalter_id != 0) { $query = "SELECT veranstalterbezeichnung FROM #__sportsmanager_veranstalter WHERE veranstalter_id = $veranstalter_id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die ("Wrong id"); $veranstalter = $rows[0]; } else @@ -15238,12 +13780,7 @@ function adminVereineExportBilderForm(): void . "\n WHERE NOT ausgetreten"; if ($veranstalter_id != 0) $query .= " AND veranstalter_id = $veranstalter_id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $vereine = $db->loadObjectList(); - + $vereine = loadObjectList($db, $query); foreach ($vereine as $v) { $pfad = $sportsmanager_joomla_path . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager' . DIRECTORY_SEPARATOR . 'vereine' . DIRECTORY_SEPARATOR . $v->verein_id . '.'; if (file_exists($pfad . 'png') && is_file($pfad . 'png')) @@ -15300,12 +13837,7 @@ function adminSpielerImportBilderForm(): void if ($beschraenkter_zugriff == 1) $query .= "\n WHERE" . veranstalterFilter("veranstalter_id IN"); $query .= "\n ORDER BY veranstalterbezeichnung"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $veranstalter = $db->loadObjectList(); - + $veranstalter = loadObjectList($db, $query); HTML_sportsmanager_admin::adminSpielerImportBilder($veranstalter, $beschraenkter_zugriff); } @@ -15337,12 +13869,7 @@ function adminSpielerImportBilder(): void . "\n FROM #__sportsmanager_veranstalter" . "\n WHERE veranstalter_id = $veranstalter_id" . " AND" . veranstalterFilter("veranstalter_id IN") . "\n ORDER BY veranstalterbezeichnung"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $veranstalter = $db->loadObjectList(); - + $veranstalter = loadObjectList($db, $query); if (count($veranstalter) == 0) keinZugriff(); } @@ -15403,11 +13930,7 @@ function adminSpielerImportBilder(): void $query .= "\n INNER JOIN (SELECT spieler_id FROM #__sportsmanager_mitglied_von_verein INNER JOIN #__sportsmanager_verein USING (verein_id) WHERE NOT #__sportsmanager_mitglied_von_verein.ausgetreten AND NOT #__sportsmanager_verein.ausgetreten AND veranstalter_id = $veranstalter_id GROUP BY spieler_id ORDER BY spieler_id, verein_id) AS mitgliedschaft USING (spieler_id)"; $query .= "\n WHERE NOT ISNULL(aktueller_verein_id) AND STRCMP(spielernr, '" . $db->escape($spielernr) . "') = 0" . "\n LIMIT 2"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) != 1) continue; $spieler_id = $rows[0]->spieler_id; @@ -15419,11 +13942,7 @@ function adminSpielerImportBilder(): void $query .= "\n INNER JOIN (SELECT spieler_id FROM #__sportsmanager_mitglied_von_verein INNER JOIN #__sportsmanager_verein USING (verein_id) WHERE NOT #__sportsmanager_mitglied_von_verein.ausgetreten AND NOT #__sportsmanager_verein.ausgetreten AND veranstalter_id = $veranstalter_id GROUP BY spieler_id ORDER BY spieler_id, verein_id) AS mitgliedschaft USING (spieler_id)"; $query .= "\n WHERE NOT ISNULL(aktueller_verein_id) AND STRCMP(CONCAT_WS(', ', nachname, vorname), '" . $db->escape($name) . "') = 0" . "\n LIMIT 2"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) != 1) continue; $spieler_id = $rows[0]->spieler_id; @@ -15469,12 +13988,7 @@ function adminVereineImportBilderForm(): void $query = "SELECT *" . "\n FROM #__sportsmanager_veranstalter" . "\n ORDER BY veranstalterbezeichnung"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $veranstalter = $db->loadObjectList(); - + $veranstalter = loadObjectList($db, $query); HTML_sportsmanager_admin::adminVereineImportBilder($veranstalter); } @@ -15544,11 +14058,7 @@ function adminVereineImportBilder(): void if ($veranstalter_id != 0) $query .= " AND veranstalter_id = $veranstalter_id"; $query .= "\n LIMIT 2"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) != 1) continue; $verein_id = $rows[0]->verein_id; @@ -15600,16 +14110,12 @@ function adminTermine($admin_uebersicht): void $filter_veranstaltung = $jInput->get('filter_veranstaltung', '', 'RAW'); $filter_zusatz = $jInput->get('filter_zusatz', '', 'RAW'); $filter_land = $jInput->get('filter_land', '', 'RAW'); + $filter_ort = $jInput->get('filter_ort', '', 'RAW'); $query = "SELECT DISTINCT YEAR(erster_tag) AS jahr" . "\n FROM #__sportsmanager_termin" . "\n ORDER BY erster_tag DESC"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $jahre = $db->loadObjectList(); - + $jahre = loadObjectList($db, $query); $jahr_gefunden = false; foreach ($jahre as $jahr) { if ($jahr->jahr == $filter_jahr) { @@ -15631,26 +14137,18 @@ function adminTermine($admin_uebersicht): void $query .= " AND EXISTS(SELECT * FROM #__sportsmanager_termin_zusatz WHERE termin_id = #__sportsmanager_termin.termin_id AND zusatz = '" . $db->escape($filter_zusatz) . "')"; if (!empty($filter_land)) $query .= " AND land = '" . $db->escape($filter_land) . "'"; + if (!empty($filter_ort)) + $query .= " AND ort = '" . $db->escape($filter_ort) . "'"; $query .= "\n GROUP BY termin_id" . "\n ORDER BY erster_tag, bezeichnung"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $termine = $db->loadObjectList(); - + $termine = loadObjectList($db, $query); $query = "SELECT termin_id, termin_symbol_id" . "\n FROM #__sportsmanager_termin" . "\n INNER JOIN #__sportsmanager_termin_aktion USING (termin_id)" . "\n INNER JOIN #__sportsmanager_termin_symbolanzeige USING (termin_id)" . "\n WHERE YEAR(erster_tag) = '$filter_jahr' AND status = 0 AND (typ = 0 OR typ = 1)" . "\n ORDER BY termin_symbolanzeige_id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $terminsymbole = $db->loadObjectList(); - + $terminsymbole = loadObjectList($db, $query); $termineSymbole = array(); foreach ($terminsymbole as $termin) { $termin_id = $termin->termin_id; @@ -15663,11 +14161,7 @@ function adminTermine($admin_uebersicht): void $query = "SELECT COUNT(*)" . "\n FROM #__sportsmanager_termin_aktion" . "\n WHERE status = 2"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $anzahl_beantragte_termine = $db->loadResult(); + $anzahl_beantragte_termine = loadResult($db, $query); $query = "SELECT bezeichnung" . "\n FROM #__sportsmanager_termin" @@ -15676,12 +14170,7 @@ function adminTermine($admin_uebersicht): void . "\n WHERE YEAR(erster_tag) = '$filter_jahr' AND status = 0 AND (typ = 0 OR typ = 1)" . "\n GROUP BY bezeichnung" . "\n ORDER BY bezeichnung"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $veranstaltungen = $db->loadObjectList(); - + $veranstaltungen = loadObjectList($db, $query); $query = "SELECT bezeichnungszusatz, titel" . "\n FROM #__sportsmanager_termin" . "\n INNER JOIN #__sportsmanager_termin_aktion USING (termin_id)" @@ -15690,25 +14179,21 @@ function adminTermine($admin_uebersicht): void . "\n WHERE YEAR(erster_tag) = '$filter_jahr' AND status = 0 AND (typ = 0 OR typ = 1)" . "\n GROUP BY bezeichnungszusatz" . "\n ORDER BY IF(titel = '', bezeichnungszusatz, titel)"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $zusaetze = $db->loadObjectList(); - + $zusaetze = loadObjectList($db, $query); $query = "SELECT land" . "\n FROM #__sportsmanager_termin" . "\n INNER JOIN #__sportsmanager_termin_aktion USING (termin_id)" - . "\n INNER JOIN (SELECT land FROM #__sportsmanager_termin_land UNION SELECT bundesland AS land FROM #__sportsmanager_termin_bundesland) AS land_bundesland USING (land)" - . "\n WHERE YEAR(erster_tag) = '$filter_jahr' AND status = 0 AND (typ = 0 OR typ = 1)" + . "\n WHERE YEAR(erster_tag) = '$filter_jahr' AND status = 0 AND (typ = 0 OR typ = 1) AND land <> ''" . "\n GROUP BY land" . "\n ORDER BY land"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $laender = $db->loadObjectList(); - + $laender = loadObjectList($db, $query); + $query = "SELECT ort" + . "\n FROM #__sportsmanager_termin" + . "\n INNER JOIN #__sportsmanager_termin_aktion USING (termin_id)" + . "\n WHERE YEAR(erster_tag) = '$filter_jahr' AND status = 0 AND (typ = 0 OR typ = 1) AND ort <> ''" + . "\n GROUP BY ort" + . "\n ORDER BY ort"; + $orte = loadObjectList($db, $query); if (isJson()) { $jsonexport = array_map( function ($termin) { @@ -15727,7 +14212,7 @@ function adminTermine($admin_uebersicht): void }, $termine); JSON_sportsmanager::JSON($jsonexport); } else { - HTML_sportsmanager_admin::adminTermine($termine, $termineSymbole, $jahre, $filter_jahr, $filter_veranstaltung, $filter_zusatz, $filter_land, $veranstaltungen, $zusaetze, $laender, $anzahl_beantragte_termine, $zugriffsebene, $admin_uebersicht, isExternalDatabase()); + HTML_sportsmanager_admin::adminTermine($termine, $termineSymbole, $jahre, $filter_jahr, $filter_veranstaltung, $filter_zusatz, $filter_land, $filter_ort, $veranstaltungen, $zusaetze, $laender, $orte, $anzahl_beantragte_termine, $zugriffsebene, $admin_uebersicht, isExternalDatabase()); if (!$admin_uebersicht) { administrationFooter(); @@ -15763,11 +14248,7 @@ function adminEditTermin($admin_uebersicht): void . "\n FROM #__sportsmanager_termin" . "\n INNER JOIN #__sportsmanager_termin_aktion USING (termin_id)" . "\n WHERE termin_id = $id" . ($zugriffsebene != 2 ? " AND status = 0" : " AND (status = 0 OR status = 2)") . " AND (typ = 0 OR typ = 1)"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) { redirectSportsManagerURL('&task=' . ($admin_uebersicht ? 'admin_' : '') . ($uebersicht ? 'termine' : 'termine_verlauf') . ($nur_beantragte ? '&nur_beantragte=1' : ''), "Der bisherige Termin existiert nicht mehr."); } @@ -15779,22 +14260,13 @@ function adminEditTermin($admin_uebersicht): void . "\n INNER JOIN #__sportsmanager_termin_symbolanzeige USING (termin_id)" . "\n WHERE termin_id = $termin->termin_id" . "\n ORDER BY termin_symbolanzeige_id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $terminsymbolanzeige = $db->loadObjectList(); + $terminsymbolanzeige = loadObjectList($db, $query); } $query = "SELECT termin_symbol_id, symboltitel, status" . "\n FROM #__sportsmanager_termin_symbol" . "\n ORDER BY status DESC, symboltitel"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $terminsymbole = $db->loadObjectList(); - + $terminsymbole = loadObjectList($db, $query); $benachrichtigung_email = ""; if (empty($id)) { $aktion_user = Factory::getContainer()->get(SiteApplication::class)->getIdentity(); @@ -15806,12 +14278,7 @@ function adminEditTermin($admin_uebersicht): void } $query = "SELECT * FROM #__sportsmanager_termin_bezeichnung ORDER BY bezeichnung"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $bezeichnungen = $db->loadObjectList(); - + $bezeichnungen = loadObjectList($db, $query); if (!empty($id)) { $bezeichnung_vorauswahl = null; } else { @@ -15823,11 +14290,7 @@ function adminEditTermin($admin_uebersicht): void . "\n GROUP BY bezeichnung" . "\n ORDER BY COUNT(*) DESC" . "\n LIMIT 1"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); $bezeichnung_vorauswahl = count($rows) > 0 ? $rows[0]->bezeichnung : null; } @@ -15839,11 +14302,7 @@ function adminEditTermin($admin_uebersicht): void . "\n LEFT JOIN #__sportsmanager_termin_bezeichnungszusatz ON zusatz = bezeichnungszusatz" . "\n WHERE termin_id = $id AND ISNULL(termin_bezeichnungszusatz_id)" . "\n ORDER BY zusatz"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $zusaetze = $db->loadObjectList(); + $zusaetze = loadObjectList($db, $query); } if (empty($id)) { @@ -15856,27 +14315,14 @@ function adminEditTermin($admin_uebersicht): void . "\n LEFT JOIN #__sportsmanager_termin_zusatz ON termin_id = $id AND bezeichnungszusatz = zusatz" . "\n ORDER BY bezeichnungszusatz"; } - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $bezeichnungszusaetze = $db->loadObjectList(); - + $bezeichnungszusaetze = loadObjectList($db, $query); $query = "SELECT * FROM #__sportsmanager_termin_bundesland ORDER BY bundesland"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $bundeslaender = $db->loadObjectList(); - + $bundeslaender = loadObjectList($db, $query); $query = "SELECT * FROM #__sportsmanager_termin_land ORDER BY land"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $laender = $db->loadObjectList(); - - HTML_sportsmanager_admin::adminEditTermin($termin, $terminsymbolanzeige, $terminsymbole, $benachrichtigung_email, $bezeichnungen, $zusaetze, $bezeichnungszusaetze, $bundeslaender, $laender, $zugriffsebene, $admin_uebersicht, $bezeichnung_vorauswahl, $uebersicht, $ueberarbeiten, $nur_beantragte); + $laender = loadObjectList($db, $query); + $query = "SELECT ort FROM #__sportsmanager_termin WHERE ort <> '' GROUP BY ort ORDER BY ort"; + $orte = loadObjectList($db, $query); + HTML_sportsmanager_admin::adminEditTermin($termin, $terminsymbolanzeige, $terminsymbole, $benachrichtigung_email, $bezeichnungen, $zusaetze, $bezeichnungszusaetze, $bundeslaender, $laender, $orte, $zugriffsebene, $admin_uebersicht, $bezeichnung_vorauswahl, $uebersicht, $ueberarbeiten, $nur_beantragte); } function adminSaveTermin($admin_uebersicht): void @@ -15941,11 +14387,7 @@ function adminSaveTermin($admin_uebersicht): void . "\n FROM #__sportsmanager_termin" . "\n INNER JOIN #__sportsmanager_termin_aktion USING (termin_id)" . "\n WHERE termin_id = $id" . ($zugriffsebene != 2 ? " AND status = 0" : " AND (status = 0 OR status = 2)") . " AND (typ = 0 OR typ = 1)"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) { redirectSportsManagerURL('&task=' . ($admin_uebersicht ? 'admin_' : '') . ($uebersicht ? 'termine' : 'termine_verlauf'), "Der bisherige Termin existiert nicht mehr."); } @@ -16059,12 +14501,7 @@ function adminSaveTermin($admin_uebersicht): void . "\n FROM #__sportsmanager_termin_aktion" . "\n INNER JOIN #__sportsmanager_termin USING (termin_id)" . "\n WHERE termin_bezug_id = $termin_bezug_id AND " . ($ueberarbeiten ? "(status = 0 OR termin_id = $id)" : "status = 0") . ";"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); - + $rows = loadObjectList($db, $query); foreach ($rows as $row) { $dokumente = Folder::files($bilder_pfad, '^' . $row->termin_id . ' '); foreach ($dokumente as $dokument) @@ -16132,11 +14569,7 @@ function adminRemoveTerminForm($admin_uebersicht): void . "\n LEFT JOIN #__sportsmanager_termin_zusatz USING (termin_id)" . "\n WHERE termin_id = $id AND status = 0 AND (typ = 0 OR typ = 1)" . "\n GROUP BY #__sportsmanager_termin_aktion.termin_aktion_id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) { redirectSportsManagerURL('&task=' . ($admin_uebersicht ? 'admin_' : '') . 'termine', "Der bisherige Termin existiert nicht mehr."); } @@ -16181,11 +14614,7 @@ function adminRemoveTermin($admin_uebersicht): void . "\n FROM #__sportsmanager_termin_aktion" . "\n INNER JOIN #__sportsmanager_termin USING (termin_id)" . "\n WHERE termin_id = $id AND status = 0 AND (typ = 0 OR typ = 1);"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) { redirectSportsManagerURL('&task=' . ($admin_uebersicht ? 'admin_' : '') . 'termine', "Der bisherige Termin existiert nicht mehr."); } @@ -16197,12 +14626,7 @@ function adminRemoveTermin($admin_uebersicht): void . "\n FROM #__sportsmanager_termin_aktion" . "\n INNER JOIN #__sportsmanager_termin USING (termin_id)" . "\n WHERE termin_bezug_id = $termin_bezug_id AND status = 0;"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); - + $rows = loadObjectList($db, $query); $bilder_pfad = $sportsmanager_joomla_path . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'sportsmanager' . DIRECTORY_SEPARATOR . 'termine'; foreach ($rows as $row) { $dokumente = Folder::files($bilder_pfad, '^' . $row->termin_id . ' '); @@ -16250,7 +14674,7 @@ function adminRemoveTermin($admin_uebersicht): void } // $aktion = 0: Beantragt, 1: ... -function termineEmailBenachrichtigung($termin_aktion_id, $ueberarbeiten = false) +function termineEmailBenachrichtigung($termin_aktion_id, $ueberarbeiten = false): bool { $db = getDatabase(); $app = Factory::getContainer()->get(SiteApplication::class); @@ -16263,11 +14687,7 @@ function termineEmailBenachrichtigung($termin_aktion_id, $ueberarbeiten = false) . "\n LEFT JOIN #__users AS moderation_user ON moderation_user_id = moderation_user.id" . "\n WHERE termin_aktion_id = $termin_aktion_id" . "\n GROUP BY #__sportsmanager_termin.termin_id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) return false; $terminaktion = $rows[0]; @@ -16278,11 +14698,7 @@ function termineEmailBenachrichtigung($termin_aktion_id, $ueberarbeiten = false) . "\n INNER JOIN #__sportsmanager_moderator_zugriff USING (moderator_id)" . "\n INNER JOIN #__users ON moderator_user_id = id" . "\n WHERE zugriff = 'termine_benachrichtigung'"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); foreach ($rows as $row) { if ($row->termine_aendern) $benachrichtigung_moderatoren_aendern[] = $row->email; @@ -16334,9 +14750,9 @@ function termineEmailBenachrichtigung($termin_aktion_id, $ueberarbeiten = false) $terminaktion->url = adminCheckRelativerPfad($terminaktion->url); if (!str_contains($terminaktion->url, "://")) { $termin_url_anzeige = $terminaktion->url; - $termin_url = "http://" . $terminaktion->url; + $termin_url = "https://" . $terminaktion->url; } 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_beschreibung .= "\r\n" @@ -16365,9 +14781,9 @@ function termineEmailBenachrichtigung($termin_aktion_id, $ueberarbeiten = false) $terminaktion->ergebnisse_url = adminCheckRelativerPfad($terminaktion->ergebnisse_url); if (!str_contains($terminaktion->ergebnisse_url, "://")) { $termin_url_anzeige = $terminaktion->ergebnisse_url; - $termin_url = "http://" . $terminaktion->ergebnisse_url; + $termin_url = "https://" . $terminaktion->ergebnisse_url; } 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_beschreibung .= "\r\n" @@ -16509,11 +14925,7 @@ function termineEmailBenachrichtigung($termin_aktion_id, $ueberarbeiten = false) . "\n FROM #__sportsmanager_termin" . "\n INNER JOIN #__sportsmanager_termin_aktion USING (termin_id)" . "\n WHERE termin_aktion_id = $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die ("Wrong id"); $terminaktion = $rows[0]; $termin_bezug_id = $terminaktion->termin_bezug_id; @@ -16528,12 +14940,7 @@ function termineEmailBenachrichtigung($termin_aktion_id, $ueberarbeiten = false) . "\n FROM #__sportsmanager_termin_aktion" . "\n INNER JOIN #__sportsmanager_termin USING (termin_id)" . "\n WHERE termin_bezug_id = $termin_bezug_id AND status = 0;"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); - + $rows = loadObjectList($db, $query); foreach ($rows as $row) { $dokumente = Folder::files($bilder_pfad, '^' . $row->termin_id . ' '); foreach ($dokumente as $dokument) @@ -16612,12 +15019,7 @@ function adminTermineVerlauf($admin_uebersicht): void . "\n ORDER BY aktion_zeitpunkt DESC, bezeichnung" . "\n LIMIT 1000"; } - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $terminaktionen = $db->loadObjectList(); - + $terminaktionen = loadObjectList($db, $query); HTML_sportsmanager_admin::adminTermineVerlauf($terminaktionen, $nur_beantragte, $admin_uebersicht); } @@ -16640,11 +15042,7 @@ function adminTermineVerlauf($admin_uebersicht): void . "\n FROM #__sportsmanager_termin" . "\n INNER JOIN #__sportsmanager_termin_aktion USING (termin_id)" . "\n WHERE termin_bezug_id = $bezug_id AND status = 0 AND (typ = 0 OR typ = 1)"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); $termin_vorhanden = count($rows) > 0; if ($termin_vorhanden) $id = $rows[0]->termin_id; @@ -16653,11 +15051,7 @@ function adminTermineVerlauf($admin_uebersicht): void . "\n FROM #__sportsmanager_termin" . "\n INNER JOIN #__sportsmanager_termin_aktion USING (termin_id)" . "\n WHERE termin_id = $id" . ($zugriffsebene == 0 ? " AND status = 0 AND (typ = 0 OR typ = 1)" : "") . "), 1, 0)"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $termin_vorhanden = $db->loadResult(); + $termin_vorhanden = loadResult($db, $query); } if (!$termin_vorhanden) @@ -16721,11 +15115,7 @@ function adminTerminDetails($admin_uebersicht): void . "\n WHERE termin_aktion_id = $id" . "\n GROUP BY #__sportsmanager_termin_aktion.termin_aktion_id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die ("Wrong id"); $terminaktion = $rows[0]; @@ -16738,12 +15128,7 @@ function adminTerminDetails($admin_uebersicht): void . "\n WHERE termin_bezug_id = $terminaktion->termin_bezug_id" . "\n GROUP BY #__sportsmanager_termin_aktion.termin_aktion_id" . "\n ORDER BY aktion_zeitpunkt DESC, bezeichnung"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $terminaktionen = $db->loadObjectList(); - + $terminaktionen = loadObjectList($db, $query); HTML_sportsmanager_admin::adminTerminDetails($terminaktion, $terminaktionen, $nur_beantragte, $admin_uebersicht, $uebersicht, isExternalDatabase()); } @@ -16757,12 +15142,7 @@ function adminTermineBezeichnungen($admin_uebersicht): void $query = "SELECT *" . "\n FROM #__sportsmanager_termin_bezeichnung" . "\n ORDER BY bezeichnung"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $bezeichnungen = $db->loadObjectList(); - + $bezeichnungen = loadObjectList($db, $query); HTML_sportsmanager_admin::adminTermineBezeichnungen($bezeichnungen, $admin_uebersicht); } @@ -16780,11 +15160,7 @@ function adminEditTermineBezeichnung($admin_uebersicht): void $bezeichnung = null; } else { $query = "SELECT * FROM #__sportsmanager_termin_bezeichnung WHERE termin_bezeichnung_id = $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die ("Wrong id"); $bezeichnung = $rows[0]; } @@ -16810,11 +15186,7 @@ function adminEditTermineBezeichnung($admin_uebersicht): void if (!empty($id) && $termine_umbenennen) { $query = "SELECT * FROM #__sportsmanager_termin_bezeichnung WHERE termin_bezeichnung_id = $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die ("Wrong id"); $alte_bezeichnung = $db->escape($rows[0]->bezeichnung); @@ -16828,11 +15200,7 @@ function adminEditTermineBezeichnung($admin_uebersicht): void } $query = "SELECT * FROM #__sportsmanager_termin_bezeichnung WHERE bezeichnung = '$bezeichnung' AND termin_bezeichnung_id != $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); // Datenbankeintrag verwerfen, falls Bezeichnung schon existiert if (count($rows) > 0) { if (!empty($id)) { @@ -16889,12 +15257,7 @@ function adminTermineBezeichnungszusaetze($admin_uebersicht): void $query = "SELECT *" . "\n FROM #__sportsmanager_termin_bezeichnungszusatz" . "\n ORDER BY bezeichnungszusatz"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $bezeichnungszusaetze = $db->loadObjectList(); - + $bezeichnungszusaetze = loadObjectList($db, $query); HTML_sportsmanager_admin::adminTermineBezeichnungszusaetze($bezeichnungszusaetze, $admin_uebersicht); } @@ -16912,11 +15275,7 @@ function adminEditTermineBezeichnungszusatz($admin_uebersicht): void $bezeichnungszusatz = null; } else { $query = "SELECT * FROM #__sportsmanager_termin_bezeichnungszusatz WHERE termin_bezeichnungszusatz_id = $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die ("Wrong id"); $bezeichnungszusatz = $rows[0]; } @@ -16943,11 +15302,7 @@ function adminEditTermineBezeichnungszusatz($admin_uebersicht): void if (!empty($id) && $termine_umbenennen) { $query = "SELECT * FROM #__sportsmanager_termin_bezeichnungszusatz WHERE termin_bezeichnungszusatz_id = $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die ("Wrong id"); $alter_bezeichnungszusatz = $db->escape($rows[0]->bezeichnungszusatz); @@ -16961,11 +15316,7 @@ function adminEditTermineBezeichnungszusatz($admin_uebersicht): void } $query = "SELECT * FROM #__sportsmanager_termin_bezeichnungszusatz WHERE bezeichnungszusatz = '$bezeichnungszusatz' AND termin_bezeichnungszusatz_id != $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); // Datenbankeintrag verwerfen, falls Bezeichnungszusatz schon existiert if (count($rows) > 0) { if (!empty($id)) { @@ -17024,12 +15375,7 @@ function adminTermineBundeslaender($admin_uebersicht): void $query = "SELECT *" . "\n FROM #__sportsmanager_termin_bundesland" . "\n ORDER BY bundesland"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $bundeslaender = $db->loadObjectList(); - + $bundeslaender = loadObjectList($db, $query); HTML_sportsmanager_admin::adminTermineBundeslaender($bundeslaender, $admin_uebersicht); } @@ -17047,11 +15393,7 @@ function adminEditTermineBundesland($admin_uebersicht): void $bundesland = null; } else { $query = "SELECT * FROM #__sportsmanager_termin_bundesland WHERE termin_bundesland_id = $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die ("Wrong id"); $bundesland = $rows[0]; } @@ -17077,11 +15419,7 @@ function adminEditTermineBundesland($admin_uebersicht): void if ($termine_umbenennen) { $query = "SELECT * FROM #__sportsmanager_termin_bundesland WHERE termin_bundesland_id = $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die ("Wrong id"); $altes_bundesland = $db->escape($rows[0]->bundesland); @@ -17095,11 +15433,7 @@ function adminEditTermineBundesland($admin_uebersicht): void } $query = "SELECT * FROM #__sportsmanager_termin_bundesland WHERE bundesland = '$bundesland' AND termin_bundesland_id != $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); // Datenbankeintrag verwerfen, falls Bundesland schon existiert if (count($rows) > 0) { if (!empty($id)) { @@ -17156,12 +15490,7 @@ function adminTermineLaender($admin_uebersicht): void $query = "SELECT *" . "\n FROM #__sportsmanager_termin_land" . "\n ORDER BY land"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $laender = $db->loadObjectList(); - + $laender = loadObjectList($db, $query); HTML_sportsmanager_admin::adminTermineLaender($laender, $admin_uebersicht); } @@ -17179,11 +15508,7 @@ function adminEditTermineLand($admin_uebersicht): void $land = null; } else { $query = "SELECT * FROM #__sportsmanager_termin_land WHERE termin_land_id = $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die ("Wrong id"); $land = $rows[0]; } @@ -17210,11 +15535,7 @@ function adminEditTermineLand($admin_uebersicht): void if ($termine_umbenennen) { $query = "SELECT * FROM #__sportsmanager_termin_land WHERE termin_land_id = $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die ("Wrong id"); $altes_land = $db->escape($rows[0]->land); @@ -17228,11 +15549,7 @@ function adminEditTermineLand($admin_uebersicht): void } $query = "SELECT * FROM #__sportsmanager_termin_land WHERE land = '$land' AND termin_land_id != $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); // Datenbankeintrag verwerfen, falls Bundesland schon existiert if (count($rows) > 0) { if (!empty($id)) { @@ -17289,12 +15606,7 @@ function adminTermineSymbole($admin_uebersicht): void $query = "SELECT *" . "\n FROM #__sportsmanager_termin_symbol" . "\n ORDER BY status DESC, symboltitel"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $symbole = $db->loadObjectList(); - + $symbole = loadObjectList($db, $query); HTML_sportsmanager_admin::adminTermineSymbole($symbole, $admin_uebersicht); } @@ -17312,11 +15624,7 @@ function adminEditTermineSymbol($admin_uebersicht): void $symbol = null; } else { $query = "SELECT * FROM #__sportsmanager_termin_symbol WHERE termin_symbol_id = $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die ("Wrong id"); $symbol = $rows[0]; } @@ -17427,58 +15735,30 @@ function adminEditIndividualwettbewerb(): void $row = null; else { $query = "SELECT * FROM #__sportsmanager_individualwettbewerb WHERE individualwettbewerb_id = $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die("Wrong id!"); $row = $rows[0]; } $query = "SELECT * FROM #__sportsmanager_veranstalter ORDER BY veranstalterbezeichnung"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $veranstalter = $db->loadObjectList(); - + $veranstalter = loadObjectList($db, $query); $query = "SELECT nummer, bezeichnung FROM #__sportsmanager_kategorie WHERE typ = 6 ORDER BY nummer"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows_kategorien = $db->loadObjectList(); - + $rows_kategorien = loadObjectList($db, $query); $kategorien = array(); foreach ($rows_kategorien as $kategorie) $kategorien[$kategorie->nummer] = $kategorie->bezeichnung; $query = "SELECT * FROM #__sportsmanager_saison ORDER BY saisonbezeichnung DESC"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $saisons = $db->loadObjectList(); - + $saisons = loadObjectList($db, $query); if (empty($id)) { $berechtigt_fuer_individualwettbewerb = array(); } else { $query = "SELECT #__sportsmanager_berechtigt_fuer_individualwettbewerb.* FROM #__sportsmanager_berechtigt_fuer_individualwettbewerb, #__users WHERE berechtigt_user_id = id AND berechtigt_individualwettbewerb_id = $id ORDER BY username, name"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $berechtigt_fuer_individualwettbewerb = $db->loadObjectList(); + $berechtigt_fuer_individualwettbewerb = loadObjectList($db, $query); } $query = "SELECT * FROM #__users ORDER BY name, username"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $users = $db->loadObjectList(); - + $users = loadObjectList($db, $query); HTML_sportsmanager_admin::adminEditIndividualwettbewerb($row, $veranstalter, $kategorien, $saisons, $users, $berechtigt_fuer_individualwettbewerb, $vorlage); } @@ -17512,12 +15792,7 @@ function adminEditIndividualwettbewerb(): void $elo_aktualisieren = false; if ($vorlage) { $query = "SELECT * FROM #__sportsmanager_individualwettbewerb_platzierung WHERE individualwettbewerb_id = $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); - + $rows = loadObjectList($db, $query); $query = "INSERT #__sportsmanager_individualwettbewerb" . "\n SET veranstalter_id = '$veranstalterId'," . "\n bezeichnung = '$bezeichnung'," @@ -17564,11 +15839,7 @@ function adminEditIndividualwettbewerb(): void $id = $db->insertid(); } else { $query = "SELECT * FROM #__sportsmanager_individualwettbewerb WHERE individualwettbewerb_id = $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) { redirectSportsManagerURL('&task=admin_uebersicht', "Der Individualwettbewerb existiert nicht mehr!"); } @@ -17604,12 +15875,7 @@ function adminEditIndividualwettbewerb(): void } $query = "SELECT * FROM #__sportsmanager_berechtigt_fuer_individualwettbewerb WHERE berechtigt_individualwettbewerb_id = $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); - + $rows = loadObjectList($db, $query); foreach ($rows as $row) { $index = array_search($row->berechtigt_user_id, $berechtigt_fuer_individualwettbewerb_user_ids); if ($index !== false) { @@ -17626,11 +15892,7 @@ function adminEditIndividualwettbewerb(): void } $query = "SELECT DATE(MIN(zeitpunkt)) FROM #__sportsmanager_individualwettbewerb_spiel WHERE individualwettbewerb_id = $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $aktualisieren_ab_datum = $db->loadResult(); + $aktualisieren_ab_datum = loadResult($db, $query); if ($elo_aktualisieren && $aktualisieren_ab_datum != null) { eloAktualisieren($aktualisieren_ab_datum); @@ -17650,12 +15912,7 @@ function individualwettbewerbTabelleAktualisieren($id = null): void $query = "SELECT * FROM #__sportsmanager_individualwettbewerb"; if (!empty($id)) $query .= "\n WHERE individualwettbewerb_id = $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $individualwettbewerbe = $db->loadObjectList(); - + $individualwettbewerbe = loadObjectList($db, $query); foreach ($individualwettbewerbe as $individualwettbewerb) { $individualwettbewerb_id = $individualwettbewerb->individualwettbewerb_id; if ($individualwettbewerb->tabellenwertung == 0) { @@ -17671,22 +15928,12 @@ function individualwettbewerbTabelleAktualisieren($id = null): void $query = "SELECT heim_spieler_1_id, heim_spieler_2_id, gast_spieler_1_id, gast_spieler_2_id, ergebnis FROM #__sportsmanager_individualwettbewerb_spiel" . "\n WHERE individualwettbewerb_id = $individualwettbewerb_id" . "\n ORDER BY zeitpunkt, individualwettbewerb_spiel_id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $spiele = $db->loadObjectList(); - + $spiele = loadObjectList($db, $query); $query = "SELECT *" . "\n FROM #__sportsmanager_individualwettbewerb_ausgangsplatzierung" . "\n WHERE individualwettbewerb_id = $individualwettbewerb_id" . "\n ORDER BY platz"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $ausgangsplatzierungen = $db->loadObjectList(); - + $ausgangsplatzierungen = loadObjectList($db, $query); $platzierungen = array(); foreach ($ausgangsplatzierungen as $ausgangsplatzierung) $platzierungen[] = $ausgangsplatzierung->spieler_id; @@ -17714,12 +15961,7 @@ function individualwettbewerbTabelleAktualisieren($id = null): void $query = "SELECT * FROM #__sportsmanager_individualwettbewerb_platzierung" . "\n WHERE individualwettbewerb_id = $individualwettbewerb_id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $platzierungen_vorhanden = $db->loadObjectList(); - + $platzierungen_vorhanden = loadObjectList($db, $query); $platzierungen_uebrig = $platzierungen; foreach ($platzierungen_vorhanden as $platzierung_vorhanden) { $index = array_search($platzierung_vorhanden->spieler_id, $platzierungen); @@ -17772,22 +16014,14 @@ function individualwettbewerbTabelleAktualisieren($id = null): void $id = $jInput->get('id', 0, 'INT'); $query = "SELECT * FROM #__sportsmanager_individualwettbewerb WHERE individualwettbewerb_id = $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) { redirectSportsManagerURL('&task=admin_uebersicht', "Der Individualwettbewerb existiert nicht mehr!"); } $row = $rows[0]; $query = "SELECT DATE(MIN(zeitpunkt)) FROM #__sportsmanager_individualwettbewerb_spiel WHERE individualwettbewerb_id = $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $aktualisieren_ab_datum = $db->loadResult(); + $aktualisieren_ab_datum = loadResult($db, $query); $query = "DELETE FROM #__sportsmanager_berechtigt_fuer_individualwettbewerb WHERE berechtigt_individualwettbewerb_id = $id"; $db->setQuery($query); @@ -17839,11 +16073,7 @@ function adminIndividualwettbewerbSpiele(): void keinZugriff(true); $query = "SELECT * FROM #__sportsmanager_individualwettbewerb WHERE individualwettbewerb_id = $individualwettbewerbId"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die("Wrong id!"); $row = $rows[0]; @@ -17862,12 +16092,7 @@ function adminIndividualwettbewerbSpiele(): void . "\n LEFT JOIN #__sportsmanager_spieler AS tgast2 ON tgast2.spieler_id = gast_spieler_2_id" . "\n WHERE individualwettbewerb_id = $individualwettbewerbId" . "\n ORDER BY zeitpunkt DESC, individualwettbewerb_spiel_id DESC"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $spiele = $db->loadObjectList(); - + $spiele = loadObjectList($db, $query); if ($row->tabellenwertung) { $query = "SELECT spieler_id, nachname, vorname, vereinsname, aktueller_verein_id, platz, bild_ausblenden" . "\n FROM #__sportsmanager_individualwettbewerb_ausgangsplatzierung" @@ -17875,11 +16100,7 @@ function adminIndividualwettbewerbSpiele(): void . "\n LEFT JOIN #__sportsmanager_verein ON aktueller_verein_id = verein_id" . "\n WHERE individualwettbewerb_id = $individualwettbewerbId" . "\n ORDER BY platz, nachname, vorname"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $ausgangsplatzierungen = $db->loadObjectList(); + $ausgangsplatzierungen = loadObjectList($db, $query); } else { $ausgangsplatzierungen = null; } @@ -17897,11 +16118,7 @@ function adminEditIndividualwettbewerbSpiel(): void $individualwettbewerbId = $jInput->get('individualwettbewerbid', 0, 'INT'); $query = "SELECT * FROM #__sportsmanager_individualwettbewerb WHERE individualwettbewerb_id = $individualwettbewerbId"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die("Wrong id!"); $individualwettbewerb = $rows[0]; @@ -17916,11 +16133,7 @@ function adminEditIndividualwettbewerbSpiel(): void $spiel_spieler_ids = null; } else { $query = "SELECT * FROM #__sportsmanager_individualwettbewerb_spiel WHERE individualwettbewerb_spiel_id = $id AND individualwettbewerb_id = $individualwettbewerbId"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die("Wrong id!"); $row = $rows[0]; @@ -17934,12 +16147,7 @@ function adminEditIndividualwettbewerbSpiel(): void . "\n FROM #__sportsmanager_spieler" . "\n WHERE NOT ISNULL(aktueller_verein_id)" . (!empty($spiel_spieler_ids) ? (" OR spieler_id IN (" . implode(", ", $spiel_spieler_ids) . ")") : "") . "\n ORDER BY nachname, vorname"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $spieler = $db->loadObjectList(); - + $spieler = loadObjectList($db, $query); HTML_sportsmanager_admin::adminEditIndividualwettbewerbSpiel($row, $typ, $individualwettbewerb, $spieler); } @@ -17995,11 +16203,7 @@ function adminEditIndividualwettbewerbSpiel(): void if (!empty($id)) { $query = "SELECT * FROM #__sportsmanager_individualwettbewerb_spiel WHERE individualwettbewerb_spiel_id = $id AND individualwettbewerb_id = $individualwettbewerbId"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die("Wrong id!"); $spiel = $rows[0]; @@ -18011,11 +16215,7 @@ function adminEditIndividualwettbewerbSpiel(): void } $query = "SELECT * FROM #__sportsmanager_individualwettbewerb WHERE individualwettbewerb_id = $individualwettbewerbId"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die("Wrong id!"); $individualwettbewerb = $rows[0]; @@ -18076,20 +16276,12 @@ function adminEditIndividualwettbewerbSpiel(): void keinZugriff(true); $query = "SELECT * FROM #__sportsmanager_individualwettbewerb WHERE individualwettbewerb_id = $individualwettbewerbId"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die("Wrong id!"); $individualwettbewerb = $rows[0]; $query = "SELECT * FROM #__sportsmanager_individualwettbewerb_spiel WHERE individualwettbewerb_spiel_id = $id AND individualwettbewerb_id = $individualwettbewerbId"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die("Wrong id!"); $spiel = $rows[0]; @@ -18124,11 +16316,7 @@ function adminEditIndividualwettbewerbAusgangsplatzierung(): void $individualwettbewerbId = $jInput->get('individualwettbewerbid', 0, 'INT'); $query = "SELECT * FROM #__sportsmanager_individualwettbewerb WHERE individualwettbewerb_id = $individualwettbewerbId"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die("Wrong id!"); $individualwettbewerb = $rows[0]; @@ -18145,12 +16333,7 @@ function adminEditIndividualwettbewerbAusgangsplatzierung(): void . "\n LEFT JOIN #__sportsmanager_verein ON aktueller_verein_id = verein_id" . "\n WHERE individualwettbewerb_id = $individualwettbewerbId" . "\n ORDER BY platz, nachname, vorname"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $ausgangsplatzierungen = $db->loadObjectList(); - + $ausgangsplatzierungen = loadObjectList($db, $query); $row = null; if (!empty($id)) { foreach ($ausgangsplatzierungen as $ausgangsplatzierung) { @@ -18166,12 +16349,7 @@ function adminEditIndividualwettbewerbAusgangsplatzierung(): void . "\n FROM #__sportsmanager_spieler" . "\n WHERE NOT ISNULL(aktueller_verein_id)" . (!empty($spiel_spieler_ids) ? (" OR spieler_id IN (" . implode($spiel_spieler_ids, ", ") . ")") : "") . "\n ORDER BY nachname, vorname"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $spieler = $db->loadObjectList(); - + $spieler = loadObjectList($db, $query); HTML_sportsmanager_admin::adminEditIndividualwettbewerbAusgangsplatzierung($row, $individualwettbewerb, $ausgangsplatzierungen, $spieler); } @@ -18196,23 +16374,14 @@ function adminEditIndividualwettbewerbAusgangsplatzierung(): void } $query = "SELECT * FROM #__sportsmanager_spieler WHERE spieler_id = $id"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die("Wrong id!"); $query = "SELECT *" . "\n FROM #__sportsmanager_individualwettbewerb_ausgangsplatzierung" . "\n WHERE individualwettbewerb_id = $individualwettbewerbId" . "\n ORDER BY platz"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $ausgangsplatzierungen = $db->loadObjectList(); - + $ausgangsplatzierungen = loadObjectList($db, $query); $platzierungen = array(); foreach ($ausgangsplatzierungen as $ausgangsplatzierung) $platzierungen[] = $ausgangsplatzierung->spieler_id; @@ -18280,23 +16449,14 @@ function adminEditIndividualwettbewerbAusgangsplatzierung(): void keinZugriff(true); $query = "SELECT * FROM #__sportsmanager_individualwettbewerb WHERE individualwettbewerb_id = $individualwettbewerbId"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $rows = $db->loadObjectList(); + $rows = loadObjectList($db, $query); if (count($rows) < 1) die("Wrong id!"); $query = "SELECT *" . "\n FROM #__sportsmanager_individualwettbewerb_ausgangsplatzierung" . "\n WHERE individualwettbewerb_id = $individualwettbewerbId" . "\n ORDER BY platz"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - $ausgangsplatzierungen = $db->loadObjectList(); - + $ausgangsplatzierungen = loadObjectList($db, $query); $platzierungen = array(); foreach ($ausgangsplatzierungen as $ausgangsplatzierung) $platzierungen[] = $ausgangsplatzierung->spieler_id; diff --git a/src/structure/components/com_sportsmanager/api.php b/src/structure/components/com_sportsmanager/api.php index 95fb11f..f8dcc08 100644 --- a/src/structure/components/com_sportsmanager/api.php +++ b/src/structure/components/com_sportsmanager/api.php @@ -4,10 +4,8 @@ */ use JetBrains\PhpStorm\NoReturn; -use Joomla\CMS\Application\AdministratorApplication; use Joomla\CMS\Application\SiteApplication; use Joomla\CMS\Factory; -use Joomla\CMS\User\UserFactory; use Joomla\CMS\User\UserFactoryInterface; use Joomla\Registry\Registry; @@ -43,8 +41,7 @@ function notifyChange($data): void try { $db = getDatabase(); $query = "SELECT wert from #__sportsmanager_einstellungen WHERE name='api_push_key'"; - $db->setQuery($query); - $push_key = $db->loadResult(); + $push_key = loadResult($db, $query); $push_server = !empty($push_key) && isset(_payload($push_key)->aud) ? _payload($push_key)->aud : ''; if ($push_server != '' && $push_key != '') { $url = $push_server . (str_ends_with($push_server, '/') ? '' : '/') . 'v1/notifications/send'; @@ -137,11 +134,8 @@ function begegnungVerlegenNotify($begegnung, $users, $vorschlagendes_team_id, $h $expires->modify('+16 hours'); $db = getDatabase(); $query = "SELECT berechtigt_team_id from #__sportsmanager_berechtigt_fuer_team where berechtigt_user_id = $user_id"; - $db->setQuery($query); - if (!$db->execute()) { - abortWithError($db->stderr(true)); - } - $team_id = $db->loadObjectList(); + $team_id = loadObjectList($db, $query); + JSON_sportsmanager::JSON([ 'token' => jwt_token([ 'sub' => $user_id, @@ -180,8 +174,7 @@ function begegnungVerlegenNotify($begegnung, $users, $vorschlagendes_team_id, $h $db = getDatabase(); $query = $db->getQuery(true); $query->select('id')->from('#__users')->where('username = "' . $username . '"')->setLimit(1); - $db->setQuery($query); - $user_id = $db->loadResult(); + $user_id = loadResult($db, $query); $user = $container->get(UserFactoryInterface::class)->loadUserById($user_id); //TODO: pw verification modernising: use php native methods, however this also needs new pw hashing. maybe force a pw reset on all accounts diff --git a/src/structure/components/com_sportsmanager/database/init.php b/src/structure/components/com_sportsmanager/database/init.php index 77b57b1..6ccbaa5 100644 --- a/src/structure/components/com_sportsmanager/database/init.php +++ b/src/structure/components/com_sportsmanager/database/init.php @@ -7,6 +7,8 @@ use Joomla\Database\DatabaseInterface; use Joomla\Database\Mysql\MysqlDriver; use Joomla\Database\Mysqli\MysqliDriver; +require_once JPATH_SITE . '/components/com_sportsmanager/database/util.php'; + function initDatabase(): void { global $sportsmanager_database_local; @@ -22,11 +24,7 @@ function initDatabase(): void $sportsmanager_database_local = Factory::getContainer()->get(DatabaseInterface::class); $query = "SELECT * FROM #__sportsmanager_einstellungen"; - $sportsmanager_database_local->setQuery($query); - if (!$sportsmanager_database_local->execute()) { - die($sportsmanager_database_local->stderr(true)); - } - $rows = $sportsmanager_database_local->loadObjectList(); + $rows = loadObjectList($sportsmanager_database_local, $query); $database_driver = "mysql"; $database_host = ""; @@ -75,14 +73,13 @@ function initDatabase(): void if ($sportsmanager_database_external === NULL) { echo "" . Text::_('COM_SPORTSMANAGER_CONNECTION_EXTERNAL_DB_FAILURE') . "

"; } else { - $query = "SELECT wert FROM #__sportsmanager_einstellungen WHERE name = 'datenbank_version'"; - $sportsmanager_database_external->setQuery($query); try { if (!$sportsmanager_database_external->execute()) { echo "" . Text::_('COM_SPORTSMANAGER_EXTERNAL_DB_NO_SM_TABLES') . "

"; $sportsmanager_database_external = NULL; } else { - $db_version = $sportsmanager_database_external->loadResult(); + $query = "SELECT wert FROM #__sportsmanager_einstellungen WHERE name = 'datenbank_version'"; + $db_version = loadResult($sportsmanager_database_external, $query); if ($db_version < 38) { echo "" . Text::_('COM_SPORTSMANAGER_EXTERNAL_DB_NO_SM_VERSION') . "

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

teamname); ?>

-
- team_id, 48, 48, 0, 0, 'border="0" style="text-align: left"'); - if ($bild != null) - echo $bild; - else if ($heim_team->verein_id != null) { - $bild = bildHTML("vereine", $gast_team->verein_id, 48, 48, 0, 0, 'border="0" style="text-align: left"'); - if ($bild != null) - echo $bild; - } - ?> - -

teamname); ?>

-
-
-

heim_spielpunkte . ":" . $begegnung->gast_spielpunkte; ?>

spielpunkte_wertung_einzel != 2 || $modus->spielpunkte_wertung_doppel != 2) echo "

(" . $begegnung->heim_punkte . ":" . $begegnung->gast_punkte . ")

"; ?> -
+ + + + + + + + + +
+ team_id, 48, 48, 0, 0, 'border="0" style="text-align: right"'); + if ($bild == null && $heim_team->verein_id != null) + $bild = bildHTML("vereine", $heim_team->verein_id, 48, 48, 0, 0, 'border="0" style="text-align: right"'); + if ($bild != null) + echo $bild; + ?> + +

teamname); ?>

+
+

heim_spielpunkte . ":" . $begegnung->gast_spielpunkte; ?>

+ spielpunkte_wertung_einzel != 2 || $modus->spielpunkte_wertung_doppel != 2) + echo "

(" . $begegnung->heim_punkte . ":" . $begegnung->gast_punkte . ")

"; ?> +
+ team_id, 48, 48, 0, 0, 'border="0" style="text-align: left"'); + if ($bild != null) + echo $bild; + else if ($heim_team->verein_id != null) { + $bild = bildHTML("vereine", $gast_team->verein_id, 48, 48, 0, 0, 'border="0" style="text-align: left"'); + if ($bild != null) + echo $bild; + } + ?> + +

teamname); ?>

+
- 0) { - $bilder_anzeigen = false; - foreach ($spiele as $spiel) { - if (bildHTML("mannschaftsmitglieder", !$details_anzeigen && $spiel->heim_spieler_1_bild_ausblenden ? '' : $spiel->heim_spieler_1_mitglied_id, 30, 40) != null || bildHTML("spieler", !$details_anzeigen && $spiel->heim_spieler_1_bild_ausblenden ? '' : $spiel->heim_spieler_1_id, 30, 40, 0, 0, $spiel->heim_spieler_1_geschlecht == 'M' ? 'm' : 'w') != null) { - $bilder_anzeigen = true; - break; - } - if (!(empty($spiel->heim_spieler_2_id) && empty($spiel->gast_spieler_2_id)) && (bildHTML("mannschaftsmitglieder", !$details_anzeigen && $spiel->heim_spieler_2_bild_ausblenden ? '' : $spiel->heim_spieler_2_mitglied_id, 30, 40) != null || bildHTML("spieler", !$details_anzeigen && $spiel->heim_spieler_2_bild_ausblenden ? '' : $spiel->heim_spieler_2_id, 30, 40, 0, 0, $spiel->heim_spieler_2_geschlecht == 'M' ? 'm' : 'w') != null)) { - $bilder_anzeigen = true; - break; - } - if (bildHTML("mannschaftsmitglieder", !$details_anzeigen && $spiel->gast_spieler_1_bild_ausblenden ? '' : $spiel->gast_spieler_1_mitglied_id, 30, 40) != null || bildHTML("spieler", !$details_anzeigen && $spiel->gast_spieler_1_bild_ausblenden ? '' : $spiel->gast_spieler_1_id, 30, 40, 0, 0, $spiel->gast_spieler_1_geschlecht == 'M' ? 'm' : 'w') != null) { - $bilder_anzeigen = true; - break; - } - if (!(empty($spiel->heim_spieler_2_id) && empty($spiel->gast_spieler_2_id)) && (bildHTML("mannschaftsmitglieder", !$details_anzeigen && $spiel->gast_spieler_2_bild_ausblenden ? '' : $spiel->gast_spieler_2_mitglied_id, 30, 40) != null || bildHTML("spieler", !$details_anzeigen && $spiel->gast_spieler_2_bild_ausblenden ? '' : $spiel->gast_spieler_2_id, 30, 40, 0, 0, $spiel->gast_spieler_2_geschlecht == 'M' ? 'm' : 'w') != null)) { - $bilder_anzeigen = true; - break; - } - } + 0) { + $bilder_anzeigen = false; + foreach ($spiele as $spiel) { + if (bildHTML("mannschaftsmitglieder", !$details_anzeigen && $spiel->heim_spieler_1_bild_ausblenden ? '' : $spiel->heim_spieler_1_mitglied_id, 30, 40) != null || bildHTML("spieler", !$details_anzeigen && $spiel->heim_spieler_1_bild_ausblenden ? '' : $spiel->heim_spieler_1_id, 30, 40, 0, 0, $spiel->heim_spieler_1_geschlecht == 'M' ? 'm' : 'w') != null) { + $bilder_anzeigen = true; + break; + } + if (!(empty($spiel->heim_spieler_2_id) && empty($spiel->gast_spieler_2_id)) && (bildHTML("mannschaftsmitglieder", !$details_anzeigen && $spiel->heim_spieler_2_bild_ausblenden ? '' : $spiel->heim_spieler_2_mitglied_id, 30, 40) != null || bildHTML("spieler", !$details_anzeigen && $spiel->heim_spieler_2_bild_ausblenden ? '' : $spiel->heim_spieler_2_id, 30, 40, 0, 0, $spiel->heim_spieler_2_geschlecht == 'M' ? 'm' : 'w') != null)) { + $bilder_anzeigen = true; + break; + } + if (bildHTML("mannschaftsmitglieder", !$details_anzeigen && $spiel->gast_spieler_1_bild_ausblenden ? '' : $spiel->gast_spieler_1_mitglied_id, 30, 40) != null || bildHTML("spieler", !$details_anzeigen && $spiel->gast_spieler_1_bild_ausblenden ? '' : $spiel->gast_spieler_1_id, 30, 40, 0, 0, $spiel->gast_spieler_1_geschlecht == 'M' ? 'm' : 'w') != null) { + $bilder_anzeigen = true; + break; + } + if (!(empty($spiel->heim_spieler_2_id) && empty($spiel->gast_spieler_2_id)) && (bildHTML("mannschaftsmitglieder", !$details_anzeigen && $spiel->gast_spieler_2_bild_ausblenden ? '' : $spiel->gast_spieler_2_mitglied_id, 30, 40) != null || bildHTML("spieler", !$details_anzeigen && $spiel->gast_spieler_2_bild_ausblenden ? '' : $spiel->gast_spieler_2_id, 30, 40, 0, 0, $spiel->gast_spieler_2_geschlecht == 'M' ? 'm' : 'w') != null)) { + $bilder_anzeigen = true; + break; + } + } - ?> -
- - - - - - - - - - - - - $k = 0; - foreach ($spiele as $spiel) { - ?> - - - - - +
teamspiel_nummer ?> - - - - heim_spieler_2_id) && empty($spiel->gast_spieler_2_id))) { - ?> - - - -
" - style="text-align: center"> - heim_spieler_1_bild_ausblenden ? '' : $spiel->heim_spieler_1_mitglied_id, 30, 40, 0, 0, 'border="1"'); - if ($bild == null) - $bild = bildHTML("spieler", !$details_anzeigen && $spiel->heim_spieler_1_bild_ausblenden ? '' : $spiel->heim_spieler_1_id, 30, 40, 0, 0, 'border="1"', $spiel->heim_spieler_1_geschlecht == 'M' ? 'm' : 'w'); - if ($bild != null) - echo $bild; - ?> - - heim_spieler_2_bild_ausblenden ? '' : $spiel->heim_spieler_2_mitglied_id, 30, 40, 0, 0, 'border="1"'); - if ($bild == null) - $bild = bildHTML("spieler", !$details_anzeigen && $spiel->heim_spieler_2_bild_ausblenden ? '' : $spiel->heim_spieler_2_id, 30, 40, 0, 0, 'border="1"', $spiel->heim_spieler_2_geschlecht == 'M' ? 'm' : 'w'); - if ($bild != null) - echo $bild; - ?> -
-
+ + + + + + + + + + + - heim_spieler_1_id != null && $spiel->heim_spieler_1_id != 0) { - ?>heim_spieler_1_nachname . ", " . $spiel->heim_spieler_1_vorname)); ?> - heim_spieler_2_id != null && $spiel->heim_spieler_2_id != 0) { - ?>
heim_spieler_2_nachname . ", " . $spiel->heim_spieler_2_vorname)); ?> - - + $k = 0; + foreach ($spiele as $spiel) { + ?> + + + ergebnis_detailliert); ?> + ?> - + - - - -
teamspiel_nummer ?> - gast_spieler_1_id != null && $spiel->gast_spieler_1_id != 0) { - ?>gast_spieler_1_nachname . ", " . $spiel->gast_spieler_1_vorname)); ?> - gast_spieler_2_id != null && $spiel->gast_spieler_2_id != 0) { - ?>
gast_spieler_2_nachname . ", " . $spiel->gast_spieler_2_vorname)); ?> - -
+ heim_spieler_1_bild_ausblenden ? '' : $spiel->heim_spieler_1_mitglied_id, 45, 60, 0, 0, 'border="1"'); + if ($bild == null) + $bild = bildHTML("spieler", !$details_anzeigen && $spiel->heim_spieler_1_bild_ausblenden ? '' : $spiel->heim_spieler_1_id, 45, 60, 0, 0, 'border="1"', $spiel->heim_spieler_1_geschlecht == 'M' ? 'm' : 'w'); + if ($bild != null) + echo $bild; - - - - - - heim_spieler_2_id) && empty($spiel->gast_spieler_2_id))) { - ?> - - - -
" - style="text-align: center"> - gast_spieler_1_bild_ausblenden ? '' : $spiel->gast_spieler_1_mitglied_id, 30, 40, 0, 0, 'border="1"'); - if ($bild == null) - $bild = bildHTML("spieler", !$details_anzeigen && $spiel->gast_spieler_1_bild_ausblenden ? '' : $spiel->gast_spieler_1_id, 30, 40, 0, 0, 'border="1"', $spiel->gast_spieler_1_geschlecht == 'M' ? 'm' : 'w'); - if ($bild != null) - echo $bild; - ?> - - gast_spieler_2_bild_ausblenden) && ($spiel->gast_spieler_2_mitglied_id != null || ($spiel->gast_spieler_2_id != null && $spiel->gast_spieler_2_id != 0))) { - $bild = bildHTML("mannschaftsmitglieder", !$details_anzeigen && $spiel->gast_spieler_2_bild_ausblenden ? '' : $spiel->gast_spieler_2_mitglied_id, 30, 40, 0, 0, 'border="1"'); - if ($bild == null) - $bild = bildHTML("spieler", !$details_anzeigen && $spiel->gast_spieler_2_bild_ausblenden ? '' : $spiel->gast_spieler_2_id, 30, 40, 0, 0, 'border="1"', $spiel->gast_spieler_2_geschlecht == 'M' ? 'm' : 'w'); - if ($bild != null) - echo $bild; - } - ?> -
-
-
-   - heim_spieler_2_id) && empty($spiel->gast_spieler_2_id))) { + $bild = bildHTML("mannschaftsmitglieder", !$details_anzeigen && $spiel->heim_spieler_2_bild_ausblenden ? '' : $spiel->heim_spieler_2_mitglied_id, 45, 60, 0, 0, 'border="1"'); + if ($bild == null) + $bild = bildHTML("spieler", !$details_anzeigen && $spiel->heim_spieler_2_bild_ausblenden ? '' : $spiel->heim_spieler_2_id, 45, 60, 0, 0, 'border="1"', $spiel->heim_spieler_2_geschlecht == 'M' ? 'm' : 'w'); + if ($bild != null) + echo $bild; + } + ?> +
- - - -
- -
-
- - - - + heim_spieler_1_id != null && $spiel->heim_spieler_1_id != 0) { + ?> + heim_spieler_1_nachname . ", " . $spiel->heim_spieler_1_vorname)); ?> + heim_spieler_2_id != null && $spiel->heim_spieler_2_id != 0) { + ?>
+ heim_spieler_2_nachname . ", " . $spiel->heim_spieler_2_vorname)); ?> + + - $bilder_anzeigen = false; - foreach ($teams as $team) { - if (bildHTML("mannschaften", $team->team_id, 28, 28) != null) { - $bilder_anzeigen = true; - break; - } else if (bildHTML("vereine", $team->verein_id, 28, 28) != null) { - $bilder_anzeigen = true; - break; - } - } + + ergebnis_detailliert); ?> + - $zusatzpunkte_anzeigen = false; - if ($veranstaltung->tabellenwertung <= 9 || $veranstaltung->tabellenwertung >= 21) { - foreach ($teams as $team) { - if ($team->zusatzpunkte != 0) { - $zusatzpunkte_anzeigen = true; - break; - } - } - } + + gast_spieler_1_id != null && $spiel->gast_spieler_1_id != 0) { + ?> + gast_spieler_1_nachname . ", " . $spiel->gast_spieler_1_vorname)); ?> + gast_spieler_2_id != null && $spiel->gast_spieler_2_id != 0) { + ?>
+ gast_spieler_2_nachname . ", " . $spiel->gast_spieler_2_vorname)); ?> + + - ?> - - -
- - - - - - - - - - - - - tabellenwertung != 3 && $veranstaltung->tabellenwertung != 6 && $veranstaltung->tabellenwertung != 9 && $veranstaltung->tabellenwertung != 23 && $veranstaltung->tabellenwertung != 26 && $veranstaltung->tabellenwertung != 29) { - if ($alleine_angezeigt && $praesentation == 0) { - ?> - - - - tabellenwertung != 3 && $veranstaltung->tabellenwertung != 6 && $veranstaltung->tabellenwertung != 9 && $veranstaltung->tabellenwertung != 23 && $veranstaltung->tabellenwertung != 26 && $veranstaltung->tabellenwertung != 29 && ($modus->spielpunkte_wertung_einzel != 2 || $modus->spielpunkte_wertung_doppel != 2)) { - if ($alleine_angezeigt && $praesentation == 0 && ($modus->spielpunkte_wertung_einzel != 2 || $modus->spielpunkte_wertung_doppel != 2)) { - ?> - - - - tabellenwertung >= 21) { - ?> - - - tabellenwertung <= 9 || $veranstaltung->tabellenwertung >= 21) { - ?> - - - - + - - gesamtpunkte); - $zusatzpunkte = floatval($team->zusatzpunkte); - $punkte_quotient = $team->punkte_quotient; - $punkte_differenz = $team->punkte_differenz; - $punkte_gewonnen = $team->punkte_gewonnen; - $punkte_verloren = $team->punkte_verloren; - $spielpunkte_quotient = $team->spielpunkte_quotient; - $spielpunkte_differenz = $team->spielpunkte_differenz; - $spielpunkte_gewonnen = $team->spielpunkte_gewonnen; - $spielpunkte_verloren = $team->spielpunkte_verloren; - if ($veranstaltung->tabellenwertung >= 21) { - $buchholz1_wert = $team->buchholz1; - $buchholz2_wert = $team->buchholz2; - } - ?> - + + + +
- - - - - - - - punktetyp == 0 ? Text::_('COM_SPORTSMANAGER_GOALS') : Text::_('COM_SPORTSMANAGER_SETS'); ?>
- -
- punktetyp == 0 ? Text::_('COM_SPORTSMANAGER_GOALS') : Text::_('COM_SPORTSMANAGER_SETS'); ?> - -
- -
- - - - -
+ gast_spieler_1_bild_ausblenden ? '' : $spiel->gast_spieler_1_mitglied_id, 45, 60, 0, 0, 'border="1"'); + if ($bild == null) + $bild = bildHTML("spieler", !$details_anzeigen && $spiel->gast_spieler_1_bild_ausblenden ? '' : $spiel->gast_spieler_1_id, 45, 60, 0, 0, 'border="1"', $spiel->gast_spieler_1_geschlecht == 'M' ? 'm' : 'w'); + if ($bild != null) + echo $bild; + if (!(empty($spiel->heim_spieler_2_id) && empty($spiel->gast_spieler_2_id))) { - $platz = 1; - $tatsaechlicher_platz = 1; - $gesamtpunkte = 0; - $spielpunkte_differenz = 0; - $spielpunkte_quotient = 0; - $punkte_differenz = 0; - $punkte_quotient = 0; - $buchholz1_wert = 0; - $buchholz2_wert = 0; - $k = 0; - foreach ($teams as $team) { - ?> -
- tabellenwertung <= 9 || $veranstaltung->tabellenwertung >= 21) && $gesamtpunkte != $team->gesamtpunkte) - || (($veranstaltung->tabellenwertung == 1 || $veranstaltung->tabellenwertung == 4 || $veranstaltung->tabellenwertung == 7 || $veranstaltung->tabellenwertung == 10) && ($spielpunkte_differenz != $team->spielpunkte_differenz || $punkte_differenz != $team->punkte_differenz)) - || (($veranstaltung->tabellenwertung == 2 || $veranstaltung->tabellenwertung == 5 || $veranstaltung->tabellenwertung == 8 || $veranstaltung->tabellenwertung == 11) && ($spielpunkte_quotient != $team->spielpunkte_quotient || $punkte_quotient != $team->punkte_quotient)) - || (($veranstaltung->tabellenwertung >= 21) && ($team->buchholz1 != $buchholz1_wert || $team->buchholz2 != $buchholz2_wert))) - $tatsaechlicher_platz = $platz; - echo $tatsaechlicher_platz; - ?> - + if (($details_anzeigen || !$spiel->gast_spieler_2_bild_ausblenden) && ($spiel->gast_spieler_2_mitglied_id != null || ($spiel->gast_spieler_2_id != null && $spiel->gast_spieler_2_id != 0))) { + $bild = bildHTML("mannschaftsmitglieder", !$details_anzeigen && $spiel->gast_spieler_2_bild_ausblenden ? '' : $spiel->gast_spieler_2_mitglied_id, 45, 60, 0, 0, 'border="1"'); + if ($bild == null) + $bild = bildHTML("spieler", !$details_anzeigen && $spiel->gast_spieler_2_bild_ausblenden ? '' : $spiel->gast_spieler_2_id, 45, 60, 0, 0, 'border="1"', $spiel->gast_spieler_2_geschlecht == 'M' ? 'm' : 'w'); + if ($bild != null) + echo $bild; + } + } + ?> +
+
+   - - - - - - - -
- team_id) . "\">" . htmlentities_utf8(NichtLeererString($team->teamname)) . ""; - ?> - - team_id, 50, 50, 0, 0, 'border="0"'); - if ($bild != null) { - echo $bild; - } else if ($team->verein_id != null) { - $bild = bildHTML("vereine", $team->verein_id, 50, 50, 0, 0, 'border="0"'); - if ($bild != null) - echo $bild; - } - ?> -
+ - - - siege + $team->unentschieden + $team->niederlagen; ?> - - siege; ?> - unentschieden; ?> - niederlagen; ?> - - - tabellenwertung != 3 && $veranstaltung->tabellenwertung != 6 && $veranstaltung->tabellenwertung != 9 && $veranstaltung->tabellenwertung != 23 && $veranstaltung->tabellenwertung != 26 && $veranstaltung->tabellenwertung != 29) { - $title = ""; - if ($alleine_angezeigt && $praesentation == 0) { - ?> - - - - - > - tabellenwertung == 1 || $veranstaltung->tabellenwertung == 4 || $veranstaltung->tabellenwertung == 7 || $veranstaltung->tabellenwertung == 10 || $veranstaltung->tabellenwertung == 21 || $veranstaltung->tabellenwertung == 24 || $veranstaltung->tabellenwertung == 27) - echo ($punkte_differenz >= 0 ? "+" : "") . $punkte_differenz; - else - echo $punkte_quotient == -1 ? "∞" : sprintf("%.2f", $punkte_quotient); - ?> - - tabellenwertung != 3 && $veranstaltung->tabellenwertung != 6 && $veranstaltung->tabellenwertung != 9 && $veranstaltung->tabellenwertung != 23 && $veranstaltung->tabellenwertung != 26 && $veranstaltung->tabellenwertung != 29 && ($modus->spielpunkte_wertung_einzel != 2 || $modus->spielpunkte_wertung_doppel != 2)) { - $title = ""; - if ($modus->spielpunkte_wertung_einzel != 2 || $modus->spielpunkte_wertung_doppel != 2) { - if ($alleine_angezeigt && $praesentation == 0) { - ?> - - - - - > - tabellenwertung == 1 || $veranstaltung->tabellenwertung == 4 || $veranstaltung->tabellenwertung == 7 || $veranstaltung->tabellenwertung == 10 || $veranstaltung->tabellenwertung == 21 || $veranstaltung->tabellenwertung == 24 || $veranstaltung->tabellenwertung == 27) - echo ($spielpunkte_differenz >= 0 ? "+" : "") . $spielpunkte_differenz; - else - echo $spielpunkte_quotient == -1 ? "∞" : sprintf("%.2f", $spielpunkte_quotient); - ?> - - tabellenwertung >= 21) { - ?> - buchholz2; ?> - buchholz1; ?> - tabellenwertung <= 9 || $veranstaltung->tabellenwertung >= 21) { - ?> - - - - - - - -
- - - - -
- - -
-
- -   - + + function bilder_zeigen(){ + let breite = window.innerWidth; + let id = 0; + let anzeige; + let anzahl_spiele = ; + + if (breite < 480){ + anzeige = "none"; + } + else { + anzeige = "block"; + } + for (let i=0; i <= anzahl_spiele; i++) { + id = "bilder_heim_" + i; + document.getElementById(id).style.display = anzeige; + id = "bilder_gast_" + i; + document.getElementById(id).style.display = anzeige; + } + } + + function onResize() { + bilder_zeigen(); + } + + bilder_zeigen(); + + window.addEventListener("resize", onResize); + + + + 0) { + if ($alleine_angezeigt && $veranstaltung->tabellenwertung >= -1 && $veranstaltung->tabellenwertung <= 11 && count($spieltage) > 1) { + ?> +
+
+ + + + +
+ +
+
+ + +
+ team_id, 28, 28) != null) { + $bilder_anzeigen = true; + break; + } else if (bildHTML("vereine", $team->verein_id, 28, 28) != null) { + $bilder_anzeigen = true; + break; + } + } + + $zusatzpunkte_anzeigen = false; + if ($veranstaltung->tabellenwertung <= 9 || $veranstaltung->tabellenwertung >= 21) { + foreach ($teams as $team) { + if ($team->zusatzpunkte != 0) { + $zusatzpunkte_anzeigen = true; + break; + } + } + } + + ?> + + +
+ + + + + + + + + + + + + + + tabellenwertung != 3 && $veranstaltung->tabellenwertung != 6 && $veranstaltung->tabellenwertung != 9 && $veranstaltung->tabellenwertung != 23 && $veranstaltung->tabellenwertung != 26 && $veranstaltung->tabellenwertung != 29) { + if ($alleine_angezeigt && $praesentation == 0) { + ?> + + + + tabellenwertung != 3 && $veranstaltung->tabellenwertung != 6 && $veranstaltung->tabellenwertung != 9 && $veranstaltung->tabellenwertung != 23 && $veranstaltung->tabellenwertung != 26 && $veranstaltung->tabellenwertung != 29 && ($modus->spielpunkte_wertung_einzel != 2 || $modus->spielpunkte_wertung_doppel != 2)) { + if ($alleine_angezeigt && $praesentation == 0 && ($modus->spielpunkte_wertung_einzel != 2 || $modus->spielpunkte_wertung_doppel != 2)) { + ?> + + + + tabellenwertung >= 21) { + ?> + + + tabellenwertung <= 9 || $veranstaltung->tabellenwertung >= 21) { + ?> + + + + + + + gesamtpunkte); + $zusatzpunkte = floatval($team->zusatzpunkte); + $punkte_quotient = $team->punkte_quotient; + $punkte_differenz = $team->punkte_differenz; + $punkte_gewonnen = $team->punkte_gewonnen; + $punkte_verloren = $team->punkte_verloren; + $spielpunkte_quotient = $team->spielpunkte_quotient; + $spielpunkte_differenz = $team->spielpunkte_differenz; + $spielpunkte_gewonnen = $team->spielpunkte_gewonnen; + $spielpunkte_verloren = $team->spielpunkte_verloren; + if ($veranstaltung->tabellenwertung >= 21) { + $buchholz1_wert = $team->buchholz1; + $buchholz2_wert = $team->buchholz2; + } + ?> + + + + + + + + + + + + tabellenwertung != 3 && $veranstaltung->tabellenwertung != 6 && $veranstaltung->tabellenwertung != 9 && $veranstaltung->tabellenwertung != 23 && $veranstaltung->tabellenwertung != 26 && $veranstaltung->tabellenwertung != 29) { + $title = ""; + if ($alleine_angezeigt && $praesentation == 0) { + ?> + + + + tabellenwertung != 3 && $veranstaltung->tabellenwertung != 6 && $veranstaltung->tabellenwertung != 9 && $veranstaltung->tabellenwertung != 23 && $veranstaltung->tabellenwertung != 26 && $veranstaltung->tabellenwertung != 29 && ($modus->spielpunkte_wertung_einzel != 2 || $modus->spielpunkte_wertung_doppel != 2)) { + $title = ""; + if ($modus->spielpunkte_wertung_einzel != 2 || $modus->spielpunkte_wertung_doppel != 2) { + if ($alleine_angezeigt && $praesentation == 0) { + ?> + + + + tabellenwertung >= 21) { + ?> + + + tabellenwertung <= 9 || $veranstaltung->tabellenwertung >= 21) { + ?> + + + + +
+ + + + + + + + + punktetyp != 2 ? Text::_('COM_SPORTSMANAGER_GOALS') : Text::_('COM_SPORTSMANAGER_SETS'); ?>
+ +
+ punktetyp != 2 ? Text::_('COM_SPORTSMANAGER_GOALS') : Text::_('COM_SPORTSMANAGER_SETS'); ?> + +
+ +
+ + + + +
+ tabellenwertung <= 9 || $veranstaltung->tabellenwertung >= 21) && $gesamtpunkte != $team->gesamtpunkte) + || (($veranstaltung->tabellenwertung == 1 || $veranstaltung->tabellenwertung == 4 || $veranstaltung->tabellenwertung == 7 || $veranstaltung->tabellenwertung == 10) && ($spielpunkte_differenz != $team->spielpunkte_differenz || $punkte_differenz != $team->punkte_differenz)) + || (($veranstaltung->tabellenwertung == 2 || $veranstaltung->tabellenwertung == 5 || $veranstaltung->tabellenwertung == 8 || $veranstaltung->tabellenwertung == 11) && ($spielpunkte_quotient != $team->spielpunkte_quotient || $punkte_quotient != $team->punkte_quotient)) + || (($veranstaltung->tabellenwertung >= 21) && ($team->buchholz1 != $buchholz1_wert || $team->buchholz2 != $buchholz2_wert))) + $tatsaechlicher_platz = $platz; + echo $tatsaechlicher_platz; + ?> + + team_id) . "\">" . htmlentities_utf8(NichtLeererString($team->teamname)) . ""; + ?> + + team_id, 50, 50, 0, 0, 'border="0"'); + if ($bild != null) { + echo $bild; + } else if ($team->verein_id != null) { + $bild = bildHTML("vereine", $team->verein_id, 50, 50, 0, 0, 'border="0"'); + if ($bild != null) + echo $bild; + } + ?> + siege + $team->unentschieden + $team->niederlagen; ?>siege; ?>unentschieden; ?>niederlagen; ?> + + > + tabellenwertung == 1 || $veranstaltung->tabellenwertung == 4 || $veranstaltung->tabellenwertung == 7 || $veranstaltung->tabellenwertung == 10 || $veranstaltung->tabellenwertung == 21 || $veranstaltung->tabellenwertung == 24 || $veranstaltung->tabellenwertung == 27) + echo ($punkte_differenz >= 0 ? "+" : "") . $punkte_differenz; + else + echo $punkte_quotient == -1 ? "∞" : sprintf("%.2f", $punkte_quotient); + ?> + + + > + tabellenwertung == 1 || $veranstaltung->tabellenwertung == 4 || $veranstaltung->tabellenwertung == 7 || $veranstaltung->tabellenwertung == 10 || $veranstaltung->tabellenwertung == 21 || $veranstaltung->tabellenwertung == 24 || $veranstaltung->tabellenwertung == 27) + echo ($spielpunkte_differenz >= 0 ? "+" : "") . $spielpunkte_differenz; + else + echo $spielpunkte_quotient == -1 ? "∞" : sprintf("%.2f", $spielpunkte_quotient); + ?> + buchholz2; ?>buchholz1; ?>
+
+ +
+ + + + +
+ + +
+
+ +   + - +
@@ -2286,7 +2401,7 @@ global $params;
- +
@@ -2463,7 +2554,7 @@ global $params; ?>
-
@@ -2302,7 +2417,7 @@ global $params; if ($bild != null) { ?>
- +
@@ -2315,7 +2430,7 @@ global $params; if ($bild != null) { ?>
-
+
@@ -2351,7 +2466,7 @@ global $params; || ($mitglieder_modus == 1 && $mitglieder_voruebergehend > 0)) { ?>
-
+
@@ -2360,97 +2475,73 @@ global $params;
-
+
spieler_id]) || ($mitglieder_modus == 1 && $mitglieder_ist_dauerhaft[$row->spieler_id])) continue; - if ($n % 3 == 0 && $n != 0) - echo ""; + echo "
"; + echo ""; - echo ""; + echo ""; + echo "
get('pageclass_sfx') . "\">"; + if (empty($row->aktueller_verein_id)) + echo htmlentities_utf8($row->nachname . ", " . $row->vorname); + else { + ?>nachname . ", " . $row->vorname)); ?>spielernr)) + echo "
" . htmlentities_utf8($row->spielernr) . ""; + if ($team_moderator) { + if (!empty($row->geburtsjahr)) { + echo "
" . htmlentities_utf8($row->geburtsjahr) . ""; + } + if (!empty($row->strasse)) + echo "
" . htmlentities_utf8($row->strasse) . ""; + if (!empty($row->plz) || !empty($row->ort)) + echo "
" . (!empty($row->plz) ? (htmlentities_utf8($row->plz) . " ") : "") . htmlentities_utf8($row->ort) . ""; + if (!empty($row->telefon)) + echo "
" . htmlentities_utf8($row->telefon) . ""; + if (!empty($row->mobil)) + echo "
" . htmlentities_utf8($row->mobil) . ""; + if (!empty($row->email)) { + $replacement = HTMLHelper::_('email.cloak', $row->email, 1, $row->email, 0); + echo "
" . $replacement . ""; + } + } + if (isset($spielberechtigungen[$row->spieler_id])) { - echo "
get('pageclass_sfx') . "\">"; - echo ""; - echo ""; - if ($team_moderator) { - if (!empty($row->geburtsjahr)) { - echo ""; - } - if (!empty($row->strasse) || - !empty($row->plz) || !empty($row->ort)) { - echo ""; - } - if (!empty($row->telefon) || - !empty($row->mobil) || - !empty($row->email)) { - echo ""; - } - } - if (isset($spielberechtigungen[$row->spieler_id])) { - echo ""; - } - echo "
"; - if (empty($row->aktueller_verein_id)) - echo htmlentities_utf8($row->nachname . ", " . $row->vorname); - else { - ?>nachname . ", " . $row->vorname)); ?>spielernr)) - echo "
" . htmlentities_utf8($row->spielernr) . ""; - echo "
"; - echo "" . htmlentities_utf8($row->geburtsjahr) . ""; - echo "
"; - if (!empty($row->strasse)) - echo "" . htmlentities_utf8($row->strasse) . "
"; - if (!empty($row->plz) || !empty($row->ort)) - echo "" . (!empty($row->plz) ? (htmlentities_utf8($row->plz) . " ") : "") . htmlentities_utf8($row->ort) . ""; - echo "
"; - if (!empty($row->telefon)) - echo "" . htmlentities_utf8($row->telefon) . "
"; - if (!empty($row->mobil)) - echo "" . htmlentities_utf8($row->mobil) . "
"; - if (!empty($row->email)) { - $replacement = HTMLHelper::_('email.cloak', $row->email, 1, $row->email, 0); - echo "" . $replacement . ""; - } - echo "
"; - foreach ($spielberechtigungen[$row->spieler_id] as $spielberechtigung) { - echo ""; - if (isset($veranstaltungsbezeichnungen[$spielberechtigung[0]])) { - echo htmlentities_utf8($veranstaltungsbezeichnungen[$spielberechtigung[0]]) . ": "; - } - if ($spielberechtigung[2] == -1) // Ohne Spielberechtigung - echo "Nicht spielberechtigt"; - else if (empty($spielberechtigung[3])) // Letzter Spieltag ohne Einschränkung - echo "Ab " . htmlentities_utf8(Rundenbezeichnung($spielberechtigung[2], $spielberechtigung[1] == 0)); - else if ($spielberechtigung[2] < 2) // Erster Spieltag ohne Einschränkung - echo "Bis " . htmlentities_utf8(Rundenbezeichnung($spielberechtigung[3], $spielberechtigung[1] == 0)); - else if ($spielberechtigung[2] == $spielberechtigung[3]) // Erster Spieltag und letzter Spieltag gleich - echo "Während " . htmlentities_utf8(Rundenbezeichnung($spielberechtigung[2], $spielberechtigung[1] == 0)); - else - echo htmlentities_utf8(Rundenbezeichnung($spielberechtigung[2], $spielberechtigung[1] == 0)) . " bis " . htmlentities_utf8(Rundenbezeichnung($spielberechtigung[3], $spielberechtigung[1] == 0)); - echo "
"; - } - echo "
get('pageclass_sfx') . "\">"; + foreach ($spielberechtigungen[$row->spieler_id] as $spielberechtigung) { + echo "
"; + if (isset($veranstaltungsbezeichnungen[$spielberechtigung[0]])) { + echo htmlentities_utf8($veranstaltungsbezeichnungen[$spielberechtigung[0]]) . ": "; + } + if ($spielberechtigung[2] == -1) // Ohne Spielberechtigung + echo "
Nicht spielberechtigt"; + else if (empty($spielberechtigung[3])) // Letzter Spieltag ohne Einschränkung + echo "
Ab " . htmlentities_utf8(Rundenbezeichnung($spielberechtigung[2], $spielberechtigung[1] == 0)); + else if ($spielberechtigung[2] < 2) // Erster Spieltag ohne Einschränkung + echo "
Bis " . htmlentities_utf8(Rundenbezeichnung($spielberechtigung[3], $spielberechtigung[1] == 0)); + else if ($spielberechtigung[2] == $spielberechtigung[3]) // Erster Spieltag und letzter Spieltag gleich + echo "
Während " . htmlentities_utf8(Rundenbezeichnung($spielberechtigung[2], $spielberechtigung[1] == 0)); + else + echo htmlentities_utf8(Rundenbezeichnung($spielberechtigung[2], $spielberechtigung[1] == 0)) . " bis " . htmlentities_utf8(Rundenbezeichnung($spielberechtigung[3], $spielberechtigung[1] == 0)); + echo "
"; + } + } + echo "
get('pageclass_sfx') . "\">"; $bild = bildHTML("mannschaftsmitglieder", !$details_anzeigen && $row->bild_ausblenden ? '' : $row->mitglied_von_team_id, 90, 120, 0, 0, 'border="1"'); if ($bild == null) $bild = bildHTML("spieler", !$details_anzeigen && $row->bild_ausblenden ? '' : $row->spieler_id, 90, 120, 0, 0, 'border="1"', $row->geschlecht == 'M' ? 'm' : 'w'); if ($bild != null) { - ?> - - - - -
- "; $n++; + echo "
"; } ?>
+
@@ -2474,7 +2565,7 @@ global $params;
- +
gegner_id, 28, 28)) { + if (bildHTML("mannschaften", $begegnung->gegner_id, 40, 40)) { $bilder_anzeigen = true; break; - } else if ($begegnung->gegner_verein_id != null && bildHTML("vereine", $begegnung->gegner_verein_id, 28, 28)) { + } else if ($begegnung->gegner_verein_id != null && bildHTML("vereine", $begegnung->gegner_verein_id, 40, 40)) { $bilder_anzeigen = true; break; } @@ -2672,20 +2763,18 @@ global $params; $veranstaltung_id = -1; $k = 0; - foreach ($begegnungen - - as $row) { + foreach ($begegnungen as $row) { if ($veranstaltung_id != $row->veranstaltung_id) { if ($veranstaltung_id != -1) { ?> -
-   - +   + veranstaltung_id; ?>
- +
@@ -2694,7 +2783,7 @@ global $params;
-
+
unterteilung == 0 || $row->unterteilung == 1) { @@ -2704,9 +2793,9 @@ global $params; } ?> - - + -
+ KontrahentKontrahent + veranstaltung_id . '&teamid=' . $team->team_id . '&id=' . $row->begegnung_id) . "\">" . FormatiertesDatum($row->zeitpunkt) . ""; @@ -2754,7 +2843,7 @@ global $params; } ?> - + @@ -2766,13 +2855,13 @@ global $params; -
+ gegner_id, 28, 28, 0, 0, 'border="0"'); + $bild = bildHTML("mannschaften", $row->gegner_id, 40, 40, 0, 0, 'border="0"'); if ($bild != null) echo $bild; else if ($row->gegner_verein_id != null) { - $bild = bildHTML("vereine", $row->gegner_verein_id, 28, 28, 0, 0, 'border="0"'); + $bild = bildHTML("vereine", $row->gegner_verein_id, 40, 40, 0, 0, 'border="0"'); if ($bild != null) echo $bild; } @@ -2789,7 +2878,7 @@ global $params; - + heimspielort_url; @@ -2817,7 +2906,7 @@ global $params; } if ($row->spielpunkte_wertung_einzel != 2 || $row->spielpunkte_wertung_doppel != 2) { ?> - + veranstaltung_id . '&teamid=' . $team->team_id . '&id=' . $row->begegnung_id) . "\">" . ($row->auswaerts ? ($row->gast_punkte . ":" . $row->heim_punkte) : ($row->heim_punkte . ":" . $row->gast_punkte)) . ""; @@ -2828,7 +2917,7 @@ global $params; - + veranstaltung_id . '&teamid=' . $team->team_id . '&id=' . $row->begegnung_id) . "\">" . ($row->auswaerts ? ($row->gast_spielpunkte . ":" . $row->heim_spielpunkte) : ($row->heim_spielpunkte . ":" . $row->gast_spielpunkte)) . ""; @@ -2859,7 +2948,7 @@ global $params; } ?>
- +
@@ -2870,7 +2959,7 @@ global $params;
- +
@@ -2955,7 +3044,7 @@ global $params; $k = 0; ?>
- +
@@ -2966,7 +3055,7 @@ global $params;
- +
@@ -2993,10 +3082,9 @@ global $params; } } - static function vereine($titel, $beschreibung, $rows, $organisationAnzeigen): void + static function vereine($titel, $beschreibung, $rows, $organisationAnzeigen, $spalteMitgliederAnzeigen): void { global $params; - if (!empty($titel)) { ?>
0) { - $bilder_anzeigen = false; - foreach ($rows as $verein) { - if (bildHTML("vereine", $verein->verein_id, 28, 28) != null) { - $bilder_anzeigen = true; - break; - } - } + if (count($rows) > 0) { + $bilder_anzeigen = false; + foreach ($rows as $verein) { + if (bildHTML("vereine", $verein->verein_id, 40, 40) != null) { + $bilder_anzeigen = true; + break; + } + } + ?> + +
+
+
+ + + + + + + + + + + + + + veranstalterbezeichnung; - ?> -
-
Vereinslogo + + + + + + + Organisation
- - - -
- -
-
- -
- - - - - - + + + + + + + + + + " . $row->veranstalterbezeichnung . ""; + } ?> - $k = 0; - foreach ($rows as $row) { - if ($organisationAnzeigen) { - if ($row->veranstalterbezeichnung != $organisation) { - $organisation = $row->veranstalterbezeichnung; - ?> -
+ verein_id, 40, 40, 0, 0, 'border="0"'); + if ($bild != null) + echo $bild; + ?> + + + + vereinsname)); ?> + + mitglieder; ?> + vereinssitz)) echo htmlentities_utf8($row->vereinssitz . (!empty($row->vereinssitz_ortsteil) ? ("-" . $row->vereinssitz_ortsteil) : "")); ?>
-   - -
- - - - -
- -
-
- -
- - - - - - - - - - -
- -
- - - - - - - - -
- vereinsname)); ?> - - verein_id, 28, 28, 0, 0, 'border="0"'); - if ($bild != null) - echo $bild; - ?> -
- -
vereinssitz)) echo htmlentities_utf8($row->vereinssitz . (!empty($row->vereinssitz_ortsteil) ? ("-" . $row->vereinssitz_ortsteil) : "")); ?>
- -   - + +
+
+ + +   +
- +
@@ -3188,7 +3250,7 @@ global $params; if ($bild != null) { ?>
- +
@@ -3200,7 +3262,7 @@ global $params; ?>
-
+
@@ -4239,11 +4282,18 @@ global $params; } } - static function spielerDetails($spieler, $vereine, $veranstalter, $spieler_elo_verlauf_einzel, $spieler_elo_verlauf_doppel, $spielerNamen, $teamNamen, $veranstaltungBezeichnungen, $turnierdisziplinBezeichnungen, $individualwettbewerbBezeichnungen, $ranglistenplatzierungen, $turnierplatzierungen, $teams, $sortierung, $vorheriger_spieler_id, $naechster_spieler_id, $elo_detailliert, $statistik, $beginn, $kategorie, $einstufungen, $filter, $veranstaltungid, $veranstalterid, $einstufungid, $unabhaengige_ansicht, $details_anzeigen, $lizenz_anzeigen):void { + static function spielerDetails($spieler, $vereine, $veranstalter, $spieler_elo_verlauf_einzel, $spieler_elo_verlauf_doppel, + $spielerNamen, $teamNamen, $veranstaltungBezeichnungen, $turnierdisziplinBezeichnungen, + $individualwettbewerbBezeichnungen, $ranglistenplatzierungen, $turnierplatzierungen, + $teams, $sortierung, $vorheriger_spieler_id, $naechster_spieler_id, $elo_detailliert, + $statistik, $beginn, $kategorie, $einstufungen, $filter, $veranstaltungid, $veranstalterid, + $einstufungid, $unabhaengige_ansicht, $details_anzeigen, $lizenz_anzeigen):void { global $params; + if (count($vereine) == 0){echo "Sie haben keine Berechtigung auf diesen Datensatz!!!"; die;} + ?> -
- +
@@ -3310,7 +3372,7 @@ global $params;
-
+
@@ -3363,7 +3425,7 @@ global $params; if (count($mitglieder) > 0) { ?>
-
+
@@ -3372,67 +3434,48 @@ global $params;
-
+
"; - - echo ""; - echo ""; + + echo ""; + echo "
get('pageclass_sfx') . "\">"; - echo ""; - echo ""; + echo ""; if ($vereins_moderator) { if (!empty($row->geburtsjahr)) { - echo ""; + echo "
" . htmlentities_utf8($row->geburtsjahr) . ""; } - if (!empty($row->strasse) || - !empty($row->plz) || !empty($row->ort)) { - echo ""; - } - if (!empty($row->telefon) || - !empty($row->mobil) || - !empty($row->email)) { - echo ""; + if (!empty($row->strasse)) + echo "
" . htmlentities_utf8($row->strasse) . "
"; + if (!empty($row->plz) || !empty($row->ort)) + echo "
" . (!empty($row->plz) ? (htmlentities_utf8($row->plz) . " ") : "") . htmlentities_utf8($row->ort) . ""; + if (!empty($row->telefon)) + echo "
" . htmlentities_utf8($row->telefon) . "
"; + if (!empty($row->mobil)) + echo "
" . htmlentities_utf8($row->mobil) . "
"; + if (!empty($row->email)) { + $replacement = HTMLHelper::_('email.cloak', $row->email, 1, $row->email, 0); + echo "
" . $replacement . ""; } } - echo "
"; - ?>nachname . ", " . $row->vorname); ?>
get('pageclass_sfx') . "\">"; + ?> + + nachname . ", " . $row->vorname); ?>spielernr)) echo "
" . htmlentities_utf8($row->spielernr) . ""; - echo "
"; - echo "" . htmlentities_utf8($row->geburtsjahr) . ""; - echo "
"; - if (!empty($row->strasse)) - echo "" . htmlentities_utf8($row->strasse) . "
"; - if (!empty($row->plz) || !empty($row->ort)) - echo "" . (!empty($row->plz) ? (htmlentities_utf8($row->plz) . " ") : "") . htmlentities_utf8($row->ort) . ""; - echo "
"; - if (!empty($row->telefon)) - echo "" . htmlentities_utf8($row->telefon) . "
"; - if (!empty($row->mobil)) - echo "" . htmlentities_utf8($row->mobil) . "
"; - if (!empty($row->email)) { - $replacement = HTMLHelper::_('email.cloak', $row->email, 1, $row->email, 0); - echo "" . $replacement . ""; - } - echo "
get('pageclass_sfx') . "\">"; - $bild = bildHTML("spieler", !$details_anzeigen && $row->bild_ausblenden ? '' : $row->spieler_id, 90, 120, 0, 0, 'border="1"', $row->geschlecht == 'M' ? 'm' : 'w'); + echo "get('pageclass_sfx') . "\">"; + $bild = bildHTML("spieler", !$details_anzeigen && $row->bild_ausblenden ? '' : $row->mitglied_von_team_id, 90, 120, 0, 0, 'border="1"'); + if ($bild == null) + $bild = bildHTML("spieler", !$details_anzeigen && $row->bild_ausblenden ? '' : $row->spieler_id, 90, 120, 0, 0, 'border="1"', $row->geschlecht == 'M' ? 'm' : 'w'); if ($bild != null) { - ?> - - - - -
- "; $n++; + echo "
"; } ?>
+
-
+
@@ -4297,7 +4347,7 @@ global $params; if ($bild != null) { ?>
- +
@@ -4309,7 +4359,7 @@ global $params; ?>
-
+
@@ -4318,7 +4368,7 @@ global $params;

+ class="uk-table-shrink uk-table-hover uk-table-middle contentpaneopenget('pageclass_sfx'); ?>"> Text::_('COM_SPORTSMANAGER_CATEGORY_MEN'), 'D' => Text::_('COM_SPORTSMANAGER_CATEGORY_WOMEN'), 'J' => Text::_('COM_SPORTSMANAGER_CATEGORY_JUNIORS'), 'S' => Text::_('COM_SPORTSMANAGER_CATEGORY_SENIORS')); if (isset($kategorie_bezeichnung[$spieler->kategorie])) { @@ -4373,7 +4423,7 @@ global $params; : @@ -4387,7 +4437,7 @@ global $params; : @@ -4481,7 +4531,7 @@ global $params; if (count($ranglistenplatzierungen) > 0) { ?>
-
elo_einzel_spiele == 1 ? Text::sprintf('COM_SPORTSMANAGER_GAME_ELO_IN_ONE_GAME', $spieler->elo_einzel) : Text::sprintf('COM_SPORTSMANAGER_GAME_ELO_IN_NUMBER_GAMES', $spieler->elo_einzel)); + echo($spieler->elo_einzel_spiele == 1 ? Text::sprintf('COM_SPORTSMANAGER_GAME_ELO_IN_ONE_GAME', $spieler->elo_einzel) : Text::sprintf('COM_SPORTSMANAGER_GAME_ELO_IN_NUMBER_GAMES', $spieler->elo_einzel, $spieler->elo_einzel_spiele)); ?>
elo_doppel_spiele == 1 ? Text::sprintf('COM_SPORTSMANAGER_GAME_ELO_IN_ONE_GAME', $spieler->elo_doppel) : Text::sprintf('COM_SPORTSMANAGER_GAME_ELO_IN_NUMBER_GAMES', $spieler->elo_doppel)); + echo($spieler->elo_doppel_spiele == 1 ? Text::sprintf('COM_SPORTSMANAGER_GAME_ELO_IN_ONE_GAME', $spieler->elo_doppel) : Text::sprintf('COM_SPORTSMANAGER_GAME_ELO_IN_NUMBER_GAMES', $spieler->elo_doppel, $spieler->elo_doppel_spiele)); ?>
+

@@ -4493,11 +4543,11 @@ global $params;
+ class="uk-table-hover uk-table-middle rangliste-width contentpaneopenget('pageclass_sfx'); ?>"> - - - + + + + style="text-align: left;">
0) { ?>
- +

+ style="width: 100%;">

@@ -4551,15 +4601,15 @@ global $params;
- +
- - - - - - + + + + + + + style="text-align: left"> - - - + + + @@ -4605,10 +4655,10 @@ global $params; if (count($teams) > 0) { ?>
-
turnierbezeichnung != null ? htmlentities_utf8($platzierung->turnierbezeichnung) : ""; ?>beginn == null ? "" : htmlentities_utf8(FormatiertesDatum($platzierung->beginn, false)); ?>turnierort != null ? htmlentities_utf8($platzierung->turnierort) : ""; ?>turnierbezeichnung != null ? htmlentities_utf8($platzierung->turnierbezeichnung) : ""; ?>beginn == null ? "" : htmlentities_utf8(FormatiertesDatum($platzierung->beginn, false)); ?>turnierort != null ? htmlentities_utf8($platzierung->turnierort) : ""; ?> disziplin != null ? htmlentities_utf8($platzierung->disziplin) : ""; ?> platz != null ? htmlentities_utf8($platzierung->platz) : ""; ?> teilnehmer != null ? htmlentities_utf8($platzierung->teilnehmer) : ""; ?>
+

+ style="width: 100%;">

@@ -4616,10 +4666,10 @@ global $params;
+ class="uk-table-hover uk-table-middle contentpaneopenget('pageclass_sfx'); ?>"> - - + + + style="text-align: left"> - + get('pageclass_sfx'); ?>"> 
teamname); ?>teamname); ?> wettbewerbe); ?>
@@ -5718,13 +5767,16 @@ global $params; ?>
-
+
- + tabellenwertung > 0) { ?> @@ -5737,22 +5789,27 @@ global $params; ?> - aktueller_verein_id == null) + echo htmlentities_utf8($row->nachname . ", " . $row->vorname); + else { + ?> + nachname . ", " . $row->vorname); ?> + typ == 3 && $row->spieler_2_id != null) { + ?> +
+ aktueller_verein_id_2 == null) + echo htmlentities_utf8($row->nachname_2 . ", " . $row->vorname_2); + else { + ?> + nachname_2 . ", " . $row->vorname_2); ?> + + + + + + tabellenwertung != 0) { ?>
+ + + + title=" + "> + + title=" + "> - + title=" + "> + title=" + "> + + title=" + "> - @@ -5784,53 +5841,46 @@ global $params; ?> - - - - - - - - -
- aktueller_verein_id == null) - echo htmlentities_utf8($row->nachname . ", " . $row->vorname); - else { - ?> - nachname . ", " . $row->vorname); ?> - typ == 3 && $row->spieler_2_id != null) { - ?> -
- aktueller_verein_id_2 == null) - echo htmlentities_utf8($row->nachname_2 . ", " . $row->vorname_2); - else { - ?> - nachname_2 . ", " . $row->vorname_2); ?> - -
- bild_ausblenden ? '' : $row->spieler_id, 57, 76, 0, 0, 'border="1" style="text-align: right" hspace="8" vspace="2"', $row->geschlecht == 'M' ? 'm' : 'w')) != null) - echo $bild; - ?> - - bild_ausblenden_2 ? '' : $row->spieler_2_id, 57, 76, 0, 0, 'border="1" style="text-align: right" hspace="8" vspace="2"', $row->geschlecht == 'M' ? 'm' : 'w')) != null) - echo $bild; - ?> -
-
+ bild_ausblenden ? '' : $row->spieler_id, 45, 60, 0, 0, 'border="1" style="text-align: right" hspace="8" vspace="2"', $row->geschlecht == 'M' ? 'm' : 'w')) != null) + echo $bild; + ?> + + bild_ausblenden_2 ? '' : $row->spieler_2_id, 45, 60, 0, 0, 'border="1" style="text-align: right" hspace="8" vspace="2"', $row->geschlecht == 'M' ? 'm' : 'w')) != null) + echo $bild; + ?> + @@ -6768,8 +6818,10 @@ global $params; static function rangliste($rangliste, $rangliste_punkte, $allein_angezeigt, $details_anzeigen): void { + ?> + +
@@ -6847,14 +6899,15 @@ global $params; ?>
- +
- + - + - + - diff --git a/src/structure/components/com_sportsmanager/views/sportsmanager/view.json.php b/src/structure/components/com_sportsmanager/views/sportsmanager/view.json.php index 5d7f3ed..c19377d 100644 --- a/src/structure/components/com_sportsmanager/views/sportsmanager/view.json.php +++ b/src/structure/components/com_sportsmanager/views/sportsmanager/view.json.php @@ -197,6 +197,7 @@ class JSON_sportsmanager #[NoReturn] static function spielerDetails($spieler, $vereine, $veranstalter, $spieler_elo_verlauf_einzel, $spieler_elo_verlauf_doppel, $spielerNamen, $teamNamen, $veranstaltungBezeichnungen, $turnierdisziplinBezeichnungen, $individualwettbewerbBezeichnungen, $ranglistenplatzierungen, $turnierplatzierungen, $teams, $elo_detailliert, $statistik, $einstufungen): void { + if (count($vereine) == 0){die;} $letzte_einzel = []; $spieler->bild = playerImage($spieler->spieler_id, $spieler->geschlecht); for ($i = sizeof($spieler_elo_verlauf_einzel) - 1; $i >= max(sizeof($spieler_elo_verlauf_einzel) - 10, 0); $i--) { diff --git a/src/structure/components/com_sportsmanager/views/sportsmanager/view_admin.php b/src/structure/components/com_sportsmanager/views/sportsmanager/view_admin.php index eacb8df..261b5ce 100644 --- a/src/structure/components/com_sportsmanager/views/sportsmanager/view_admin.php +++ b/src/structure/components/com_sportsmanager/views/sportsmanager/view_admin.php @@ -12,48 +12,66 @@ 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/util/image.php'; -function formatTimediff( $timestamp1, $timestamp2, $verbose ) { - if (empty($timestamp1) || empty($timestamp2)) { - return ""; - } else { - $daydiff = round(($timestamp2 - $timestamp1) / (3600.0 * 24.0)); - if ($verbose) { - return sprintf("%+d d", $daydiff); - } else if (abs($daydiff) > 0) { - return sprintf("%dd", $daydiff); - } else { - return "-"; - } - } -} - -function formatTeamName( $team_name, $team_id, $highlight_team_id ) { - if ($team_id == $highlight_team_id) { - return "" . htmlentities_utf8($team_name) . ""; - } else { - return htmlentities_utf8($team_name); - } -} - 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 formatTimediff( $timestamp1, $timestamp2, $verbose ): string + { + if (empty($timestamp1) || empty($timestamp2)) { + return ""; + } else { + $daydiff = round(($timestamp2 - $timestamp1) / (3600.0 * 24.0)); + if ($verbose) { + return sprintf("%+d d", $daydiff); + } else if (abs($daydiff) > 0) { + return sprintf("%dd", $daydiff); + } else { + return "-"; + } + } + } + + static function formatTeamName( $team_name, $team_id, $highlight_team_id ): string + { + if ($team_id == $highlight_team_id) { + return "" . htmlentities_utf8($team_name) . ""; + } else { + return htmlentities_utf8($team_name); + } + } + + static function checkZeilenumbruch($Spalte_Nr, $max_Spalten): int + { + $Spalte_Nr++; + if ($Spalte_Nr >= $max_Spalten){ + echo "\n\n"; + $Spalte_Nr = 0; + } + return $Spalte_Nr; + } + static function adminUebersicht($veranstaltungen, $spielerstatistiken, $turniere, $ranglisten, $individualwettbewerbe, $statistik, $saisons, $filter_saison_id, $externe_datenbank): void { - function checkZeilenumbruch($Spalte_Nr, $max_Spalten) - { - $Spalte_Nr++; - if ($Spalte_Nr >= $max_Spalten){ - echo "\n\n"; - $Spalte_Nr = 0; - } - return $Spalte_Nr; - } - + global $params; ?>
- Sports Manager + Sports Manager
+
+ bild_ausblenden ? '' : $row->spieler_id, $row->geschlecht == 'M' ? 'm' : 'w', '#resize=75', 'border="1" style="text-align: left" hspace="8" vspace="2"')) != null) - echo $bild; ?> + if (($bild = yoothemeBild("spieler", !$details_anzeigen && $row->bild_ausblenden ? '' : $row->spieler_id, $row->geschlecht == 'M' ? 'm' : 'w', 'border="1" style="text-align: left; width: 60px;" hspace="8" vspace="2"')) != null) + echo "\n".$bild; ?> + aktueller_verein_id == null) echo htmlentities_utf8($row->nachname . ", " . $row->vorname); else { ?> - vorname . " " . $row->nachname); ?> + punkte; ?>
@@ -66,7 +84,7 @@ class HTML_sportsmanager_admin @@ -74,7 +92,7 @@ class HTML_sportsmanager_admin @@ -82,7 +100,7 @@ class HTML_sportsmanager_admin @@ -90,7 +108,7 @@ class HTML_sportsmanager_admin @@ -98,7 +116,7 @@ class HTML_sportsmanager_admin @@ -106,7 +124,7 @@ class HTML_sportsmanager_admin @@ -114,13 +132,13 @@ class HTML_sportsmanager_admin @@ -128,7 +146,7 @@ class HTML_sportsmanager_admin @@ -136,7 +154,7 @@ class HTML_sportsmanager_admin 0) { ?> @@ -144,7 +162,7 @@ class HTML_sportsmanager_admin @@ -152,7 +170,7 @@ class HTML_sportsmanager_admin @@ -160,7 +178,7 @@ class HTML_sportsmanager_admin @@ -168,7 +186,7 @@ class HTML_sportsmanager_admin @@ -176,7 +194,7 @@ class HTML_sportsmanager_admin @@ -184,7 +202,7 @@ class HTML_sportsmanager_admin @@ -605,6 +623,7 @@ class HTML_sportsmanager_admin static function adminEinstellungen($einstellungen): void { + global $params; ?>
-
+
- +
@@ -701,6 +720,72 @@ class HTML_sportsmanager_admin + + + + + + + + + + + + + + + +
- "/>
+ + + + id="show_member_count" name="anzahl_mitglieder_zeigen" placeholder="Zahl eingeben"> +
+ + + +
+ + + +
+ + + +