Compare commits

...

34 Commits

Author SHA1 Message Date
DTFB-PaulF 5a25f6d398 Merge pull request #53 from Deutscher-Tischfussballbund/dev
paul: bugfix player import no update for spieler_nr
2024-11-17 13:10:24 +01:00
Paul Fleischanderl b92b973f8f paul: bugfix player import no update for spieler_nr 2024-11-17 13:06:22 +01:00
Helmut Poppen 322906ff70 Merge branch 'dev' into production
# Conflicts:
#	src/structure/language/de-DE/de-DE.com_sportsmanager.ini
2024-11-15 13:19:57 +01:00
Tim 2c3fef03fb Merge pull request #46 from Deutscher-Tischfussballbund/ranglisten-lizenz-dupli
lizenzen werden beim klonen mit geklont.
2024-11-15 12:56:40 +01:00
Paul Fleischanderl 10cd39073d paul: bugfix missing semicolon after test change 2024-09-01 20:46:11 +02:00
Stefan Wendhausen 935f8ef7d8 Update de-DE.com_sportsmanager.ini
Test action
2024-08-06 20:45:55 +02:00
Stefan Wendhausen 640a6d6f26 Update de-DE.com_sportsmanager.ini
Test both stage actions
2024-08-06 20:35:52 +02:00
Stefan Wendhausen 92785965b2 Create kickernprod.yml 2024-08-06 20:28:34 +02:00
Stefan Wendhausen 405f030364 Create dtfbprod.yml 2024-08-06 20:27:39 +02:00
Stefan Wendhausen c89ce6cba0 Create dtfbstage.yml 2024-08-06 20:21:04 +02:00
Stefan Wendhausen 6995e87fe3 Update de-DE.com_sportsmanager.ini
remove test
2024-08-06 19:57:05 +02:00
Stefan Wendhausen a48742b681 Update de-DE.com_sportsmanager.ini
test 2
2024-08-06 19:55:48 +02:00
Stefan Wendhausen fb14e3135c Update kickernstage.yml 2024-08-06 19:54:57 +02:00
Stefan Wendhausen 169e35fc36 Update de-DE.com_sportsmanager.ini
Test GHA
2024-08-06 19:43:18 +02:00
Stefan Wendhausen 08d093915d Create kickernstage.yml 2024-08-06 19:42:13 +02:00
Paul Fleischanderl a41115819e paul test deployment on stage 2024-07-23 16:58:04 +02:00
Paul Fleischanderl c954eca13c remove update on spieler_nr on funktion Spieler importieren 2024-07-18 17:17:17 +02:00
marcus-fleck 948add8978 nur das entsprechende db feld + value im insert hinzugefügt 2023-11-29 15:32:35 +01:00
Helmut Poppen a9b088dcda Merge pull request #44 from Deutscher-Tischfussballbund/dev
Fixed table width for Turnierergebnisse
2023-07-01 13:11:20 +02:00
Helmut Poppen 3872d33547 Fix: Table width for "Turnierergebnisse"
https://tasks.office.com/dtfb.de/Home/Task/GLdY3Sopmkq3gw04z_kf7pcAPU52?Type=TaskLink&Channel=Link&CreatedTime=638238063935540000
2023-07-01 13:06:57 +02:00
Stefan Wendhausen 51389c00d4 Update README.md
fix dev server status
2023-02-22 14:09:30 +01:00
Stefan Wendhausen 5c6b7601ff Update README.md
update new prod serves
2023-02-22 14:08:40 +01:00
Niels Nübel c90bbfd66e fix mysql queriers 2023-02-21 14:58:49 +01:00
Tim 5c089a4325 Merge pull request #41 from Deutscher-Tischfussballbund/dev
Release Jan 2023
2023-01-16 15:19:27 +01:00
Tim 47c149cbe8 Merge pull request #40 from Deutscher-Tischfussballbund/production
Production changes back to dev
2023-01-16 15:13:41 +01:00
Daniel Görlich 7b5f6cb9f1 Change Wertungen to positive, dont know why?!?!! 2023-01-09 13:04:56 +01:00
Daniel Görlich 3a04f00f93 Remove unused values from Ranglistenwertung 2023-01-05 11:08:44 +01:00
Niels Nübel 79f7a3db03 fix issue 2022-12-09 17:02:19 +01:00
Niels Nübel ac6a0085be add missing Option in rangliste_doppel_teilwertung 2022-12-07 10:37:25 +01:00
Niels Nübel 89ae0e3177 FIX #36 2022-11-29 16:09:30 +01:00
Niels Nübel 81020b66ba FIX #31
Please update Database see updates.sql
2022-11-29 15:39:41 +01:00
Tim 4ee2806d28 Merge pull request #35 from Deutscher-Tischfussballbund/revert-34-dev
Revert "caching to prod"
2022-07-30 21:25:33 +02:00
Tim 988f8f5ed6 Revert "caching to prod" 2022-07-30 21:25:12 +02:00
Helmut Poppen ada68f2ce7 Merge pull request #34 from Deutscher-Tischfussballbund/dev
caching to prod
2022-07-30 14:30:23 +02:00
11 changed files with 170 additions and 46 deletions
+23
View File
@@ -0,0 +1,23 @@
name: Deploy production branch to dtfb.de
on:
push:
branches: ['production']
paths: ['src/structure/**']
workflow_dispatch:
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: rsync deployments
uses: burnett01/rsync-deployments@7.0.1
with:
switches: -avzr
path: src/structure/
remote_path: ${{ secrets.DTFB_PROD_PATH }}
remote_host: ${{ secrets.DTFB_PROD_HOST }}
remote_port: ${{ secrets.DTFB_PROD_PORT }}
remote_user: ${{ secrets.DTFB_PROD_USER }}
remote_key: ${{ secrets.DTFB_PROD_KEY }}
+23
View File
@@ -0,0 +1,23 @@
name: Deploy dev branch to stage.dtfb.de
on:
push:
branches: ['dev']
paths: ['src/structure/**']
workflow_dispatch:
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: rsync deployments
uses: burnett01/rsync-deployments@7.0.1
with:
switches: -avzr
path: src/structure/
remote_path: ${{ secrets.DTFB_STAGE_PATH }}
remote_host: ${{ secrets.DTFB_STAGE_HOST }}
remote_port: ${{ secrets.DTFB_STAGE_PORT }}
remote_user: ${{ secrets.DTFB_STAGE_USER }}
remote_key: ${{ secrets.DTFB_STAGE_KEY }}
+23
View File
@@ -0,0 +1,23 @@
name: Deploy production branch to kickern-hamburg.de
on:
push:
branches: ['production']
paths: ['src/structure/**']
workflow_dispatch:
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: rsync deployments
uses: burnett01/rsync-deployments@7.0.1
with:
switches: -avzr
path: src/structure/
remote_path: ${{ secrets.KICKERN_PROD_PATH }}
remote_host: ${{ secrets.KICKERN_PROD_HOST }}
remote_port: ${{ secrets.KICKERN_PROD_PORT }}
remote_user: ${{ secrets.KICKERN_PROD_USER }}
remote_key: ${{ secrets.KICKERN_PROD_KEY }}
+23
View File
@@ -0,0 +1,23 @@
name: Deploy dev branch to stage.kickern-hamburg.de
on:
push:
branches: ['dev']
paths: ['src/structure/**']
workflow_dispatch:
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: rsync deployments
uses: burnett01/rsync-deployments@7.0.1
with:
switches: -avzr
path: src/structure/
remote_path: ${{ secrets.KICKERN_STAGE_PATH }}
remote_host: ${{ secrets.KICKERN_STAGE_HOST }}
remote_port: ${{ secrets.KICKERN_STAGE_PORT }}
remote_user: ${{ secrets.KICKERN_STAGE_USER }}
remote_key: ${{ secrets.KICKERN_STAGE_KEY }}
+4 -13
View File
@@ -3,20 +3,11 @@
## Deploy status
### DEV environment
[![buddy pipeline](https://buddy.kicktemp.com/kicktemp/com-sportsmanager/pipelines/pipeline/173/badge.svg?token=8baa7fbc7039a8f3bb2b0cf06a1365e3ad1e9b20e48db86168c0bbf82611173d "buddy pipeline")](https://buddy.kicktemp.com/kicktemp/com-sportsmanager/pipelines/pipeline/173) [Preview: sportsmanager.s10.kicktemp.dev](https://sportsmanager.s10.kicktemp.dev)
[![buddy pipeline](https://buddy.kicktemp.com/kicktemp/com-sportsmanager/pipelines/pipeline/173/badge.svg?token=de39e4e4c47351d592b59a5d1e26a41cf5196861f67d4499bbab990600468001 "buddy pipeline")](https://buddy.kicktemp.com/kicktemp/com-sportsmanager/pipelines/pipeline/173) [Preview: sportsmanager.s10.kicktemp.dev](https://sportsmanager.s10.kicktemp.dev)
[![buddy pipeline](https://buddy.kicktemp.com/kicktemp/com-sportsmanager/pipelines/pipeline/204/badge.svg?token=8baa7fbc7039a8f3bb2b0cf06a1365e3ad1e9b20e48db86168c0bbf82611173d "buddy pipeline")](https://buddy.kicktemp.com/kicktemp/com-sportsmanager/pipelines/pipeline/204) [Preview: stage.kickern-hamburg.de](https://stage.kickern-hamburg.de)
[![buddy pipeline](https://buddy.kicktemp.com/kicktemp/com-sportsmanager/pipelines/pipeline/204/badge.svg?token=de39e4e4c47351d592b59a5d1e26a41cf5196861f67d4499bbab990600468001 "buddy pipeline")](https://buddy.kicktemp.com/kicktemp/com-sportsmanager/pipelines/pipeline/204) [Preview: stage.kickern-hamburg.de](https://stage.kickern-hamburg.de)
### PROD environment
[![buddy pipeline](https://buddy.kicktemp.com/kicktemp/com-sportsmanager/pipelines/pipeline/145/badge.svg?token=8baa7fbc7039a8f3bb2b0cf06a1365e3ad1e9b20e48db86168c0bbf82611173d "buddy pipeline")](https://buddy.kicktemp.com/kicktemp/com-sportsmanager/pipelines/pipeline/145) [Preview: dtfb.de](https://dtfb.de)
[![buddy pipeline](https://buddy.kicktemp.com/kicktemp/com-sportsmanager/pipelines/pipeline/174/badge.svg?token=8baa7fbc7039a8f3bb2b0cf06a1365e3ad1e9b20e48db86168c0bbf82611173d "buddy pipeline")](https://buddy.kicktemp.com/kicktemp/com-sportsmanager/pipelines/pipeline/174) [Preview: kickern-hamburg.de](https://kickern-hamburg.de)
## local dev environment
- install docker
- docker-compose up
- in data/joomla_data/ die kickstarter datei von akeeba ablegen und das backup von der dtfb seite
- https://www.akeeba.com/download/akeeba-kickstart/7-1-2/kickstart-core-7-1-2-zip.raw
- das auspacke
- localhost/kickstart.php aufrufen
[![buddy pipeline](https://buddy.kicktemp.com/kicktemp/com-sportsmanager/pipelines/pipeline/218/badge.svg?token=de39e4e4c47351d592b59a5d1e26a41cf5196861f67d4499bbab990600468001 "buddy pipeline")](https://buddy.kicktemp.com/kicktemp/com-sportsmanager/pipelines/pipeline/218) [Preview: dtfb.de](https://dtfb.de)
[![buddy pipeline](https://buddy.kicktemp.com/kicktemp/com-sportsmanager/pipelines/pipeline/219/badge.svg?token=de39e4e4c47351d592b59a5d1e26a41cf5196861f67d4499bbab990600468001 "buddy pipeline")](https://buddy.kicktemp.com/kicktemp/com-sportsmanager/pipelines/pipeline/219) [Preview: kickern-hamburg.de](https://kickern-hamburg.de)
+1
View File
@@ -0,0 +1 @@
ALTER TABLE `#__sportsmanager_rangliste` ADD COLUMN `lizenzen` varchar(50) NULL DEFAULT '';
@@ -83,7 +83,7 @@ function adminUebersicht() {
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"
. "\n FROM #__sportsmanager_turnier"
. "\n LEFT JOIN ((SELECT turnier_id, turnierdisziplin_id, status, IF(COALESCE(kuerzel, '') <> '', kuerzel, disziplin) AS disziplintitel, IF(EXISTS(SELECT * FROM #__sportsmanager_turniermeldung WHERE #__sportsmanager_turniermeldung.turnierdisziplin_id = #__sportsmanager_turnierdisziplin.turnierdisziplin_id), 1, 0) AS meldung_vorhanden FROM #__sportsmanager_turnierdisziplin) AS turnierdisziplin) USING (turnier_id)"
. "\n LEFT JOIN (SELECT turnier_id, turnierdisziplin_id, status, IF(COALESCE(kuerzel, '') <> '', kuerzel, disziplin) AS disziplintitel, IF(EXISTS(SELECT * FROM #__sportsmanager_turniermeldung WHERE #__sportsmanager_turniermeldung.turnierdisziplin_id = #__sportsmanager_turnierdisziplin.turnierdisziplin_id), 1, 0) AS meldung_vorhanden FROM #__sportsmanager_turnierdisziplin) AS turnierdisziplin USING (turnier_id)"
. "\n LEFT JOIN #__sportsmanager_veranstalter USING (veranstalter_id)"
. "\n WHERE " . turnierFilter("#__sportsmanager_turnier.turnier_id IN")
. ($filter_saison_id != 0 ? " AND saison_id = $filter_saison_id" : "")
@@ -93,7 +93,7 @@ function adminUebersicht() {
else {
$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"
. "\n FROM #__sportsmanager_turnier"
. "\n LEFT JOIN ((SELECT turnier_id, turnierdisziplin_id, status, IF(COALESCE(kuerzel, '') <> '', kuerzel, disziplin) AS disziplintitel, IF(EXISTS(SELECT * FROM #__sportsmanager_turniermeldung WHERE #__sportsmanager_turniermeldung.turnierdisziplin_id = #__sportsmanager_turnierdisziplin.turnierdisziplin_id), 1, 0) AS meldung_vorhanden FROM #__sportsmanager_turnierdisziplin) AS turnierdisziplin) USING (turnier_id)"
. "\n LEFT JOIN (SELECT turnier_id, turnierdisziplin_id, status, IF(COALESCE(kuerzel, '') <> '', kuerzel, disziplin) AS disziplintitel, IF(EXISTS(SELECT * FROM #__sportsmanager_turniermeldung WHERE #__sportsmanager_turniermeldung.turnierdisziplin_id = #__sportsmanager_turnierdisziplin.turnierdisziplin_id), 1, 0) AS meldung_vorhanden FROM #__sportsmanager_turnierdisziplin) AS turnierdisziplin USING (turnier_id)"
. "\n LEFT JOIN #__sportsmanager_veranstalter USING (veranstalter_id)"
. ($filter_saison_id != 0 ? "\n WHERE saison_id = $filter_saison_id" : "")
. "\n GROUP BY turnier_id"
@@ -3226,8 +3226,8 @@ function adminImportSpieler() {
if ($spieler_id != null) { // Spieler aktualisieren
$query = "UPDATE #__sportsmanager_spieler"
. "\n SET vorname = '" . $db->escape($vorname) . "',"
. "\n nachname = '" . $db->escape($nachname) . "',"
. "\n spielernr = '" . $db->escape($spielernr) . "'";
. "\n nachname = '" . $db->escape($nachname) . "'";
//. "\n spielernr = '" . $db->escape($spielernr) . "'";
if (isset($spalten["lizenznr"]) && ($lizenznr_beibehalten == 0 || !empty($lizenznr)))
$query .= ",\n lizenznr = '" . $db->escape($lizenznr) . "'";
if (isset($spalten["pseudonym"]))
@@ -6034,6 +6034,11 @@ function adminEditRangliste() {
$rows = $db->loadObjectList();
if (count($rows) < 1) die ("Wrong id");
$rangliste = $rows[0];
if(isset($rangliste->lizenzen))
{
$rangliste->lizenzen = explode(',', $rangliste->lizenzen);
}
}
$query = "SELECT * FROM #__sportsmanager_rangliste_system WHERE status > 0 " . ($id != 0 ? "OR rangliste_system_id = $rangliste->system_id " : "") . "ORDER BY systembezeichnung";
@@ -6094,11 +6099,12 @@ function adminSaveRangliste() {
$maxalter = $jinput->get('maxalter', 0, 'INT');
$ohnealter = $jinput->get('ohnealter', 0, 'INT');
$geschlecht = $jinput->get('geschlecht', 0, 'INT');
$lizenzen = $jinput->get('lizenzen', [], 'ARRAY');
$status = $jinput->get('status', 0, 'INT');
$reihenfolge = $jinput->get('reihenfolge', 0, 'INT');
$kategorie = $jinput->get('kategorie', 0, 'INT');
if ($id == 0)
$query = "INSERT INTO #__sportsmanager_rangliste (bezeichnung, saison_id, erster_tag, " . ($letzter_tag != null ? "letzter_tag, " : "") . "system_id, streichergebnisse, geschlecht, minalter, maxalter, ohnealter, status, reihenfolge, kategorie) VALUES ('$bezeichnung', '$saison_id', '$erster_tag', " . ($letzter_tag != null ? "'$letzter_tag', " : "") . "'$system_id', '$maximal_gewertet_zahl', " . ($geschlecht == null ? "null" : "'$geschlecht'") . ", " . ($minalter == null ? "null" : "'$minalter'") . ", " . ($maxalter == null ? "null" : "'$maxalter'") . ", '$ohnealter', '$status', '$reihenfolge', '$kategorie');";
$query = "INSERT INTO #__sportsmanager_rangliste (bezeichnung, saison_id, erster_tag, " . ($letzter_tag != null ? "letzter_tag, " : "") . "system_id, streichergebnisse, geschlecht, lizenzen, minalter, maxalter, ohnealter, status, reihenfolge, kategorie) VALUES ('$bezeichnung', '$saison_id', '$erster_tag', " . ($letzter_tag != null ? "'$letzter_tag', " : "") . "'$system_id', '$maximal_gewertet_zahl', " . ($geschlecht == null ? "null" : "'$geschlecht'") . ", " . (count((array) $lizenzen) ? implode(',', $lizenzen) : "null") . ", " . ($minalter == null ? "null" : "'$minalter'") . ", " . ($maxalter == null ? "null" : "'$maxalter'") . ", '$ohnealter', '$status', '$reihenfolge', '$kategorie');";
else {
$query = "UPDATE #__sportsmanager_rangliste"
. "\n SET bezeichnung = '$bezeichnung',"
@@ -6108,6 +6114,7 @@ function adminSaveRangliste() {
. "\n system_id = '$system_id',"
. "\n streichergebnisse = '$maximal_gewertet_zahl',"
. "\n geschlecht = " . ($geschlecht != null ? "'$geschlecht'," : "NULL,")
. "\n lizenzen = " . (count((array) $lizenzen) ? "'" . implode(',', $lizenzen) . "',": "NULL,")
. "\n minalter = " . ($minalter != null ? "'$minalter'," : "NULL,")
. "\n maxalter = " . ($maxalter != null ? "'$maxalter'," : "NULL,")
. "\n ohnealter = '$ohnealter',"
@@ -6218,8 +6225,8 @@ function adminKopierenRangliste() {
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 (!$result = $db->execute()) {
die($db->stderr(true));
@@ -2191,12 +2191,6 @@ function veranstaltungenTickerTimestamp($aktuelle_saison_anzeigen = false) {
}
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) {
$cache = JFactory::getCache();
$result = $cache->call('begegnungenAnzeigenUncached', $veranstaltung, $verein_id, $spielort_id, $zeitfenster, $ausgetragene_filtern, $auszutragende_filtern, $zwischenergebnisse_filtern, $titel, $umgekehrte_reihenfolge, $aus_uebersicht, $praesentation, $year, $month );
return $result;
}
function begegnungenAnzeigenUncached($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();
$user_id = isExternalDatabase() ? 0 : (isJson() ? getUserID() : JFactory::getUser()->id);
@@ -2365,9 +2359,9 @@ function turniere() {
}
HTML_sportsmanager::turniereHeader($params->get('titel'), $params->get('beschreibung'), $saisons, $filter_saison_id);
$query = "SELECT *, GROUP_CONCAT(disziplintitel ORDER BY disziplintitel SEPARATOR ', ') AS disziplinen"
$query = "SELECT #__sportsmanager_turnier.*, GROUP_CONCAT(disziplintitel ORDER BY disziplintitel SEPARATOR ', ') AS disziplinen"
. "\n FROM #__sportsmanager_turnier"
. "\n INNER JOIN ((SELECT turnier_id, turnierdisziplin_id, status, IF(COALESCE(kuerzel, '') <> '', kuerzel, disziplin) AS disziplintitel FROM #__sportsmanager_turnierdisziplin) AS turnierdisziplin) USING (turnier_id)"
. "\n INNER JOIN (SELECT turnier_id, turnierdisziplin_id, status, IF(COALESCE(kuerzel, '') <> '', kuerzel, disziplin) AS disziplintitel FROM #__sportsmanager_turnierdisziplin) AS turnierdisziplin USING (turnier_id)"
. "\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";
@@ -3435,12 +3429,6 @@ function mannschaften($ansicht_vereinigt) {
function mannschaftDetails($ansicht_vereinigt, $unabhaengige_ansicht = false) {
$cache = JFactory::getCache();
$result = $cache->call('mannschaftDetailsUncached', $ansicht_vereinigt, $unabhaengige_ansicht);
return $result;
}
function mannschaftDetailsUncached($ansicht_vereinigt, $unabhaengige_ansicht = false) {
$db = & getDatabase();
$jinput = JFactory::getApplication()->input;
@@ -5524,6 +5512,7 @@ function teamSpielplanXML() {
foreach ($ranglisten as $rangliste_index => $rangliste) {
$rangliste_id = $rangliste->rangliste_id;
$rangliste->lizenzen = explode(',', $rangliste->lizenzen);
$query = "SELECT *"
. "\n FROM #__sportsmanager_rangliste_turnierdisziplin"
. "\n INNER JOIN #__sportsmanager_turnierdisziplin USING (turnierdisziplin_id)"
@@ -5576,7 +5565,7 @@ function teamSpielplanXML() {
$system = $systeme[$systemid];
$systempunkte = $systemepunkte[$systemid];
$query = "SELECT turniermeldung_id, platz, spieler_id, geburtsjahr, geschlecht"
$query = "SELECT turniermeldung_id, platz, spieler_id, geburtsjahr, geschlecht, lizenz"
. "\n FROM #__sportsmanager_turniermeldung"
. "\n INNER JOIN #__sportsmanager_turniermeldung_spieler USING (turniermeldung_id)"
. "\n LEFT JOIN #__sportsmanager_spieler USING (spieler_id)"
@@ -5626,6 +5615,10 @@ function teamSpielplanXML() {
if ($rangliste->geschlecht == 2 && $turnierplatzierung->geschlecht == 'M')
continue;
}
if (!empty($rangliste->lizenzen) && count($rangliste->lizenzen)) {
if (!in_array($turnierplatzierung->lizenz, $rangliste->lizenzen))
continue; // TODO @TimWedemann prüfen
}
$meldung_einzelner_doppelspieler_gewertet = FALSE;
if (!isset($meldungen[$turnierplatzierung->turniermeldung_id])) {
@@ -5650,6 +5643,7 @@ function teamSpielplanXML() {
if ($rangliste->geschlecht == 2 && $naechste_turnierplatzierung->geschlecht == 'M')
$meldung_einzelner_doppelspieler_gewertet = TRUE;
}
// TODO @TimWedemann muss hier was beachtet werden bzgl. Lizenzen?
}
} else
$meldung_einzelner_doppelspieler_gewertet = TRUE;
@@ -368,7 +368,7 @@ function turniere($turniere) {
if (!empty($turniere)) {
?>
<div class="uk-overflow-auto"><table class="uk-table uk-table-divider uk-table-shrink uk-table-hover uk-table-middle contentpaneopen<?php echo $params->get('pageclass_sfx'); ?>">
<div class="uk-overflow-auto"><table class="uk-table uk-table-divider uk-table-hover uk-table-middle contentpaneopen<?php echo $params->get('pageclass_sfx'); ?>">
<tr class="sectiontableheader<?php echo $params->get('pageclass_sfx'); ?>">
<th nowrap><strong><?php echo JText::_('COM_SPORTSMANAGER_DATE'); ?></strong></th>
<th nowrap><strong><?php echo JText::_('COM_SPORTSMANAGER_TOURNAMENT'); ?></strong></th>
@@ -5319,6 +5319,21 @@ class HTML_sportsmanager_admin
</select>
</td>
</tr>
<tr>
<td nowrap width="20%" align="right">
<?php echo JText::_('COM_SPORTSMANAGER_LIZENZ') ?>:
</td>
<td nowrap>
<?php
$lizenzen = ['A', 'B', 'C', 'D'];
foreach ($lizenzen as $lizenz)
{
$checked = (in_array($lizenz, $rangliste->lizenzen)) ? ' checked': '';
echo '<label><input class="uk-checkbox" name="lizenzen[]" id="lizenzen[]" value="' . $lizenz. '" type="checkbox"' . $checked. '> ' . $lizenz. '</label><br>';
}
?>
</td>
</tr>
<tr>
<td nowrap width="20%" align="right">
<?php echo JText::_('COM_SPORTSMANAGER_MINIMUM_AGE'); ?>:
@@ -10858,14 +10873,26 @@ class HTML_sportsmanager_admin
<select class="uk-select uk-form-width-medium"
name="rangliste_wertung_<?php echo $i; ?>" size="1">
<?php
for ($j = 10; $j >= 0.75; $j -= 0.25)
echo "<option value=\"" . $j . "\"" . ($rangliste_wertung != 0 ? ($rangliste_wertung == $j ? " selected" : "") : ($j == 1 ? " selected" : "")) . ">" . htmlentities_utf8($j . "-fach") . "</option>";
for ($j = -0.75; $j >= -10; $j -= 0.25)
{
if ($i == -1)
continue;
echo "<option value=\"" . $j . "\"" . ($rangliste_wertung != 0 ? ($rangliste_wertung == $j ? " selected" : "") : "") . ">" . htmlentities_utf8("1/" . abs($j) . "-fach") . "</option>";
$wertungen = [];
for ($j = 10; $j >= 0.75; $j -= 0.25) {
$wertungen[] = $j;
}
for ($j = -0.75; $j >= -10; $j -= 0.25) {
$wertungen[] = $j;
}
$wertungen[] = 0.7;
$wertungen[] = 1.3;
$wertungen[] = 1.7;
$wertungen[] = -0.7;
$wertungen[] = -1.3;
$wertungen[] = -1.7;
asort($wertungen);
foreach ($wertungen as $wertung) {
echo "<option value=\"" . $wertung . "\"" . ($rangliste_wertung != 0 ? ($rangliste_wertung == $wertung ? " selected" : "") : ($wertung == 1 ? " selected" : "")) . ">" . htmlentities_utf8($wertung . "-fach") . "</option>";
}
?>
</select>
<?php echo JText::_('COM_SPORTSMANAGER_IF_PARTNERS_NOT_COUNTED'); ?>:
@@ -10874,8 +10901,20 @@ class HTML_sportsmanager_admin
<option value="1"><?php echo JText::_('COM_SPORTSMANAGER_FULL_RATING'); ?></option>
<option value="0"<?php if (!empty($row) && $i < $n && $rangliste_doppel_teilwertung == 0) echo " selected"; ?>><?php echo JText::_('COM_SPORTSMANAGER_NO_RATING'); ?></option>
<?php
for ($j = -1.25; $j >= -10; $j -= 0.25)
echo "<option value=\"" . $j . "\" " . (!empty($row) && $i < $n && $rangliste_doppel_teilwertung == $j ? "selected" : "") . ">" . htmlentities_utf8("1/" . abs($j) . "-fach") . "</option>";
$wertungen = [];
for ($j = -1.25; $j >= -10; $j -= 0.25) {
$wertungen[] = $j;
}
$wertungen[] = 0.7;
$wertungen[] = 1.3;
$wertungen[] = 1.7;
asort($wertungen);
foreach ($wertungen as $wertung) {
echo "<option value=\"" . $wertung . "\" " . (!empty($row) && $i < $n && $rangliste_doppel_teilwertung == $wertung ? "selected" : "") . ">" . htmlentities_utf8("1/" . abs($wertung) . "-fach") . "</option>";
}
?>
</select>
</td>
@@ -1,4 +1,4 @@
; Sports Manager (C) 2006-2020, Sven Nickel
; Sports Manager (C) 2006-2020, Sven Nickel (Test)
COM_SPORTSMANAGER="Sports Manager"
COM_SPORTSMANAGER_PLAYERS="Spieler"
COM_SPORTSMANAGER_CLUBS="Vereine"