mirror of
https://github.com/Deutscher-Tischfussballbund/com_sportsmanager.git
synced 2026-06-10 06:27:52 +00:00
Compare commits
169 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| c3dff8bcbd | |||
| 77f8b82a25 | |||
| 2a307b0987 | |||
| e8e6f7046d | |||
| 20ab5a44a9 | |||
| a5357e4a51 | |||
| 68e16a3adb | |||
| cfc821f8ff | |||
| 582829331c | |||
| d8ccd08843 | |||
| 57e92da771 | |||
| 7f85888a26 | |||
| 13ad52f221 | |||
| a44564a40e | |||
| ee4e817ad4 | |||
| 8a7ff6c234 | |||
| 8fb4ed1cdd | |||
| a2243d9ccf | |||
| 308fbae4e5 | |||
| d6d2a04ceb | |||
| d7d6751b70 | |||
| b112b4dc31 | |||
| ac416c1822 | |||
| c92774b27d | |||
| b33a7e6a25 | |||
| f86815dae5 | |||
| 43a03bbb09 | |||
| f430c7d35d | |||
| 73c352f6cf | |||
| c8c19ef8e0 | |||
| cb0db3833c | |||
| 29e7ea7ffa | |||
| 426a582844 | |||
| c1763536c9 | |||
| 507861fd56 | |||
| 168ad7dab4 | |||
| c8483b077e | |||
| c23ed24962 | |||
| f70048f90f | |||
| 572ccee6fd | |||
| fa03965b17 | |||
| 0376b46470 | |||
| c8f419e00a | |||
| 116e4929b2 | |||
| aed4d19c47 | |||
| 2faa38e2b8 | |||
| dc0fcea945 | |||
| e139ac4fc2 | |||
| 5919994a3e | |||
| eccecedf95 | |||
| 9ed58f2916 | |||
| 1a9188c07b | |||
| 9435515088 | |||
| 4ada3a3b77 | |||
| 8391bf9df1 | |||
| bac4c0ada4 | |||
| ba50b0d6a4 | |||
| e4c4694dcb | |||
| e5de0030f2 | |||
| 8d364e0bfd | |||
| eed02e396d | |||
| 40be14ad75 | |||
| 54965f9ef2 | |||
| 8780229435 | |||
| a856a979aa | |||
| 578fb76ead | |||
| b199b73d6f | |||
| 0d61e9a823 | |||
| 299b0bef4e | |||
| 57c158a770 | |||
| 84d07aecb1 | |||
| 5bd0735708 | |||
| 69e2032916 | |||
| e5aede7cac | |||
| 7f8f842796 | |||
| 112511aa12 | |||
| eacb0dc165 | |||
| 67f5f38d1a | |||
| f65ec6be88 | |||
| 427bd545af | |||
| 986cd6d99e | |||
| 66baeb0f77 | |||
| 46474c6c40 | |||
| a583131162 | |||
| cb8b6ebe06 | |||
| d41376494f | |||
| d462137424 | |||
| 3cb3fa2b28 | |||
| 10807c7ea8 | |||
| e469e70b97 | |||
| 522369bb14 | |||
| 91caf76a71 | |||
| 12037f9bac | |||
| b1af98df54 | |||
| fe885160d9 | |||
| 308bbd4d76 | |||
| 89bbba9c1c | |||
| aa07d51cd3 | |||
| 5ca5015eb4 | |||
| a0ef2bda54 | |||
| 3300a66c19 | |||
| cd60c9f42a | |||
| 692fd0a676 | |||
| b8e21aa8ee | |||
| 1d66905488 | |||
| 991d0501df | |||
| c5ffbed4da | |||
| 33c94ae907 | |||
| 8890ca35d2 | |||
| 50d332cd45 | |||
| 90cf2cc4ca | |||
| ea0515e827 | |||
| a868d56450 | |||
| eaaa75d584 | |||
| 1479fc7e20 | |||
| 70563bc8e4 | |||
| 218436c065 | |||
| c21d20e532 | |||
| 8b22eb886d | |||
| ae05c42209 | |||
| 3bc1324b4b | |||
| 23ceb2e272 | |||
| 5b26295ebf | |||
| 9d3cd6b959 | |||
| 6b7c5e7a3b | |||
| ab6f776b96 | |||
| 8fed3c217f | |||
| 633ec1f1cb | |||
| 41e229340d | |||
| 379427d4c4 | |||
| a2808b7db0 | |||
| c3cec6c93c | |||
| 9913279519 | |||
| 0c78ed8b63 | |||
| 4a448cb61d | |||
| 825ff04a89 | |||
| 8b7ca05fc1 | |||
| 76f0ef5f55 | |||
| f76f1185f5 | |||
| 7253426b51 | |||
| 4686f5d8db | |||
| db80f584cd | |||
| 275693ecb3 | |||
| fb3c088835 | |||
| ddca0066bf | |||
| bc56e30682 | |||
| 2fe9acb01c | |||
| de3705ca65 | |||
| 947a150b06 | |||
| c8199abee1 | |||
| 6c1a6aa0de | |||
| 626b9c503a | |||
| 964ab1ca8b | |||
| 783cffaf2b | |||
| 12cb9a0e67 | |||
| 49c8037dbf | |||
| e7dbfa6402 | |||
| b21e11be59 | |||
| f119316561 | |||
| 06070a1d47 | |||
| 5bf3fa3501 | |||
| a2cdc68578 | |||
| b34aa63872 | |||
| ddb7e3a1bd | |||
| e3fb99000c | |||
| 9cd84108e4 | |||
| 3b721e3c82 | |||
| fec866fa5d | |||
| d17280edb1 |
@@ -98,24 +98,3 @@ jobs:
|
||||
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 }}
|
||||
|
||||
Generated
+3537
-1913
File diff suppressed because it is too large
Load Diff
@@ -122,7 +122,6 @@
|
||||
"browser-sync": "^2.26.12",
|
||||
"core-js": "^3.6.5",
|
||||
"cross-env": "^7.0.2",
|
||||
"fs": "0.0.1-security",
|
||||
"gulp": "^4.0.2",
|
||||
"gulp-changed": "^4.0.2",
|
||||
"gulp-clean": "^0.4.0",
|
||||
|
||||
@@ -21,12 +21,15 @@ COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_TEAMS_JOINT="Mannschaften in gem
|
||||
COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_CLUBS="Vereine"
|
||||
COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_VENUES="Spielorte"
|
||||
COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_APPOINTMENTS="Termine"
|
||||
COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_MATCH_RESCHEDULING="Spielverlegungen"
|
||||
COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_ASSOCIATION_BODIES="Verbandsorgane"
|
||||
COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_HALL_OF_FAME="Hall Of Fame"
|
||||
COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_TITLE="Titel"
|
||||
COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_TITLE_DESC="Titel, der im Fenster oben angezeigt wird"
|
||||
COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_DESCRIPTION="Beschreibung"
|
||||
COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_DESCRIPTION_DESC="Beschreibung, die unterhalb des Titels angezeigt wird (WICHTIG: Werden HTML-Tags verwendet, müssen auch Umlaute in HTML-Code angeben werden)"
|
||||
COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_CATEGORIES="Kategorien"
|
||||
COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_CATEGORIES_DESC="Eine optionale Auswahl an durch Kommata getrennte Kategorienummern"
|
||||
COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_CATEGORIES_DESC="Eine optionale Auswahl von Kategorienummern durch Kommata oder Spiegelstrich getrennt"
|
||||
COM_SPORTSMANAGER_LAYOUT_ELO_RANKING_TITLE="Layout: Elo-Rangliste"
|
||||
COM_SPORTSMANAGER_LAYOUT_ELO_RANKING_DESC="Auflistung der Spieler sortiert nach Elo-Wertung"
|
||||
COM_SPORTSMANAGER_LAYOUT_ELO_RANKING_OPTION_ELO_RANKING="Elo-Rangliste"
|
||||
|
||||
@@ -21,12 +21,15 @@ COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_TEAMS_JOINT="Teams in joint list
|
||||
COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_CLUBS="Clubs"
|
||||
COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_VENUES="Venues"
|
||||
COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_APPOINTMENTS="Appointments"
|
||||
COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_MATCH_RESCHEDULING="Match reschedulings"
|
||||
COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_ASSOCIATION_BODIES="Association bodies"
|
||||
COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_HALL_OF_FAME="Hall of fame"
|
||||
COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_TITLE="Title"
|
||||
COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_TITLE_DESC="Title which will be shows on top"
|
||||
COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_DESCRIPTION="Description"
|
||||
COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_DESCRIPTION_DESC="Description that will be shows below the titel (IMPORTANT: if html tags are used, special characters must be maskeraded)"
|
||||
COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_CATEGORIES="Categories"
|
||||
COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_CATEGORIES_DESC="An optional selection of category numbers seperated by commas"
|
||||
COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_CATEGORIES_DESC="An optional selection of category numbers seperated by commas or bullet point"
|
||||
COM_SPORTSMANAGER_LAYOUT_ELO_RANKING_TITLE="Layout: elo ranking"
|
||||
COM_SPORTSMANAGER_LAYOUT_ELO_RANKING_DESC="Listing of players sorted by elo rating"
|
||||
COM_SPORTSMANAGER_LAYOUT_ELO_RANKING_OPTION_ELO_RANKING="Elo ranking"
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -5414,6 +5414,333 @@ function updateDatabase(): void
|
||||
}
|
||||
}
|
||||
|
||||
if ($datenbank_version < 113) {
|
||||
|
||||
// Korrektur Startuhrzeit in sportsmanager_turnierdisziplin bei eintägigen Veranstaltungen
|
||||
$query = "UPDATE #__sportsmanager_turnierdisziplin td"
|
||||
. "\n JOIN #__sportsmanager_turnier t ON td.turnier_id = t.turnier_id"
|
||||
. "\n SET td.beginn = CONCAT(t.erster_tag, ' ', TIME(td.beginn))"
|
||||
. "\n WHERE t.erster_tag = t.letzter_tag;";
|
||||
$db->setQuery($query);
|
||||
if (!$db->execute()) {
|
||||
die($db->stderr(true));
|
||||
}
|
||||
|
||||
$query = "UPDATE #__sportsmanager_einstellungen"
|
||||
. "\n SET wert = '113'"
|
||||
. "\n WHERE name = 'datenbank_version'";
|
||||
$db->setQuery($query);
|
||||
if (!$db->execute()) {
|
||||
die($db->stderr(true));
|
||||
}
|
||||
}
|
||||
|
||||
if ($datenbank_version < 114) {
|
||||
|
||||
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_regelwerke` ("
|
||||
. "\n `regelwerke_id` int(11) NOT NULL AUTO_INCREMENT,"
|
||||
. "\n `regelwerk` varchar(32) NOT NULL,"
|
||||
. "\n PRIMARY KEY (`regelwerke_id`),"
|
||||
. "\n UNIQUE KEY `regelwerk` (`regelwerk`)"
|
||||
. "\n ) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;";
|
||||
$db->setQuery( $query );
|
||||
if (!$db->execute()) { die($db->stderr(true)); }
|
||||
|
||||
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_verstoesse` ("
|
||||
. "\n `verstoesse_id` int(11) NOT NULL AUTO_INCREMENT,"
|
||||
. "\n `regelwerke_id` int(11) NOT NULL DEFAULT 0,"
|
||||
. "\n `paragraph_spo` varchar(32) NOT NULL DEFAULT '',"
|
||||
. "\n `paragraph_go` varchar(32) NOT NULL DEFAULT '',"
|
||||
. "\n `verstoss` varchar(64) NOT NULL DEFAULT '',"
|
||||
. "\n `haupttext` text NOT NULL,"
|
||||
. "\n `zusatztext` text NOT NULL,"
|
||||
. "\n `gebuehr` smallint(3) NOT NULL DEFAULT 0,"
|
||||
. "\n `zusatzgebuehr` smallint(2) NOT NULL DEFAULT 0,"
|
||||
. "\n `zur_auswahl` tinyint(1) NOT NULL DEFAULT 1,"
|
||||
. "\n PRIMARY KEY (`verstoesse_id`)"
|
||||
. "\n ) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;";
|
||||
$db->setQuery( $query );
|
||||
if (!$db->execute()) { die($db->stderr(true)); }
|
||||
|
||||
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_ordnungsstrafen` ("
|
||||
. "\n `ordnungsstrafen_id` int(11) NOT NULL AUTO_INCREMENT,"
|
||||
. "\n `verstoesse_id` int(11) NOT NULL DEFAULT 0,"
|
||||
. "\n `begegnung_id` int(11) NOT NULL DEFAULT 0,"
|
||||
. "\n `team_id` int(11) NOT NULL DEFAULT 0,"
|
||||
. "\n `aussteller_id` int(11) NOT NULL DEFAULT 0,"
|
||||
. "\n `ausstelldatum` datetime NOT NULL DEFAULT current_timestamp(),"
|
||||
. "\n `versender_id` int(11) DEFAULT NULL,"
|
||||
. "\n `versendedatum` datetime DEFAULT NULL,"
|
||||
. "\n `rechnungssteller_id` int(11) DEFAULT NULL,"
|
||||
. "\n `rechnungsdatum` datetime DEFAULT NULL,"
|
||||
. "\n `multiplikator` tinyint(1) NOT NULL DEFAULT 1,"
|
||||
. "\n `weitere_angaben` text NOT NULL,"
|
||||
. "\n PRIMARY KEY (`ordnungsstrafen_id`)"
|
||||
. "\n ) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;";
|
||||
$db->setQuery( $query );
|
||||
if (!$db->execute()) { die($db->stderr(true)); }
|
||||
|
||||
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_email_vorlagen` ("
|
||||
. "\n `email_vorlagen_id` int(11) NOT NULL AUTO_INCREMENT,"
|
||||
. "\n `vorlage` varchar(64) NOT NULL,"
|
||||
. "\n `betreff` varchar(256) NOT NULL DEFAULT '',"
|
||||
. "\n `von` varchar(64) NOT NULL DEFAULT '',"
|
||||
. "\n `an` varchar(256) NOT NULL DEFAULT '',"
|
||||
. "\n `cc` varchar(256) NOT NULL DEFAULT '',"
|
||||
. "\n `bcc` varchar(256) NOT NULL DEFAULT '',"
|
||||
. "\n `email_text` text NOT NULL,"
|
||||
. "\n PRIMARY KEY (`email_vorlagen_id`),"
|
||||
. "\n UNIQUE KEY `vorlage` (`vorlage`)"
|
||||
. "\n ) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;";
|
||||
$db->setQuery( $query );
|
||||
if (!$db->execute()) { die($db->stderr(true)); }
|
||||
|
||||
$query = "INSERT IGNORE #__sportsmanager_einstellungen SET name = 'ordnungsstrafen_verwenden', wert = '0';";
|
||||
$db->setQuery( $query );
|
||||
if (!$db->execute()) { die($db->stderr(true)); }
|
||||
|
||||
$query = "INSERT IGNORE INTO `#__sportsmanager_email_vorlagen` (`email_vorlagen_id`, `vorlage`) VALUES (NULL, 'Ordnungsstrafe');";
|
||||
$db->setQuery($query);
|
||||
if (!$db->execute()) { die($db->stderr(true)); }
|
||||
|
||||
$columns = $db->getTableColumns('#__sportsmanager_veranstaltung');
|
||||
if (!array_key_exists('regelwerke_id', $columns)) {
|
||||
$query = "ALTER TABLE `#__sportsmanager_veranstaltung` ADD COLUMN `regelwerke_id` INT(11) NOT NULL DEFAULT '0' AFTER `bezeichnung`;";
|
||||
$db->setQuery($query);
|
||||
if (!$db->execute()) { die($db->stderr(true)); }
|
||||
}
|
||||
$query = "UPDATE #__sportsmanager_einstellungen"
|
||||
. "\n SET wert = '114'"
|
||||
. "\n WHERE name = 'datenbank_version'";
|
||||
$db->setQuery($query);
|
||||
if (!$db->execute()) {
|
||||
die($db->stderr(true));
|
||||
}
|
||||
}
|
||||
|
||||
if ($datenbank_version < 115) {
|
||||
|
||||
// Erweiterung Tabelle #__sportsmanager_verschieberegel
|
||||
$columns = $db->getTableColumns('#__sportsmanager_verschieberegel');
|
||||
if (!array_key_exists('begruendung_erforderlich', $columns)
|
||||
|| !array_key_exists('vereine_berechtigt', $columns)
|
||||
|| !array_key_exists('verband_berechtigt', $columns)) {
|
||||
$query = "ALTER TABLE `#__sportsmanager_verschieberegel`"
|
||||
. "\n ADD COLUMN `begruendung_erforderlich` INT(1) NOT NULL DEFAULT 0 AFTER `ablehnen`,"
|
||||
. "\n ADD COLUMN `vereine_berechtigt` INT(1) NOT NULL DEFAULT 1 AFTER `begruendung_erforderlich`,"
|
||||
. "\n ADD COLUMN `verband_berechtigt` INT(1) NOT NULL DEFAULT 0 AFTER `vereine_berechtigt`;";
|
||||
$db->setQuery($query);
|
||||
if (!$db->execute()) {
|
||||
die($db->stderr(true));
|
||||
}
|
||||
}
|
||||
|
||||
$query = "INSERT IGNORE INTO `#__sportsmanager_email_vorlagen` (`email_vorlagen_id`, `vorlage`) VALUES (NULL, 'Spielverlegung');";
|
||||
$db->setQuery($query);
|
||||
if (!$db->execute()) { die($db->stderr(true)); }
|
||||
|
||||
$query = "UPDATE #__sportsmanager_einstellungen"
|
||||
. "\n SET wert = '115'"
|
||||
. "\n WHERE name = 'datenbank_version'";
|
||||
$db->setQuery($query);
|
||||
if (!$db->execute()) {
|
||||
die($db->stderr(true));
|
||||
}
|
||||
}
|
||||
|
||||
if ($datenbank_version < 116) {
|
||||
|
||||
$columns = $db->getTableColumns('#__sportsmanager_spielort');
|
||||
if (!array_key_exists('telefon', $columns)
|
||||
|| !array_key_exists('email', $columns)
|
||||
|| !array_key_exists('ruhetage', $columns)) {
|
||||
$query = "ALTER TABLE `#__sportsmanager_spielort`"
|
||||
. "\n ADD `telefon` VARCHAR(64) NULL DEFAULT NULL AFTER `url`,"
|
||||
. "\n ADD `email` VARCHAR(64) NULL DEFAULT NULL AFTER `telefon`,"
|
||||
. "\n ADD `ruhetage` VARCHAR(64) NULL DEFAULT NULL AFTER `email`;";
|
||||
$db->setQuery($query);
|
||||
if (!$db->execute()) {
|
||||
die($db->stderr(true));
|
||||
}
|
||||
}
|
||||
|
||||
$columns = $db->getTableColumns('#__sportsmanager_team');
|
||||
if (!array_key_exists('trainingstage', $columns)){
|
||||
$query = "ALTER TABLE `#__sportsmanager_team`"
|
||||
. "\n ADD `trainingstage` VARCHAR(64) NULL DEFAULT NULL AFTER `heimspielort_id`;";
|
||||
$db->setQuery($query);
|
||||
if (!$db->execute()) {
|
||||
die($db->stderr(true));
|
||||
}
|
||||
}
|
||||
|
||||
$query = "UPDATE #__sportsmanager_einstellungen"
|
||||
. "\n SET wert = '116'"
|
||||
. "\n WHERE name = 'datenbank_version'";
|
||||
$db->setQuery($query);
|
||||
if (!$db->execute()) {
|
||||
die($db->stderr(true));
|
||||
}
|
||||
}
|
||||
|
||||
if ($datenbank_version < 117) {
|
||||
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_team_strafen` ("
|
||||
. "\n `team_strafen_id` int(11) NOT NULL AUTO_INCREMENT,"
|
||||
. "\n `zeitpunkt` datetime NOT NULL,"
|
||||
. "\n `moderator_user_id` int(11) DEFAULT NULL,"
|
||||
. "\n `team_id` int(11) NOT NULL DEFAULT '0',"
|
||||
. "\n `strafe` float(6,2) NOT NULL DEFAULT '0',"
|
||||
. "\n `beschreibung` text NOT NULL,"
|
||||
. "\n PRIMARY KEY (`team_strafen_id`)"
|
||||
. "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;";
|
||||
$db->setQuery( $query );
|
||||
if (!$db->execute()) { die($db->stderr(true)); }
|
||||
|
||||
$columns = $db->getTableColumns('#__sportsmanager_veranstaltung');
|
||||
if (!array_key_exists('explizite_strafen', $columns)) {
|
||||
$query = "ALTER TABLE #__sportsmanager_veranstaltung"
|
||||
. "\n ADD explizite_strafen tinyint(4) DEFAULT '0' AFTER elo_wertung";
|
||||
$db->setQuery($query);
|
||||
if (!$db->execute()) {
|
||||
die($db->stderr(true));
|
||||
}
|
||||
}
|
||||
|
||||
$query = "UPDATE #__sportsmanager_einstellungen SET wert = '117' WHERE name = 'datenbank_version'";
|
||||
$db->setQuery($query);
|
||||
if (!$db->execute()) { die($db->stderr(true)); }
|
||||
}
|
||||
|
||||
if ($datenbank_version < 118) {
|
||||
|
||||
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_verbandsorgane` ("
|
||||
. "\n `verbandsorgane_id` int(11) NOT NULL AUTO_INCREMENT,"
|
||||
. "\n `veranstalter_id` int(11) DEFAULT NULL,"
|
||||
. "\n `verbandsorgan` varchar(32) DEFAULT NULL,"
|
||||
. "\n `kategorie` int(4) DEFAULT NULL,"
|
||||
. "\n `reihenfolge` int(4) DEFAULT NULL,"
|
||||
. "\n `email` varchar(64) DEFAULT NULL,"
|
||||
. "\n `beschreibung` text NOT NULL,"
|
||||
. "\n PRIMARY KEY (`verbandsorgane_id`),"
|
||||
. "\n KEY (`veranstalter_id`)"
|
||||
. "\n ) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;";
|
||||
$db->setQuery($query);
|
||||
if (!$db->execute()) {
|
||||
die($db->stderr(true));
|
||||
}
|
||||
|
||||
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_mitglied_von_verbandsorgan` ("
|
||||
. "\n `mitglied_von_verbandsorgan_id` int(11) NOT NULL AUTO_INCREMENT,"
|
||||
. "\n `verbandsorgane_id` int(11) DEFAULT NULL,"
|
||||
. "\n `funktion` varchar(32) DEFAULT NULL,"
|
||||
. "\n `zusatzinfo` varchar(64) DEFAULT NULL,"
|
||||
. "\n `spieler_id` int(11) DEFAULT NULL,"
|
||||
. "\n `nachname` varchar(32) DEFAULT NULL,"
|
||||
. "\n `vorname` varchar(32) DEFAULT NULL,"
|
||||
. "\n `email` varchar(64) DEFAULT NULL,"
|
||||
. "\n `telefon` varchar(32) DEFAULT NULL,"
|
||||
. "\n `mobil` varchar(32) DEFAULT NULL,"
|
||||
. "\n `reihenfolge` int(11) DEFAULT NULL,"
|
||||
. "\n PRIMARY KEY (`mitglied_von_verbandsorgan_id`),"
|
||||
. "\n KEY (`verbandsorgane_id`),"
|
||||
. "\n KEY (`spieler_id`)"
|
||||
. "\n ) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;";
|
||||
$db->setQuery($query);
|
||||
if (!$db->execute()) {
|
||||
die($db->stderr(true));
|
||||
}
|
||||
|
||||
$query = "UPDATE #__sportsmanager_einstellungen"
|
||||
. "\n SET wert = '118'"
|
||||
. "\n WHERE name = 'datenbank_version'";
|
||||
$db->setQuery($query);
|
||||
if (!$db->execute()) {
|
||||
die($db->stderr(true));
|
||||
}
|
||||
}
|
||||
|
||||
if ($datenbank_version < 119) {
|
||||
|
||||
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_halloffame` ("
|
||||
. "\n `halloffame_id` int(11) NOT NULL AUTO_INCREMENT,"
|
||||
. "\n `veranstalter_id` int(11) DEFAULT NULL,"
|
||||
. "\n `halloffame` varchar(64) DEFAULT NULL,"
|
||||
. "\n `kategorie` int(4) DEFAULT NULL,"
|
||||
. "\n `spielform` int(11) DEFAULT NULL,"
|
||||
. "\n `reihenfolge` int(4) DEFAULT NULL,"
|
||||
. "\n PRIMARY KEY (`halloffame_id`),"
|
||||
. "\n KEY `veranstalter_id` (`veranstalter_id`)"
|
||||
. "\n ) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;";
|
||||
$db->setQuery($query);
|
||||
if (!$db->execute()) {
|
||||
die($db->stderr(true));
|
||||
}
|
||||
|
||||
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_mitglied_von_halloffame` ("
|
||||
. "\n `mitglied_halloffame_id` int(11) NOT NULL AUTO_INCREMENT,"
|
||||
. "\n `halloffame_id` int(11) NOT NULL,"
|
||||
. "\n `jahr` int(4) DEFAULT NULL,"
|
||||
. "\n `platz` int(11) DEFAULT NULL,"
|
||||
. "\n `verein_id` int(11) DEFAULT NULL,"
|
||||
. "\n `teamname` varchar(64) DEFAULT NULL,"
|
||||
. "\n `spieler1_id` int(11) DEFAULT NULL,"
|
||||
. "\n `spieler1` varchar(64) DEFAULT NULL,"
|
||||
. "\n `spieler2_id` int(11) DEFAULT NULL,"
|
||||
. "\n `spieler2` varchar(64) DEFAULT NULL,"
|
||||
. "\n PRIMARY KEY (`mitglied_halloffame_id`),"
|
||||
. "\n UNIQUE KEY `halloffame_jahr_platz` (`halloffame_id`,`jahr`,`platz`),"
|
||||
. "\n KEY `halloffame_id` (`halloffame_id`),"
|
||||
. "\n KEY `verein_id` (`verein_id`),"
|
||||
. "\n KEY `spieler1_id` (`spieler1_id`),"
|
||||
. "\n KEY `spieler2_id` (`spieler2_id`)"
|
||||
. "\n ) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;";
|
||||
$db->setQuery($query);
|
||||
if (!$db->execute()) {
|
||||
die($db->stderr(true));
|
||||
}
|
||||
|
||||
$query = "UPDATE #__sportsmanager_einstellungen"
|
||||
. "\n SET wert = '119'"
|
||||
. "\n WHERE name = 'datenbank_version'";
|
||||
$db->setQuery($query);
|
||||
if (!$db->execute()) {
|
||||
die($db->stderr(true));
|
||||
}
|
||||
}
|
||||
|
||||
if ($datenbank_version < 120) {
|
||||
|
||||
$columns = $db->getTableColumns('#__sportsmanager_teamspiel_modus');
|
||||
if (!array_key_exists('spiele_in_spielerstatistik', $columns)){
|
||||
$query = "ALTER TABLE `#__sportsmanager_teamspiel_modus`"
|
||||
. "\n ADD `spiele_in_spielerstatistik` INT(4) NOT NULL DEFAULT '0' AFTER `heimtausch`;";
|
||||
$db->setQuery($query);
|
||||
if (!$db->execute()) {
|
||||
die($db->stderr(true));
|
||||
}
|
||||
}
|
||||
|
||||
$columns = $db->getTableColumns('#__sportsmanager_bestenliste_punkte');
|
||||
if (!array_key_exists('team_id', $columns)){
|
||||
$query = "ALTER TABLE `#__sportsmanager_bestenliste_punkte`"
|
||||
. "\n ADD `team_id` INT(11) NULL DEFAULT NULL AFTER `spieler_2_id`;";
|
||||
$db->setQuery($query);
|
||||
if (!$db->execute()) {
|
||||
die($db->stderr(true));
|
||||
}
|
||||
}
|
||||
|
||||
$spielerstatistik_aktualisieren = true;
|
||||
|
||||
$query = "UPDATE #__sportsmanager_einstellungen"
|
||||
. "\n SET wert = '120'"
|
||||
. "\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";
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -185,17 +185,45 @@ function individualwettbewerbFilter($prefix): string
|
||||
function kategorieFilter($prefix, $suffix = ""): string
|
||||
{
|
||||
global $params;
|
||||
|
||||
$kategorien = explode(",", $params->get('kategorien'));
|
||||
$filter = "";
|
||||
foreach ($kategorien as $s) {
|
||||
$kategorie = intval(trim($s));
|
||||
if ($kategorie == 0)
|
||||
continue;
|
||||
if (!empty($filter))
|
||||
$filter .= ", ";
|
||||
$filter .= $kategorie;
|
||||
$result = [];
|
||||
|
||||
foreach ($kategorien as $item) {
|
||||
$item = trim($item);
|
||||
if ($item === '') continue;
|
||||
|
||||
// Prüfen, ob es ein Bereich ist
|
||||
if (strpos($item, '-') !== false) {
|
||||
$rangeParts = explode('-', $item);
|
||||
|
||||
// genau 2 Teile für einen gültigen Bereich
|
||||
if (count($rangeParts) !== 2) continue;
|
||||
|
||||
$start = intval(trim($rangeParts[0]));
|
||||
$end = intval(trim($rangeParts[1]));
|
||||
|
||||
if ($start <= 0 || $end <= 0 || $start > $end) continue;
|
||||
|
||||
for ($i = $start; $i <= $end; $i++) {
|
||||
$result[$i] = true; // Duplikate vermeiden
|
||||
}
|
||||
return empty($filter) ? "" : (" " . $prefix . " (" . $filter . ") " . $suffix);
|
||||
} else {
|
||||
$num = intval($item);
|
||||
if ($num > 0) {
|
||||
$result[$num] = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (empty($result)) {
|
||||
return "";
|
||||
}
|
||||
|
||||
$filter = array_keys($result);
|
||||
sort($filter, SORT_NUMERIC);
|
||||
|
||||
return " $prefix (" . implode(", ", $filter) . ") $suffix";
|
||||
}
|
||||
|
||||
function turnierFilter($prefix): string
|
||||
|
||||
@@ -0,0 +1,804 @@
|
||||
<?php
|
||||
/**
|
||||
* Joomla/PHP export to importFormat.json structure.
|
||||
*
|
||||
* Assumptions:
|
||||
* - Joomla table prefix is used via #__.
|
||||
* - Source timezone is Europe/Berlin; output is UTC ISO-8601 "Z".
|
||||
* - For turnier:
|
||||
* - rundenstufe = 10 => Vorrunde
|
||||
* - rundenstufe = 1,2,3 => Hauptrunde with groups:
|
||||
* 1 => Profifeld, 2 => Amateurfeld, 3 => Hobbyfeld
|
||||
* - For team-based exports:
|
||||
* - stage/group are synthesized as defaults.
|
||||
*
|
||||
* Place this in a Joomla context (CLI script, controller, or a small admin entry point).
|
||||
*/
|
||||
|
||||
defined('_JEXEC') or die;
|
||||
|
||||
use Joomla\Database\DatabaseDriver;
|
||||
|
||||
final class SMExporter
|
||||
{
|
||||
|
||||
private DatabaseDriver $db;
|
||||
|
||||
private DateTimeZone $sourceTz;
|
||||
private DateTimeZone $outputTz;
|
||||
|
||||
// Optional filter; set to null for all seasons
|
||||
private $exportSeasonId = null;
|
||||
|
||||
// Optional file output; set to null to echo JSON only
|
||||
private string $outputFile = JPATH_ROOT . '/tsm.json';
|
||||
|
||||
private array $playerCache = [];
|
||||
private array $meldungsPlayersCache = [];
|
||||
private array $teamCache = [];
|
||||
|
||||
private array $disciplineShortNames = ['Offenes Doppel' => 'OD',
|
||||
'Offenes Einzel' => 'OE',
|
||||
'Damen Doppel' => 'DD',
|
||||
'Damen Einzel' => 'DE',
|
||||
'Herren Doppel' => 'HD',
|
||||
'Herren Einzel' => 'HE',
|
||||
'Junioren Doppel' => 'JD',
|
||||
'Junioren Einzel' => 'JE',
|
||||
'Senioren Doppel' => 'SD',
|
||||
'Senioren Einzel' => 'SE',];
|
||||
|
||||
public function __construct(DatabaseDriver $db)
|
||||
{
|
||||
$this->db = $db;
|
||||
$this->sourceTz = new DateTimeZone('Europe/Berlin');
|
||||
$this->outputTz = new DateTimeZone('UTC');
|
||||
}
|
||||
|
||||
/**
|
||||
* Format a DB date/datetime into UTC ISO-8601.
|
||||
*/
|
||||
function isoUtc(?string $value, DateTimeZone $sourceTz, DateTimeZone $outputTz): ?string
|
||||
{
|
||||
if (!$value || $value === '0000-00-00' || $value === '0000-00-00 00:00:00') {
|
||||
return null;
|
||||
}
|
||||
|
||||
try {
|
||||
$dt = new DateTimeImmutable($value, $sourceTz);
|
||||
return $dt->setTimezone($outputTz)->format('Y-m-d\TH:i:s\Z');
|
||||
} catch (Throwable $e) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Build shortName from kuerzel or disziplin text.
|
||||
*/
|
||||
function disciplineShortName(?string $kuerzel, ?string $disziplin): string
|
||||
{
|
||||
$kuerzel = trim((string)$kuerzel);
|
||||
if ($kuerzel !== '') {
|
||||
return $kuerzel;
|
||||
}
|
||||
|
||||
$disziplin = (string)$disziplin;
|
||||
foreach ($this->disciplineShortNames as $needle => $short) {
|
||||
if (mb_stripos($disziplin, $needle) !== false) {
|
||||
return $short;
|
||||
}
|
||||
}
|
||||
|
||||
// Last-resort fallback: initials of the words
|
||||
$words = preg_split('/\s+/', trim($disziplin));
|
||||
$initials = '';
|
||||
foreach ($words as $w) {
|
||||
if ($w !== '') {
|
||||
$initials .= mb_substr($w, 0, 1);
|
||||
}
|
||||
}
|
||||
|
||||
return $initials !== '' ? mb_strtoupper($initials) : 'X';
|
||||
}
|
||||
|
||||
/**
|
||||
* Build a person object from spieler_id or from turniermeldung_spieler_name.
|
||||
*/
|
||||
function getPersonForSpieler(
|
||||
Joomla\Database\DatabaseInterface $db,
|
||||
?int $spielerId,
|
||||
?int $turniermeldungSpielerId,
|
||||
array &$playerCache
|
||||
): array
|
||||
{
|
||||
if ($spielerId && isset($playerCache[$spielerId])) {
|
||||
return $playerCache[$spielerId];
|
||||
}
|
||||
|
||||
if ($spielerId) {
|
||||
$query = $db->getQuery(true)
|
||||
->select(['spieler_id', 'vorname', 'nachname', 'spielernr'])
|
||||
->from($db->quoteName('#__sportsmanager_spieler'))
|
||||
->where($db->quoteName('spieler_id') . ' = ' . (int)$spielerId);
|
||||
|
||||
$db->setQuery($query);
|
||||
$row = $db->loadObject();
|
||||
|
||||
$person = [
|
||||
'name' => $row ? trim(($row->vorname ?? '') . ' ' . ($row->nachname ?? '')) : ('Spieler ' . $spielerId),
|
||||
'playerNr' => $row && !empty($row->spielernr) ? (string)$row->spielernr : null,
|
||||
];
|
||||
|
||||
$playerCache[$spielerId] = $person;
|
||||
return $person;
|
||||
}
|
||||
|
||||
if ($turniermeldungSpielerId) {
|
||||
$query = $db->getQuery(true)
|
||||
->select(['vorname', 'nachname', 'vereinsname'])
|
||||
->from($db->quoteName('#__sportsmanager_turniermeldung_spieler_name'))
|
||||
->where($db->quoteName('turniermeldung_spieler_id') . ' = ' . (int)$turniermeldungSpielerId)
|
||||
->order('turniermeldung_spieler_name_id ASC');
|
||||
|
||||
$db->setQuery($query);
|
||||
$row = $db->loadObject();
|
||||
|
||||
if ($row) {
|
||||
return [
|
||||
'name' => trim(($row->vorname ?? '') . ' ' . ($row->nachname ?? '')),
|
||||
'playerNr' => null,
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
return [
|
||||
'name' => 'Unknown',
|
||||
'playerNr' => null,
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* Get all players assigned to a turniermeldung.
|
||||
*/
|
||||
function getMeldungPlayers(
|
||||
Joomla\Database\DatabaseInterface $db,
|
||||
int $turniermeldungId,
|
||||
array &$meldungsPlayersCache,
|
||||
array &$playerCache
|
||||
): array
|
||||
{
|
||||
if (isset($meldungsPlayersCache[$turniermeldungId])) {
|
||||
return $meldungsPlayersCache[$turniermeldungId];
|
||||
}
|
||||
|
||||
$query = $db->getQuery(true)
|
||||
->select(['tms.turniermeldung_spieler_id', 'tms.spieler_id'])
|
||||
->from($db->quoteName('#__sportsmanager_turniermeldung_spieler', 'tms'))
|
||||
->where('tms.turniermeldung_id = ' . $turniermeldungId)
|
||||
->order('tms.turniermeldung_spieler_id ASC');
|
||||
|
||||
$db->setQuery($query);
|
||||
$rows = $db->loadObjectList();
|
||||
|
||||
$players = [];
|
||||
foreach ($rows as $row) {
|
||||
$players[] = $this->getPersonForSpieler($db, $row->spieler_id ? (int)$row->spieler_id : null, (int)$row->turniermeldung_spieler_id, $playerCache);
|
||||
}
|
||||
|
||||
$meldungsPlayersCache[$turniermeldungId] = $players;
|
||||
return $players;
|
||||
}
|
||||
|
||||
/**
|
||||
* Build display name for a side.
|
||||
*/
|
||||
function buildSideName(array $players): string
|
||||
{
|
||||
if (count($players) === 0) {
|
||||
return 'Unknown';
|
||||
}
|
||||
|
||||
if (count($players) === 1) {
|
||||
return $players[0]['name'];
|
||||
}
|
||||
|
||||
$names = [];
|
||||
foreach ($players as $p) {
|
||||
$names[] = $p['name'];
|
||||
}
|
||||
|
||||
return implode(' / ', $names);
|
||||
}
|
||||
|
||||
/**
|
||||
* Parse set scores from a result string.
|
||||
* Supports patterns like "11:7;11:9", "11-7 11-9", etc.
|
||||
*/
|
||||
function parseSets(array $detail): array
|
||||
{
|
||||
$sets = [];
|
||||
$n = 1;
|
||||
foreach ($detail as $set) {
|
||||
$set = trim((string)$set);
|
||||
if ($set === '') {
|
||||
continue;
|
||||
}
|
||||
|
||||
preg_match_all('/(\d{1,2})\s*[:\-]\s*(\d{1,2})/', $set, $m, PREG_SET_ORDER);
|
||||
foreach ($m as $match) {
|
||||
$sets[] = [
|
||||
'number' => $n++,
|
||||
'scoreHome' => (int)$match[1],
|
||||
'scoreAway' => (int)$match[2],
|
||||
];
|
||||
}
|
||||
}
|
||||
return $sets;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine match state.
|
||||
*/
|
||||
function determineMatchState($result, array $detail): string
|
||||
{
|
||||
if ($result !== null || ( !empty($detail) && !array_filter($detail, fn($v) => $v === null || trim((string)$v) === ''))) {
|
||||
return 'PLAYED';
|
||||
}
|
||||
return 'SCHEDULED';
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine match state.
|
||||
*/
|
||||
function determineWinner(array $detail, string $sourceType): string
|
||||
{
|
||||
if ($sourceType === 'TEAM') {
|
||||
$sets = $this->parseSets($detail);
|
||||
$homeSetsWon = 0;
|
||||
$awaySetsWon = 0;
|
||||
foreach ($sets as $set) {
|
||||
if ($set['scoreHome'] > $set['scoreAway']) {
|
||||
$homeSetsWon++;
|
||||
} elseif ($set['scoreHome'] < $set['scoreAway']) {
|
||||
$awaySetsWon++;
|
||||
}
|
||||
}
|
||||
if ($homeSetsWon > $awaySetsWon) {
|
||||
return 'HOME';
|
||||
} elseif ($homeSetsWon < $awaySetsWon) {
|
||||
return 'AWAY';
|
||||
}
|
||||
return 'DRAW';
|
||||
} else {
|
||||
if (count($detail) >0) {
|
||||
if ($detail[0] == 1) {
|
||||
return 'HOME';
|
||||
} elseif ($detail[0] == 2) {
|
||||
return 'AWAY';
|
||||
} else {
|
||||
return 'DRAW';
|
||||
}
|
||||
}
|
||||
return 'UNKNOWN';
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine group state based on a cutoff date.
|
||||
*/
|
||||
function determineFinishedState(?string $cutoffDate): string
|
||||
{
|
||||
if (!$cutoffDate || $cutoffDate === '0000-00-00') {
|
||||
return 'PLANNED';
|
||||
}
|
||||
|
||||
$today = new DateTimeImmutable('today');
|
||||
$cutoff = new DateTimeImmutable($cutoffDate);
|
||||
|
||||
return ($cutoff < $today) ? 'FINISHED' : 'RUNNING';
|
||||
}
|
||||
|
||||
/**
|
||||
* Build one match object.
|
||||
*/
|
||||
function buildMatch(
|
||||
array $homePlayers,
|
||||
array $awayPlayers,
|
||||
?string $startDate,
|
||||
?string $endDate,
|
||||
?int $result,
|
||||
array $detail,
|
||||
string $sourceType
|
||||
): array
|
||||
{
|
||||
$type = (count($homePlayers) > 1 || count($awayPlayers) > 1) ? 'DOUBLE' : 'SINGLE';
|
||||
$match = [
|
||||
'startDate' => $startDate,
|
||||
'endDate' => $endDate,
|
||||
'type' => $type,
|
||||
'state' => $this->determineMatchState($result, $detail),
|
||||
'players' => [],
|
||||
'sets' => $sourceType === 'TEAM' ? $this->parseSets($detail) : [],
|
||||
'winner' => $this->determineWinner($detail, $sourceType),
|
||||
];
|
||||
|
||||
foreach ($homePlayers as $p) {
|
||||
$match['players'][] = [
|
||||
'name' => $p['name'],
|
||||
'playerNr' => $p['playerNr'],
|
||||
'side' => 'HOME',
|
||||
];
|
||||
}
|
||||
foreach ($awayPlayers as $p) {
|
||||
$match['players'][] = [
|
||||
'name' => $p['name'],
|
||||
'playerNr' => $p['playerNr'],
|
||||
'side' => 'AWAY',
|
||||
];
|
||||
}
|
||||
|
||||
// If detail parsing produced no sets, keep the structure valid by leaving it empty.
|
||||
if ($sourceType === 'TEAM' && empty($match['sets']) && $result !== null) {
|
||||
$match['sets'] = [];
|
||||
}
|
||||
|
||||
return $match;
|
||||
}
|
||||
|
||||
/**
|
||||
* group matches. Based on String (e.g. E1E1, D1D1, D1D1, E2E2, D2D2 etc.)
|
||||
*/
|
||||
function groupMatches(array $pattern, array $games): array {
|
||||
$grouped = [];
|
||||
$order = []; // to preserve first appearance order
|
||||
|
||||
foreach ($pattern as $i => $slot) {
|
||||
if (!array_key_exists($i, $games)) {
|
||||
continue;
|
||||
}
|
||||
if (!isset($grouped[$slot])) {
|
||||
$grouped[$slot] = [
|
||||
'type' => $slot,
|
||||
'sets' => []
|
||||
];
|
||||
$order[] = $slot; // remember order of first occurrence
|
||||
}
|
||||
|
||||
$grouped[$slot]['sets'][] = $games[$i];
|
||||
}
|
||||
|
||||
// rebuild ordered result
|
||||
$result = [];
|
||||
foreach ($order as $slot) {
|
||||
$result[] = $grouped[$slot];
|
||||
}
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
function run(): void
|
||||
{
|
||||
set_time_limit(0);
|
||||
$db = $this->db;
|
||||
$export = [
|
||||
'meta' => [
|
||||
// Keep the organization value explicit, or replace it from settings if available.
|
||||
'organisation' => 'TFVSH',
|
||||
],
|
||||
'seasons' => [],
|
||||
];
|
||||
|
||||
// Seasons
|
||||
$seasonSql = $db->getQuery(true)
|
||||
->select(['saison_id', 'saisonbezeichnung'])
|
||||
->from($db->quoteName('#__sportsmanager_saison'))
|
||||
->order('saisonbezeichnung ASC, saison_id ASC');
|
||||
|
||||
if ($this->exportSeasonId !== null) {
|
||||
$seasonSql->where('saison_id = ' . (int)$this->exportSeasonId);
|
||||
}
|
||||
|
||||
$db->setQuery($seasonSql);
|
||||
$seasons = $db->loadObjectList();
|
||||
|
||||
foreach ($seasons as $season) {
|
||||
$seasonNode = [
|
||||
'name' => (string)$season->saisonbezeichnung,
|
||||
'events' => [],
|
||||
];
|
||||
|
||||
/**
|
||||
* Event type 1: turniere
|
||||
*/
|
||||
$turnierSql = $db->getQuery(true)
|
||||
->select([
|
||||
't.turnier_id',
|
||||
't.turnierbezeichnung',
|
||||
't.erster_tag',
|
||||
't.letzter_tag',
|
||||
])
|
||||
->from($db->quoteName('#__sportsmanager_turnier', 't'))
|
||||
->where('t.saison_id = ' . (int)$season->saison_id)
|
||||
->order('t.erster_tag ASC, t.turnier_id ASC');
|
||||
|
||||
$db->setQuery($turnierSql);
|
||||
$turniere = $db->loadObjectList();
|
||||
|
||||
foreach ($turniere as $turnier) {
|
||||
$eventNode = [
|
||||
'name' => (string)$turnier->turnierbezeichnung,
|
||||
'disciplines' => [],
|
||||
];
|
||||
|
||||
$discSql = $db->getQuery(true)
|
||||
->select([
|
||||
'd.turnierdisziplin_id',
|
||||
'd.disziplin',
|
||||
'd.kuerzel',
|
||||
'd.beginn',
|
||||
])
|
||||
->from($db->quoteName('#__sportsmanager_turnierdisziplin', 'd'))
|
||||
->where('d.turnier_id = ' . (int)$turnier->turnier_id)
|
||||
->order('d.reihenfolge ASC, d.turnierdisziplin_id ASC');
|
||||
|
||||
$db->setQuery($discSql);
|
||||
$disciplines = $db->loadObjectList();
|
||||
|
||||
foreach ($disciplines as $disc) {
|
||||
$disciplineNode = [
|
||||
'name' => (string)$disc->disziplin,
|
||||
'shortName' => $this->disciplineShortName($disc->kuerzel, $disc->disziplin),
|
||||
'stages' => [],
|
||||
];
|
||||
|
||||
$spielSql = $db->getQuery(true)
|
||||
->select([
|
||||
'ts.turnierspiel_id',
|
||||
'ts.turnierdisziplin_id',
|
||||
'ts.spiel_nummer',
|
||||
'ts.runde',
|
||||
'ts.rundenstufe',
|
||||
'ts.heim_meldung_id',
|
||||
'ts.gast_meldung_id',
|
||||
'ts.ergebnis',
|
||||
'ts.ergebnis_detailliert',
|
||||
'hm.meldungsgruppe_id AS heim_meldungsgruppe_id',
|
||||
'gm.meldungsgruppe_id AS gast_meldungsgruppe_id',
|
||||
])
|
||||
->from($db->quoteName('#__sportsmanager_turnierspiel', 'ts'))
|
||||
->leftJoin($db->quoteName('#__sportsmanager_turniermeldung', 'hm') . ' ON hm.turniermeldung_id = ts.heim_meldung_id')
|
||||
->leftJoin($db->quoteName('#__sportsmanager_turniermeldung', 'gm') . ' ON gm.turniermeldung_id = ts.gast_meldung_id')
|
||||
->where('ts.turnierdisziplin_id = ' . (int)$disc->turnierdisziplin_id)
|
||||
->order('COALESCE(ts.rundenstufe, 99) ASC, COALESCE(ts.runde, 99) ASC, COALESCE(ts.spiel_nummer, 99) ASC, ts.turnierspiel_id ASC');
|
||||
|
||||
$db->setQuery($spielSql);
|
||||
$spiele = $db->loadObjectList();
|
||||
|
||||
$stages = [];
|
||||
foreach ($spiele as $spiel) {
|
||||
$rundenstufe = (int)($spiel->rundenstufe ?? 0);
|
||||
|
||||
if ($rundenstufe === 10) {
|
||||
$stageName = 'Vorrunde';
|
||||
$groupName = 'Vorrunde';
|
||||
} elseif (in_array($rundenstufe, [1, 2, 3], true)) {
|
||||
$stageName = 'Hauptrunde';
|
||||
$groupName = match ($rundenstufe) {
|
||||
1 => 'Profifeld',
|
||||
2 => 'Amateurfeld',
|
||||
3 => 'Hobbyfeld',
|
||||
};
|
||||
} else {
|
||||
$stageName = 'Stage A';
|
||||
$groupName = 'Group A';
|
||||
}
|
||||
|
||||
$groupKey = $stageName . '|' . $groupName;
|
||||
|
||||
if (!isset($stages[$stageName])) {
|
||||
$stages[$stageName] = [];
|
||||
}
|
||||
if (!isset($stages[$stageName][$groupKey])) {
|
||||
$stages[$stageName][$groupKey] = [
|
||||
'name' => $groupName,
|
||||
'rounds' => [],
|
||||
'_dates' => [],
|
||||
];
|
||||
}
|
||||
|
||||
$homePlayers = $this->getMeldungPlayers($db, (int)$spiel->heim_meldung_id, $this->meldungsPlayersCache, $this->playerCache);
|
||||
$awayPlayers = $this->getMeldungPlayers($db, (int)$spiel->gast_meldung_id, $this->meldungsPlayersCache, $this->playerCache);
|
||||
|
||||
$homeName = $this->buildSideName($homePlayers);
|
||||
$awayName = $this->buildSideName($awayPlayers);
|
||||
|
||||
$startDate = $this->isoUtc((string)$disc->beginn, $this->sourceTz, $this->outputTz) ?: $this->isoUtc($turnier->erster_tag . ' 00:00:00', $this->sourceTz, $this->outputTz);
|
||||
$endDate = $this->isoUtc((string)$disc->beginn, $this->sourceTz, $this->outputTz) ?: $this->isoUtc($turnier->letzter_tag . ' 23:59:59', $this->sourceTz, $this->outputTz);
|
||||
|
||||
$match = $this->buildMatch(
|
||||
$homePlayers,
|
||||
$awayPlayers,
|
||||
$startDate,
|
||||
$endDate,
|
||||
$spiel->ergebnis !== null ? (int)$spiel->ergebnis : null,
|
||||
[$spiel->ergebnis ?? null],
|
||||
'TURNIER'
|
||||
);
|
||||
|
||||
$roundIndex = $spiel->runde ?? 1;
|
||||
$roundKey = (string)$roundIndex;
|
||||
|
||||
if (!isset($stages[$stageName][$groupKey]['rounds'][$roundKey])) {
|
||||
$stages[$stageName][$groupKey]['rounds'][$roundKey] = [
|
||||
'index' => $roundIndex,
|
||||
'name' => 'Round ' . $roundIndex,
|
||||
'matchdays' => [],
|
||||
];
|
||||
}
|
||||
|
||||
$matchdayName = 'Day ' . (int)($spiel->spiel_nummer ?: $spiel->turnierspiel_id);
|
||||
$stages[$stageName][$groupKey]['rounds'][$roundKey]['matchdays'][] = [
|
||||
'name' => $matchdayName,
|
||||
'startDate' => $startDate,
|
||||
'endDate' => $endDate,
|
||||
'teamHome' => ['name' => $homeName],
|
||||
'teamAway' => ['name' => $awayName],
|
||||
'matches' => [$match],
|
||||
];
|
||||
|
||||
$stages[$stageName][$groupKey]['_dates'][] = $turnier->letzter_tag ?: $turnier->erster_tag;
|
||||
}
|
||||
|
||||
foreach ($stages as $stageName => $groupBucket) {
|
||||
$stageNode = [
|
||||
'name' => $stageName,
|
||||
'groups' => [],
|
||||
];
|
||||
|
||||
foreach ($groupBucket as $groupKey => $groupData) {
|
||||
$cutoffDate = null;
|
||||
if (!empty($groupData['_dates'])) {
|
||||
$cutoffDate = max($groupData['_dates']);
|
||||
}
|
||||
|
||||
$groupNode = [
|
||||
'name' => $groupData['name'],
|
||||
'tournamentMode' => 'unknown',
|
||||
'state' => $this->determineFinishedState($cutoffDate),
|
||||
'rounds' => [],
|
||||
];
|
||||
|
||||
ksort($groupData['rounds'], SORT_NATURAL);
|
||||
foreach ($groupData['rounds'] as $round) {
|
||||
$groupNode['rounds'][] = $round;
|
||||
}
|
||||
|
||||
$stageNode['groups'][] = $groupNode;
|
||||
}
|
||||
|
||||
$disciplineNode['stages'][] = $stageNode;
|
||||
}
|
||||
|
||||
$eventNode['disciplines'][] = $disciplineNode;
|
||||
}
|
||||
|
||||
$seasonNode['events'][] = $eventNode;
|
||||
}
|
||||
|
||||
/**
|
||||
* Event type 2: team-based events from veranstaltung via team/begegnung/teamspiel
|
||||
*/
|
||||
$veranstaltungSql = $db->getQuery(true)
|
||||
->select([
|
||||
'v.veranstaltung_id',
|
||||
'v.bezeichnung',
|
||||
'v.erster_tag',
|
||||
'v.letzter_tag',
|
||||
'tsm.modus AS modus'
|
||||
])
|
||||
->from($db->quoteName('#__sportsmanager_veranstaltung', 'v'))
|
||||
->innerJoin($db->quoteName('#__sportsmanager_team', 'tm') . ' ON tm.veranstaltung_id = v.veranstaltung_id')
|
||||
->leftJoin($db->quoteName('#__sportsmanager_teamspiel_modus', 'tsm') . ' ON tsm.teamspiel_modus_id = v.modus_id')
|
||||
->where('v.saison_id = ' . (int)$season->saison_id)
|
||||
->group('v.veranstaltung_id, v.bezeichnung, v.erster_tag, v.letzter_tag')
|
||||
->order('v.erster_tag, v.veranstaltung_id');
|
||||
|
||||
$db->setQuery($veranstaltungSql);
|
||||
$veranstaltungen = $db->loadObjectList();
|
||||
|
||||
foreach ($veranstaltungen as $veranstaltung) {
|
||||
|
||||
$modus = array_map('trim', explode(',', $veranstaltung->modus));
|
||||
|
||||
$eventNode = [
|
||||
'name' => (string)$veranstaltung->bezeichnung,
|
||||
'disciplines' => [
|
||||
[
|
||||
'name' => 'Teamspiel',
|
||||
'shortName' => 'TS',
|
||||
'stages' => [
|
||||
[
|
||||
'name' => 'Stage A',
|
||||
'groups' => [],
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
];
|
||||
|
||||
$groupNode = [
|
||||
'name' => 'Group A',
|
||||
'tournamentMode' => 'unknown',
|
||||
'state' => 'PLANNED',
|
||||
'rounds' => [],
|
||||
];
|
||||
|
||||
$begegnungSql = $db->getQuery(true)
|
||||
->select([
|
||||
'b.begegnung_id',
|
||||
'b.heim_team_id',
|
||||
'b.gast_team_id',
|
||||
'b.zeitpunkt',
|
||||
'b.spieltag',
|
||||
'b.spieltag_titel',
|
||||
'b.spiel_nr',
|
||||
])
|
||||
->from($db->quoteName('#__sportsmanager_begegnung', 'b'))
|
||||
->innerJoin($db->quoteName('#__sportsmanager_team', 'th') . ' ON th.team_id = b.heim_team_id')
|
||||
->innerJoin($db->quoteName('#__sportsmanager_team', 'tg') . ' ON tg.team_id = b.gast_team_id')
|
||||
->where('th.veranstaltung_id = ' . (int)$veranstaltung->veranstaltung_id)
|
||||
->order('COALESCE(b.spieltag, 9999) ASC, b.zeitpunkt ASC, b.begegnung_id ASC');
|
||||
|
||||
$db->setQuery($begegnungSql);
|
||||
$begegnungen = $db->loadObjectList();
|
||||
|
||||
$groupDates = [];
|
||||
$roundsByKey = [];
|
||||
|
||||
foreach ($begegnungen as $begegnung) {
|
||||
$homeTeamId = (int)$begegnung->heim_team_id;
|
||||
$awayTeamId = (int)$begegnung->gast_team_id;
|
||||
|
||||
if (!isset($this->teamCache[$homeTeamId])) {
|
||||
$db->setQuery(
|
||||
$db->getQuery(true)
|
||||
->select(['team_id', 'teamname'])
|
||||
->from($db->quoteName('#__sportsmanager_team'))
|
||||
->where('team_id = ' . $homeTeamId)
|
||||
);
|
||||
$this->teamCache[$homeTeamId] = $db->loadObject();
|
||||
}
|
||||
if (!isset($this->teamCache[$awayTeamId])) {
|
||||
$db->setQuery(
|
||||
$db->getQuery(true)
|
||||
->select(['team_id', 'teamname'])
|
||||
->from($db->quoteName('#__sportsmanager_team'))
|
||||
->where('team_id = ' . $awayTeamId)
|
||||
);
|
||||
$this->teamCache[$awayTeamId] = $db->loadObject();
|
||||
}
|
||||
|
||||
$homeTeam = $this->teamCache[$homeTeamId];
|
||||
$awayTeam = $this->teamCache[$awayTeamId];
|
||||
|
||||
$roundIndex = $begegnung->spieltag ?? 1;
|
||||
$roundKey = (string)$roundIndex;
|
||||
if (!isset($roundsByKey[$roundKey])) {
|
||||
$roundsByKey[$roundKey] = [
|
||||
'index' => $roundIndex,
|
||||
'name' => 'Round ' . $roundIndex,
|
||||
'matchdays' => [],
|
||||
];
|
||||
}
|
||||
|
||||
$teamspielSql = $db->getQuery(true)
|
||||
->select([
|
||||
'ts.teamspiel_id',
|
||||
'ts.teamspiel_nummer',
|
||||
'ts.heim_spieler_1_id',
|
||||
'ts.heim_spieler_2_id',
|
||||
'ts.gast_spieler_1_id',
|
||||
'ts.gast_spieler_2_id',
|
||||
'ts.teamspiel_heim_punkte',
|
||||
'ts.teamspiel_gast_punkte',
|
||||
'ts.teamspiel_heim_spielpunkte',
|
||||
'ts.teamspiel_gast_spielpunkte',
|
||||
'ts.ergebnis_detailliert',
|
||||
])
|
||||
->from($db->quoteName('#__sportsmanager_teamspiel', 'ts'))
|
||||
->where('ts.begegnung_id = ' . (int)$begegnung->begegnung_id)
|
||||
->order('ts.teamspiel_nummer ASC, ts.teamspiel_id ASC');
|
||||
|
||||
$db->setQuery($teamspielSql);
|
||||
$teamspiele = $db->loadObjectList();
|
||||
|
||||
$matchdayMatches = [];
|
||||
$teamspiele = $this->groupMatches($modus, $teamspiele);
|
||||
foreach ($teamspiele as $group) {
|
||||
if (empty($group['sets'])) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$ts = $group['sets'][0];
|
||||
// use modus here
|
||||
$homePlayers = [];
|
||||
$awayPlayers = [];
|
||||
|
||||
$homePlayers[] = $this->getPersonForSpieler($db, (int)$ts->heim_spieler_1_id, null, $this->playerCache);
|
||||
if (!empty($ts->heim_spieler_2_id)) {
|
||||
$homePlayers[] = $this->getPersonForSpieler($db, (int)$ts->heim_spieler_2_id, null, $this->playerCache);
|
||||
}
|
||||
|
||||
$awayPlayers[] = $this->getPersonForSpieler($db, (int)$ts->gast_spieler_1_id, null, $this->playerCache);
|
||||
if (!empty($ts->gast_spieler_2_id)) {
|
||||
$awayPlayers[] = $this->getPersonForSpieler($db, (int)$ts->gast_spieler_2_id, null, $this->playerCache);
|
||||
}
|
||||
|
||||
$startDate = $this->isoUtc($begegnung->zeitpunkt, $this->sourceTz, $this->outputTz);
|
||||
$endDate = $this->isoUtc($begegnung->zeitpunkt, $this->sourceTz, $this->outputTz);
|
||||
|
||||
$detail = [];
|
||||
foreach ($group['sets'] as $set) {
|
||||
$detail[] = $set->ergebnis_detailliert ?? null;
|
||||
}
|
||||
|
||||
$matchdayMatches[] = $this->buildMatch(
|
||||
$homePlayers,
|
||||
$awayPlayers,
|
||||
$startDate,
|
||||
$endDate,
|
||||
($ts->teamspiel_heim_punkte !== null || $ts->teamspiel_gast_punkte !== null) ? 1 : null,
|
||||
$detail,
|
||||
'TEAM'
|
||||
);
|
||||
}
|
||||
|
||||
$matchdayName = trim((string)$begegnung->spieltag_titel) !== ''
|
||||
? (string)$begegnung->spieltag_titel
|
||||
: ('Spieltag ' . $roundIndex);
|
||||
|
||||
$roundsByKey[$roundKey]['matchdays'][] = [
|
||||
'name' => $matchdayName,
|
||||
'startDate' => $this->isoUtc($begegnung->zeitpunkt, $this->sourceTz, $this->outputTz),
|
||||
'endDate' => $this->isoUtc($begegnung->zeitpunkt, $this->sourceTz, $this->outputTz),
|
||||
'teamHome' => ['name' => $homeTeam->teamname ?? ('Team ' . $homeTeamId)],
|
||||
'teamAway' => ['name' => $awayTeam->teamname ?? ('Team ' . $awayTeamId)],
|
||||
'matches' => $matchdayMatches,
|
||||
];
|
||||
|
||||
$groupDates[] = substr((string)$begegnung->zeitpunkt, 0, 10);
|
||||
}
|
||||
|
||||
if (!empty($groupDates)) {
|
||||
$groupNode['state'] = $this->determineFinishedState(max($groupDates));
|
||||
}
|
||||
|
||||
ksort($roundsByKey, SORT_NATURAL);
|
||||
foreach ($roundsByKey as $round) {
|
||||
$groupNode['rounds'][] = $round;
|
||||
}
|
||||
|
||||
$eventNode['disciplines'][0]['stages'][0]['groups'][] = $groupNode;
|
||||
$seasonNode['events'][] = $eventNode;
|
||||
}
|
||||
|
||||
$export['seasons'][] = $seasonNode;
|
||||
}
|
||||
|
||||
$json = json_encode($export, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT);
|
||||
|
||||
if ($json === false) {
|
||||
throw new RuntimeException('JSON encoding failed: ' . json_last_error_msg());
|
||||
}
|
||||
|
||||
if ($this->outputFile) {
|
||||
file_put_contents($this->outputFile, $json . PHP_EOL);
|
||||
}
|
||||
|
||||
if (PHP_SAPI !== 'cli') {
|
||||
header('Content-Type: application/json; charset=utf-8');
|
||||
}
|
||||
|
||||
echo 'Successfully created export file: ' . $this->outputFile;
|
||||
}
|
||||
}
|
||||
@@ -24,6 +24,9 @@
|
||||
<option value="vereine"><![CDATA[COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_CLUBS]]></option>
|
||||
<option value="spielorte"><![CDATA[COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_VENUES]]></option>
|
||||
<option value="termine"><![CDATA[COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_APPOINTMENTS]]></option>
|
||||
<option value="spielverlegungen"><![CDATA[COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_MATCH_RESCHEDULING]]></option>
|
||||
<option value="verbandsorgane"><![CDATA[COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_ASSOCIATION_BODIES]]></option>
|
||||
<option value="hall_of_fame"><![CDATA[COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_HALL_OF_FAME]]></option>
|
||||
</field>
|
||||
<field name="titel"
|
||||
type="text"
|
||||
|
||||
@@ -1697,7 +1697,6 @@ if (count($spiele) > 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) {
|
||||
?>
|
||||
@@ -1709,7 +1708,7 @@ static function tabelleAnzeigen($veranstaltung, $modus, $teams, $spieltag, $spie
|
||||
<select
|
||||
aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_MATCHDAY_SELECT'); ?>"
|
||||
class="uk-select uk-form-width-medium" name="spieltag" size="1"
|
||||
onChange="document.adminForm.submit();">
|
||||
onChange="this.form.submit();">
|
||||
<?php
|
||||
foreach ($spieltage as $s) {
|
||||
echo "<option value=\"" . $s->spieltag . "\"" . ($s->spieltag == $spieltag ? " selected" : "") . ">" . htmlentities_utf8(Rundenbezeichnung($s->spieltag, $veranstaltung->unterteilung == 0)) . "</option>";
|
||||
@@ -1845,6 +1844,7 @@ static function tabelleAnzeigen($veranstaltung, $modus, $teams, $spieltag, $spie
|
||||
$punkte_quotient = 0;
|
||||
$buchholz1_wert = 0;
|
||||
$buchholz2_wert = 0;
|
||||
$gesamtpunkte_verloren = 0;
|
||||
$k = 0;
|
||||
foreach ($teams as $team) {
|
||||
?>
|
||||
@@ -1875,6 +1875,12 @@ static function tabelleAnzeigen($veranstaltung, $modus, $teams, $spieltag, $spie
|
||||
$buchholz1_wert = $team->buchholz1;
|
||||
$buchholz2_wert = $team->buchholz2;
|
||||
}
|
||||
if (in_array($veranstaltung->tabellenwertung, [7,8,9])){
|
||||
$gesamtpunkte_verloren = $team->niederlagen;
|
||||
}
|
||||
if (in_array($veranstaltung->tabellenwertung, [1,2,3])){
|
||||
$gesamtpunkte_verloren = $team->niederlagen * 2 + $team->unentschieden;
|
||||
}
|
||||
?>
|
||||
<td>
|
||||
<?php
|
||||
@@ -1969,8 +1975,15 @@ static function tabelleAnzeigen($veranstaltung, $modus, $teams, $spieltag, $spie
|
||||
}
|
||||
if ($veranstaltung->tabellenwertung <= 9 || $veranstaltung->tabellenwertung >= 21) {
|
||||
?>
|
||||
<td nowrap style="text-align: center"><?php echo $gesamtpunkte; ?></td>
|
||||
<td nowrap style="text-align: center">
|
||||
<?php
|
||||
if (in_array($veranstaltung->tabellenwertung, [7,8,9,1,2,3]))
|
||||
echo $gesamtpunkte . ":" . $gesamtpunkte_verloren;
|
||||
else
|
||||
echo $gesamtpunkte;
|
||||
?>
|
||||
</td>
|
||||
<?PHP
|
||||
}
|
||||
?>
|
||||
</tr>
|
||||
@@ -2648,6 +2661,8 @@ global $params;
|
||||
echo htmlentities_utf8($team->name);
|
||||
$anschrift = $team->strasse . (!empty($team->strasse) && (!empty($team->plz) || !empty($team->ortsname) || !empty($team->ortsteil)) ? ", " : "") . $team->plz . (!empty($team->plz) ? " " : "") . $team->ortsname . (!empty($team->ortsname) && !empty($team->ortsteil) ? "-" : "") . $team->ortsteil;
|
||||
echo "<br />" . htmlentities_utf8($anschrift);
|
||||
if (!empty($team->telefon))
|
||||
echo "<br />" . htmlentities_utf8($team->telefon);
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -3929,6 +3944,409 @@ static function spielort($spielort, $begegnung_zeitpunkt, $aktuelle_teams, $vorh
|
||||
}
|
||||
}
|
||||
|
||||
static function spielverlegungen($titel, $beschreibung, $rows): void
|
||||
{
|
||||
global $params;
|
||||
if (!empty($titel)) { ?>
|
||||
<style>td{padding: 3px;}</style>
|
||||
<div
|
||||
class="componentheading<?php echo $params->get('pageclass_sfx'); ?>"><?php echo htmlentities_utf8($titel); ?></div><?php }
|
||||
if (!empty($beschreibung)) {
|
||||
?>
|
||||
<div class="uk-overflow-auto">
|
||||
<table class="contentpaneopen<?php echo $params->get('pageclass_sfx'); ?>">
|
||||
<tr>
|
||||
<td><?php echo str_contains($beschreibung, ">") ? $beschreibung : htmlentities_utf8($beschreibung); ?></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
<div class="uk-overflow-auto">
|
||||
<table style='border-collapse: collapse;'
|
||||
class="uk-table-hover uk-table-divider uk-table-middle dtfl-table-medium contentpaneopen<?php echo $params->get('pageclass_sfx'); ?>">
|
||||
<tr class="sectiontableheader<?php echo $params->get('pageclass_sfx'); ?>">
|
||||
<th nowrap style='text-align: center; width: 200px;'><STRONG><?php echo Text::_('COM_SPORTSMANAGER_COMPETITION'); ?></STRONG></th>
|
||||
<th nowrap style='text-align: center; width: 300px;'><STRONG><?php echo Text::_('COM_SPORTSMANAGER_MATCH'); ?></STRONG></th>
|
||||
<th nowrap style='text-align: center; width: 160px;'><STRONG><?php echo Text::_('COM_SPORTSMANAGER_OLD_DATE'); ?></STRONG></th>
|
||||
<th nowrap style='text-align: center; width: 160px;'><STRONG><?php echo Text::_('COM_SPORTSMANAGER_NEW_DATE'); ?></STRONG></th>
|
||||
<th nowrap style='text-align: left; width: 300px;'><STRONG><?php echo Text::_('COM_SPORTSMANAGER_COMMENT'); ?></STRONG></th>
|
||||
</tr>
|
||||
<?php
|
||||
if (count($rows) > 0) {
|
||||
$k = 0;
|
||||
foreach ($rows as $row) {
|
||||
?>
|
||||
<tr class="sectiontableentry<?php echo $k + 1;
|
||||
$k = ($k + 1) % 2; ?><?php echo $params->get('pageclass_sfx'); ?>">
|
||||
<td nowrap style='text-align: center;'>
|
||||
<?php echo htmlentities_utf8($row->Liga); ?>
|
||||
</td>
|
||||
<td nowrap style='text-align: center;'>
|
||||
<?php
|
||||
if ($row->Heim == $row->beantragt_von)
|
||||
echo "<u>" . htmlentities_utf8($row->Heim) . "</u>";
|
||||
else
|
||||
echo htmlentities_utf8($row->Heim);
|
||||
echo "<br>";
|
||||
if ($row->Gast == $row->beantragt_von)
|
||||
echo "<u>" . htmlentities_utf8($row->Gast) . "</u>";
|
||||
else
|
||||
echo htmlentities_utf8($row->Gast);
|
||||
?>
|
||||
</td>
|
||||
<td nowrap style='text-align: center;'>
|
||||
<?php echo str_replace(" ", "<br>", date('d.m.Y H:i', strtotime($row->Termin_alt))); ?>
|
||||
</td>
|
||||
<td nowrap style='text-align: center;'>
|
||||
<?php echo $row->Termin_neu == "" ? "" : str_replace(" ", "<br>", date('d.m.Y H:i', strtotime($row->Termin_neu))); ?>
|
||||
</td>
|
||||
<td nowrap style='text-align: left;'>
|
||||
<?php echo htmlentities_utf8($row->Begruendung_beantragt); ?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
}
|
||||
?>
|
||||
</table></div>
|
||||
<span class="article_seperator<?php echo $params->get('pageclass_sfx'); ?>"> </span>
|
||||
<?php
|
||||
}
|
||||
|
||||
static function verbandsorgane($titel, $beschreibung, $rows, $organisation_zeigen): void
|
||||
{
|
||||
global $params;
|
||||
if (!empty($titel)) { ?>
|
||||
<style>td{padding: 3px;}</style>
|
||||
<div
|
||||
class="componentheading<?php echo $params->get('pageclass_sfx'); ?>"><?php echo htmlentities_utf8($titel); ?></div><?php }
|
||||
if (!empty($beschreibung)) {
|
||||
?>
|
||||
<div class="uk-overflow-auto">
|
||||
<table class="contentpaneopen<?php echo $params->get('pageclass_sfx'); ?>">
|
||||
<tr>
|
||||
<td><?php echo str_contains($beschreibung, ">") ? $beschreibung : htmlentities_utf8($beschreibung); ?></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<?php
|
||||
}
|
||||
|
||||
if (count($rows) > 0) {
|
||||
?>
|
||||
<div class="uk-overflow-auto">
|
||||
<table style='border-collapse: collapse;'
|
||||
class="uk-table-hover uk-table-divider uk-table-middle dtfl-table-medium contentpaneopen<?php echo $params->get('pageclass_sfx'); ?>">
|
||||
<tr class="sectiontableheader<?php echo $params->get('pageclass_sfx'); ?>">
|
||||
<th style='text-align: left; width: 250px;' nowrap><strong><?php echo Text::_('COM_SPORTSMANAGER_ASSOCIATION_BODIES'); ?></strong></th>
|
||||
<th style='text-align: left; width: 100px;' nowrap><strong><?php echo Text::_('COM_SPORTSMANAGER_MEMBERS'); ?></strong></th>
|
||||
<th style='text-align: left; width: 250px;' nowrap><strong><?php echo Text::_('COM_SPORTSMANAGER_EMAIL'); ?></strong></th>
|
||||
<?PHP if ($organisation_zeigen){ ?>
|
||||
<th style='text-align: left; width: 150px;' nowrap><strong><?php echo Text::_('COM_SPORTSMANAGER_ORGANISATION'); ?></strong></th>
|
||||
<?PHP } ?>
|
||||
</tr>
|
||||
<?php
|
||||
|
||||
$k = 0;
|
||||
foreach ($rows as $row) {
|
||||
?>
|
||||
<tr class="sectiontableentry<?php echo $k + 1;
|
||||
$k = ($k + 1) % 2; ?><?php echo $params->get('pageclass_sfx'); ?>">
|
||||
<td nowrap>
|
||||
<a href="<?php echo SportsManagerURL('&task=verbandsorgane_details&id=' . $row->verbandsorgane_id); ?>">
|
||||
<?php echo htmlentities_utf8(NichtLeererString($row->verbandsorgan)); ?>
|
||||
</a>
|
||||
</td>
|
||||
<td nowrap>
|
||||
<?php echo $row->anzahl; ?>
|
||||
</td>
|
||||
<td nowrap>
|
||||
<?php echo $row->email; ?>
|
||||
</td>
|
||||
<?PHP if ($organisation_zeigen){ ?>
|
||||
<td nowrap>
|
||||
<?php echo $row->organisation; ?>
|
||||
</td>
|
||||
<?PHP } ?>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</table>
|
||||
</div>
|
||||
<?php
|
||||
}
|
||||
|
||||
?>
|
||||
<span class="article_seperator<?php echo $params->get('pageclass_sfx'); ?>"> </span>
|
||||
<?php
|
||||
}
|
||||
|
||||
static function verbandsorganeDetails($titel, $beschreibung, $verbandsorgan, $rows, $erweiterte_anzeige, $zusatzinfos_vorhanden): void
|
||||
{
|
||||
global $params;
|
||||
if (!empty($titel)) { ?>
|
||||
<style>td{padding: 3px;}</style>
|
||||
<div
|
||||
class="componentheading<?php echo $params->get('pageclass_sfx'); ?>"><?php echo htmlentities_utf8($titel); ?></div><?php }
|
||||
if (!empty($beschreibung)) {
|
||||
?>
|
||||
<div class="uk-overflow-auto">
|
||||
<table class="contentpaneopen<?php echo $params->get('pageclass_sfx'); ?>">
|
||||
<tr>
|
||||
<td><?php echo str_contains($beschreibung, ">") ? $beschreibung : htmlentities_utf8($beschreibung); ?></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<?php
|
||||
}
|
||||
|
||||
echo "<div class='uk-overflow-auto'>";
|
||||
echo "<H1>" . $verbandsorgan->verbandsorgan . "</H1>";
|
||||
|
||||
echo $verbandsorgan->beschreibung;
|
||||
|
||||
if (count($rows) > 0) {
|
||||
?>
|
||||
<h2><?php echo Text::_('COM_SPORTSMANAGER_MEMBERS'); ?></h2>
|
||||
<table style='border-collapse: collapse;'
|
||||
class="uk-table-hover uk-table-divider uk-table-middle dtfl-table-medium contentpaneopen<?php echo $params->get('pageclass_sfx'); ?>">
|
||||
<?php
|
||||
|
||||
$k = 0;
|
||||
foreach ($rows as $row) {
|
||||
?>
|
||||
<tr class="sectiontableentry<?php echo $k + 1;
|
||||
$k = ($k + 1) % 2; ?><?php echo $params->get('pageclass_sfx'); ?>">
|
||||
<td style='width: 80px;' nowrap>
|
||||
<?PHP echo bildHTML("spieler", $row->spieler_id, 45, 60, 0, 0, 'border="1"'); ?>
|
||||
</td>
|
||||
<td style='width: 200px;' nowrap>
|
||||
<?php echo htmlentities_utf8($row->nachname . ", " . $row->vorname); ?>
|
||||
</td>
|
||||
<?PHP if ($erweiterte_anzeige){ ?>
|
||||
<td style='width: 300px;' nowrap>
|
||||
<?php echo htmlentities_utf8($row->email); ?>
|
||||
</td>
|
||||
<td style='width: 300px;' nowrap>
|
||||
<?php echo htmlentities_utf8($row->telefon); ?>
|
||||
<?PHP if ($row->telefon && $row->mobil){ echo "<br>"; }?>
|
||||
<?php echo htmlentities_utf8($row->mobil); ?>
|
||||
</td>
|
||||
<?PHP } ?>
|
||||
<td style='width: 200px;' nowrap>
|
||||
<?php echo htmlentities_utf8($row->funktion); ?>
|
||||
</td>
|
||||
<?PHP if ($zusatzinfos_vorhanden){ ?>
|
||||
<td style='width: 200px;' nowrap>
|
||||
<?php echo htmlentities_utf8($row->zusatzinfo); ?>
|
||||
</td>
|
||||
<?PHP } ?>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</table>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
<span class="article_seperator<?php echo $params->get('pageclass_sfx'); ?>"> </span>
|
||||
<?php
|
||||
}
|
||||
|
||||
static function halloffame($titel, $beschreibung, $rows): void
|
||||
{
|
||||
global $params;
|
||||
if (!empty($titel)) { ?>
|
||||
<style>td{padding: 3px;}</style>
|
||||
<div
|
||||
class="componentheading<?php echo $params->get('pageclass_sfx'); ?>"><?php echo htmlentities_utf8($titel); ?></div><?php }
|
||||
if (!empty($beschreibung)) {
|
||||
?>
|
||||
<div class="uk-overflow-auto">
|
||||
<table class="contentpaneopen<?php echo $params->get('pageclass_sfx'); ?>">
|
||||
<tr>
|
||||
<td><?php echo str_contains($beschreibung, ">") ? $beschreibung : htmlentities_utf8($beschreibung); ?></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<?php
|
||||
}
|
||||
|
||||
if (count($rows) > 0) {
|
||||
?>
|
||||
<div class="uk-overflow-auto">
|
||||
<table style='border-collapse: collapse;'
|
||||
class="uk-table-hover uk-table-divider uk-table-middle dtfl-table-medium contentpaneopen<?php echo $params->get('pageclass_sfx'); ?>">
|
||||
<tr class="sectiontableheader<?php echo $params->get('pageclass_sfx'); ?>">
|
||||
<th style='text-align: left; width: 400px;' nowrap><strong><?php echo Text::_('COM_SPORTSMANAGER_HALL_OF_FAME'); ?></strong></th>
|
||||
<th style='text-align: center; width: 200px;' nowrap><strong><?php echo Text::_('COM_SPORTSMANAGER_YEARS'); ?></strong></th>
|
||||
</tr>
|
||||
<?php
|
||||
|
||||
$k = 0;
|
||||
foreach ($rows as $row) {
|
||||
?>
|
||||
<tr class="sectiontableentry<?php echo $k + 1;
|
||||
$k = ($k + 1) % 2; ?><?php echo $params->get('pageclass_sfx'); ?>">
|
||||
<td nowrap>
|
||||
<a href="<?php echo SportsManagerURL('&task=hall_of_fame_details&id=' . $row->halloffame_id); ?>">
|
||||
<?php echo htmlentities_utf8(NichtLeererString($row->halloffame)); ?>
|
||||
</a>
|
||||
</td>
|
||||
<td style='text-align: center;' nowrap>
|
||||
<?php echo $row->zeitspanne; ?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</table>
|
||||
</div>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
<span class="article_seperator<?php echo $params->get('pageclass_sfx'); ?>"> </span>
|
||||
<?php
|
||||
}
|
||||
|
||||
static function halloffameDetails($titel, $beschreibung, $rows, $halloffame): void
|
||||
{
|
||||
global $params;
|
||||
if (!empty($titel)) { ?>
|
||||
<style>td{padding: 3px;}</style>
|
||||
<div
|
||||
class="componentheading<?php echo $params->get('pageclass_sfx'); ?>"><?php echo htmlentities_utf8($titel); ?></div><?php }
|
||||
if (!empty($beschreibung)) {
|
||||
?>
|
||||
<div class="uk-overflow-auto">
|
||||
<table class="contentpaneopen<?php echo $params->get('pageclass_sfx'); ?>">
|
||||
<tr>
|
||||
<td><?php echo str_contains($beschreibung, ">") ? $beschreibung : htmlentities_utf8($beschreibung); ?></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<?php
|
||||
}
|
||||
|
||||
echo "<H3>" . htmlentities_utf8($halloffame->halloffame) . "</H3>";
|
||||
|
||||
if ($rows != null) {
|
||||
?>
|
||||
<div class="uk-overflow-auto">
|
||||
<table style='border-collapse: collapse;'
|
||||
class="uk-table-hover uk-table-divider uk-table-middle dtfl-table-medium contentpaneopen<?php echo $params->get('pageclass_sfx'); ?>">
|
||||
|
||||
<tr class="sectiontableheader<?php echo $params->get('pageclass_sfx'); ?>">
|
||||
<th style="text-align:center; width:100px;" nowrap>
|
||||
<strong><?php echo Text::_('COM_SPORTSMANAGER_YEAR'); ?></strong>
|
||||
</th>
|
||||
|
||||
<?php
|
||||
for ($i = 1; $i <= 3; $i++) {
|
||||
if ($i == 2 && !$halloffame->platz2_zeigen) continue;
|
||||
if ($i == 3 && !$halloffame->platz3_zeigen) continue;
|
||||
?>
|
||||
<th style="text-align:center;" colspan="2" nowrap>
|
||||
<strong><?php echo Text::_('COM_SPORTSMANAGER_PLACE') . " " . $i; ?></strong>
|
||||
</th>
|
||||
<?php } ?>
|
||||
</tr>
|
||||
|
||||
<?php
|
||||
$k = 0;
|
||||
|
||||
foreach ($rows as $row) {
|
||||
$rowclass = "sectiontableentry" . ($k + 1) . $params->get('pageclass_sfx');
|
||||
$k = ($k + 1) % 2;
|
||||
|
||||
if ($halloffame->spielform == 2) {
|
||||
?>
|
||||
<!-- Erste Zeile -->
|
||||
<tr class="<?php echo $rowclass; ?>">
|
||||
|
||||
<td rowspan="2" nowrap style="text-align:center;">
|
||||
<?php echo $row->jahr; ?>
|
||||
</td>
|
||||
|
||||
<?php for ($i = 1; $i <= 3; $i++) {
|
||||
if ($i == 2 && !$halloffame->platz2_zeigen) continue;
|
||||
if ($i == 3 && !$halloffame->platz3_zeigen) continue;
|
||||
$spieler1_id = "spieler1_id_" . $i;
|
||||
$spieler1 = "spieler1_" . $i;
|
||||
?>
|
||||
<td nowrap style="text-align:center; width:70px;">
|
||||
<?php echo bildHTML("spieler", $row->$spieler1_id, 45, 60, 0, 0, 'border="0"'); ?>
|
||||
</td>
|
||||
<td nowrap style="text-align:left; width:300px;">
|
||||
<?php echo htmlentities_utf8($row->$spieler1); ?>
|
||||
</td>
|
||||
<?php } ?>
|
||||
</tr>
|
||||
<!-- Zweite Zeile -->
|
||||
<tr class="<?php echo $rowclass; ?>">
|
||||
<?php for ($i = 1; $i <= 3; $i++) {
|
||||
if ($i == 2 && !$halloffame->platz2_zeigen) continue;
|
||||
if ($i == 3 && !$halloffame->platz3_zeigen) continue;
|
||||
$spieler2_id = "spieler2_id_" . $i;
|
||||
$spieler2 = "spieler2_" . $i;
|
||||
?>
|
||||
<td nowrap style="text-align:center; width:70px;">
|
||||
<?php echo bildHTML("spieler", $row->$spieler2_id, 45, 60, 0, 0, 'border="0"'); ?>
|
||||
</td>
|
||||
<td nowrap style="text-align:left; width:300px;">
|
||||
<?php echo htmlentities_utf8($row->$spieler2); ?>
|
||||
</td>
|
||||
<?php } ?>
|
||||
</tr>
|
||||
<?php
|
||||
} else {
|
||||
?>
|
||||
<tr class="<?php echo $rowclass; ?>">
|
||||
<td nowrap style="text-align:center;">
|
||||
<?php echo $row->jahr; ?>
|
||||
</td>
|
||||
<?php for ($i = 1; $i <= 3; $i++) {
|
||||
if ($i == 2 && !$halloffame->platz2_zeigen) continue;
|
||||
if ($i == 3 && !$halloffame->platz3_zeigen) continue;
|
||||
if ($halloffame->spielform == 1) {
|
||||
$id = "verein_id_" . $i;
|
||||
$txt = "teamname_" . $i;
|
||||
$type = "vereine";
|
||||
if ($row->$id == ""){
|
||||
$id = "team_id_" . $i;
|
||||
$type = "mannschaften";
|
||||
}
|
||||
} else {
|
||||
$id = "spieler1_id_" . $i;
|
||||
$txt = "spieler1_" . $i;
|
||||
$type = "spieler";
|
||||
}
|
||||
?>
|
||||
<td nowrap style="text-align:center; width:70px;">
|
||||
<?php echo bildHTML($type, $row->$id, 45, 60, 0, 0, 'border="0"'); ?>
|
||||
</td>
|
||||
<td nowrap style="text-align:left; width:300px;">
|
||||
<?php echo htmlentities_utf8($row->$txt); ?>
|
||||
</td>
|
||||
<?php } ?>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
}
|
||||
?>
|
||||
</table>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
<span class="article_seperator<?php echo $params->get('pageclass_sfx'); ?>"> </span>
|
||||
<?php
|
||||
}
|
||||
|
||||
static function spieler($beschreibung, $rows, $sortierung, $statistik, $beginn, $kategorie, $filter, $veranstaltungid, $einstufungid, $veranstaltungen, $veranstalterid, $veranstalter, $einstufungen, $details_anzeigen): void
|
||||
{
|
||||
global $params;
|
||||
@@ -4284,7 +4702,11 @@ static function spielerDetails($spieler, $vereine, $veranstalter, $spieler_elo_v
|
||||
$einstufungid, $unabhaengige_ansicht, $details_anzeigen, $lizenz_anzeigen):void {
|
||||
global $params;
|
||||
|
||||
if (count($vereine) == 0){echo "Sie haben keine Berechtigung auf diesen Datensatz!!!"; die;}
|
||||
if ((count($vereine) == 0) && !benutzerZugriff("spieler_aendern") && !benutzerVeranstalterModerator() && !benutzerVereinModerator())
|
||||
{
|
||||
echo "Sie haben keine Berechtigung auf diesen Datensatz!!!";
|
||||
die;
|
||||
}
|
||||
|
||||
?>
|
||||
<table style="width: 100%; border: none; border-spacing: 0; padding: 3px">
|
||||
@@ -4462,7 +4884,7 @@ if ($bild != null) {
|
||||
<td nowrap style="text-align: right">
|
||||
<?php
|
||||
foreach ($vereine as $verein)
|
||||
echo htmlentities_utf8($verein->vereinsname) . "<br />";
|
||||
echo htmlentities_utf8($verein->vereinsname) . " (" . htmlentities_utf8($verein->status) . ")<br />";
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -5118,11 +5540,7 @@ function begegnungVerlegen($veranstaltung, $begegnung, $heim_team, $gast_team, $
|
||||
|
||||
<form action="<?php echo SportsManagerURL(); ?>" method="post" name="adminForm" id="adminForm">
|
||||
<div class="uk-overflow-auto">
|
||||
<table class="uk-table" style="width: 100%">
|
||||
<tr>
|
||||
<td nowrap style="width: 60%; vertical-align: top">
|
||||
<div class="uk-overflow-auto">
|
||||
<table class="uk-table" style="width: 100%">
|
||||
<table style="width: 100%">
|
||||
<tr>
|
||||
<td nowrap style="width: 20%; text-align: right">
|
||||
<?php echo Text::_('COM_SPORTSMANAGER_ORIGINALY_SCHEDULED'); ?>:
|
||||
@@ -5190,7 +5608,22 @@ function begegnungVerlegen($veranstaltung, $begegnung, $heim_team, $gast_team, $
|
||||
return anzahl_termine >= termine_minimal;
|
||||
}
|
||||
</script>
|
||||
<?PHP if ($veranstaltung->begruendung_erforderlich && empty($verlegen_aktionen)){ ?>
|
||||
<tr>
|
||||
<td nowrap style="width: 20%; text-align: right">
|
||||
<label
|
||||
for="reason"><?php echo Text::_('COM_SPORTSMANAGER_REASON_GAME_APPOINTMENT'); ?>
|
||||
:</label>
|
||||
</td>
|
||||
<td nowrap>
|
||||
<input class="inputbox" type="text"
|
||||
name="verlegungsgrund"
|
||||
id="reason"
|
||||
size="100" maxlength="255"/>
|
||||
</td>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
for ($termin = 1;
|
||||
$termin <= $anzahl_moegliche_termine;
|
||||
$termin++) {
|
||||
@@ -5214,7 +5647,7 @@ function begegnungVerlegen($veranstaltung, $begegnung, $heim_team, $gast_team, $
|
||||
</script>
|
||||
<select
|
||||
aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_PROPOSAL_DAY') . ' ' . $termin ?>"
|
||||
class="uk-select uk-form-width-medium"
|
||||
class="uk-select uk-form-width-small"
|
||||
name="datum_tag_<?php echo $termin; ?>" size="1"
|
||||
onChange="termin_changed_<?php echo $termin; ?>();">
|
||||
<?php
|
||||
@@ -5230,7 +5663,7 @@ function begegnungVerlegen($veranstaltung, $begegnung, $heim_team, $gast_team, $
|
||||
</select>
|
||||
<select
|
||||
aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_PROPOSAL_MONTH') . ' ' . $termin ?>"
|
||||
class="uk-select uk-form-width-medium"
|
||||
class="uk-select uk-form-width-small"
|
||||
name="datum_monat_<?php echo $termin; ?>" size="1"
|
||||
onChange="termin_changed_<?php echo $termin; ?>();">
|
||||
<?php
|
||||
@@ -5244,7 +5677,7 @@ function begegnungVerlegen($veranstaltung, $begegnung, $heim_team, $gast_team, $
|
||||
</select>
|
||||
<select
|
||||
aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_PROPOSAL_YEAR') . ' ' . $termin ?>"
|
||||
class="uk-select uk-form-width-medium"
|
||||
class="uk-select uk-form-width-small"
|
||||
name="datum_jahr_<?php echo $termin; ?>" size="1"
|
||||
onChange="termin_changed_<?php echo $termin; ?>();">
|
||||
<?php
|
||||
@@ -5257,7 +5690,7 @@ function begegnungVerlegen($veranstaltung, $begegnung, $heim_team, $gast_team, $
|
||||
</select>
|
||||
<select
|
||||
aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_PROPOSAL_HOUR') . ' ' . $termin ?>"
|
||||
class="uk-select uk-form-width-medium"
|
||||
class="uk-select uk-form-width-small"
|
||||
name="uhrzeit_stunden_<?php echo $termin; ?>" size="1"
|
||||
onChange="termin_changed_<?php echo $termin; ?>();">
|
||||
<?php
|
||||
@@ -5272,7 +5705,7 @@ function begegnungVerlegen($veranstaltung, $begegnung, $heim_team, $gast_team, $
|
||||
</select>
|
||||
<select
|
||||
aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_PROPOSAL_MINUTE') . ' ' . $termin ?>"
|
||||
class="uk-select uk-form-width-medium"
|
||||
class="uk-select uk-form-width-small"
|
||||
name="uhrzeit_minuten_<?php echo $termin; ?>" size="1"
|
||||
onChange="termin_changed_<?php echo $termin; ?>();">
|
||||
<?php
|
||||
@@ -5363,10 +5796,6 @@ function begegnungVerlegen($veranstaltung, $begegnung, $heim_team, $gast_team, $
|
||||
?>
|
||||
</table>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<?php
|
||||
if ($berechtigt_anfordern) {
|
||||
@@ -5603,9 +6032,10 @@ static function turniervoranmeldungen($disziplin, $meldungenSpielerSortiert, $me
|
||||
<?php
|
||||
}
|
||||
|
||||
static function spielerstatistikenHeader($titel, $beschreibung, $saisons, $filter_saison_id): void
|
||||
static function spielerstatistikenHeader($titel, $beschreibung, $saisons, $filter_saison_id, $id, $spiele, $min_spiele, $teams, $filter_teams): void
|
||||
{
|
||||
global $params;
|
||||
|
||||
//SpielerstatistikenHeader
|
||||
if (!empty($titel)) { ?>
|
||||
<div
|
||||
@@ -5621,17 +6051,18 @@ static function spielerstatistikenHeader($titel, $beschreibung, $saisons, $filte
|
||||
</div>
|
||||
<?php
|
||||
}
|
||||
if (count($saisons) > 0) {
|
||||
if (!empty($saisons) || !empty($spiele) || !empty($teams)) {
|
||||
?>
|
||||
<form action="<?php echo SportsManagerURL(); ?>" method="post" name="adminForm" id="adminForm">
|
||||
<div class="uk-overflow-auto">
|
||||
<table class="uk-table contentpaneopen<?php echo $params->get('pageclass_sfx'); ?>">
|
||||
<tr>
|
||||
<td nowrap>
|
||||
<?PHP if (!empty($saisons)){ ?>
|
||||
<label
|
||||
for="filter_saison_id"><?php echo Text::_('COM_SPORTSMANAGER_SEASON'); ?>
|
||||
:</label>
|
||||
<select class="uk-select uk-form-width-medium" name="filter_saison_id"
|
||||
<select class="uk-select uk-form-width-small" name="filter_saison_id"
|
||||
id="filter_saison_id" size="1"
|
||||
onChange="document.adminForm.submit();">
|
||||
<?php
|
||||
@@ -5639,6 +6070,36 @@ static function spielerstatistikenHeader($titel, $beschreibung, $saisons, $filte
|
||||
echo "<option value=\"" . $saison->saison_id . "\" " . ($filter_saison_id == $saison->saison_id ? "selected" : "") . ">" . htmlentities_utf8($saison->saisonbezeichnung) . "</option>";
|
||||
?>
|
||||
</select>
|
||||
<?PHP
|
||||
}
|
||||
if (!empty($spiele)){
|
||||
?>
|
||||
<label
|
||||
for="filter_min_matches"><?php echo Text::_('COM_SPORTSMANAGER_MIN_MATCHES'); ?>
|
||||
:</label>
|
||||
<select class="uk-select uk-form-width-small" name="filter_min_spiele"
|
||||
id="filter_min_matches" size="1"
|
||||
onChange="document.adminForm.task.value='spielerstatistik'; document.adminForm.submit();">
|
||||
<?php
|
||||
foreach ($spiele as $key => $value)
|
||||
echo "<option value=\"" . $key . "\" " . ($min_spiele == $key ? "selected" : "") . ">" . htmlentities_utf8($value) . "</option>";
|
||||
?>
|
||||
</select>
|
||||
<?PHP }
|
||||
if (!empty($teams)){
|
||||
?>
|
||||
<label
|
||||
for="filter_teams"><?php echo Text::_('COM_SPORTSMANAGER_TEAM'); ?>
|
||||
:</label>
|
||||
<select class="uk-select uk-form-width-medium" name="filter_teams"
|
||||
id="filter_teams" size="1" style="width: 300px;"
|
||||
onChange="document.adminForm.task.value='spielerstatistik'; document.adminForm.submit();">
|
||||
<?php
|
||||
foreach ($teams as $key => $value)
|
||||
echo "<option value=\"" . $key . "\" " . ($filter_teams == $key ? "selected" : "") . ">" . htmlentities_utf8($value->teamname) . "</option>";
|
||||
?>
|
||||
</select>
|
||||
<?PHP } ?>
|
||||
<input type="submit" name="ok"
|
||||
value="<?php echo Text::_('COM_SPORTSMANAGER_GO'); ?>"
|
||||
class="button uk-button uk-button-primary"/>
|
||||
@@ -5647,12 +6108,13 @@ static function spielerstatistikenHeader($titel, $beschreibung, $saisons, $filte
|
||||
</table>
|
||||
</div>
|
||||
<input type="hidden" name="task" value="spielerstatistiken"/>
|
||||
<input type="hidden" name="id" value="<?PHP echo $id; ?>"/>
|
||||
</form>
|
||||
<?php
|
||||
}
|
||||
}
|
||||
|
||||
static function spielerstatistik($spielerstatistik, $spielerstatistik_punkte, $allein_angezeigt, $vorherige_spielerstatistik_id, $naechste_spielerstatistik_id, $details_anzeigen): void
|
||||
static function spielerstatistik($spielerstatistik, $spielerstatistik_punkte, $allein_angezeigt, $filter_teams, $vorherige_spielerstatistik_id, $naechste_spielerstatistik_id, $details_anzeigen): void
|
||||
{
|
||||
global $params;
|
||||
if ($allein_angezeigt) {
|
||||
@@ -5775,45 +6237,45 @@ static function spielerstatistik($spielerstatistik, $spielerstatistik_punkte, $a
|
||||
if ($spielerstatistik->tabellenwertung > 0) {
|
||||
?>
|
||||
<th nowrap
|
||||
title="<?php echo Text::_('COM_SPORTSMANAGER_PERFORMANCE_INDEX'); ?>">
|
||||
<strong><?php echo Text::_('COM_SPORTSMANAGER_PERFORMANCE_INDEX_SHORTCUT'); ?></strong>
|
||||
title="<?php echo Text::_('COM_SPORTSMANAGER_PERFORMANCE_INDEX' . $spielerstatistik->tabellenwertung); ?>">
|
||||
<strong><?php echo Text::_('COM_SPORTSMANAGER_PERFORMANCE_SHORT' . $spielerstatistik->tabellenwertung); ?></strong>
|
||||
</th>
|
||||
<?php
|
||||
} else {
|
||||
?>
|
||||
<th nowrap
|
||||
title="<?php echo Text::_('COM_SPORTSMANAGER_POINTS'); ?>">
|
||||
<strong><?php echo Text::_('COM_SPORTSMANAGER_POINTS_SHORTCUT'); ?>
|
||||
+</strong></th>
|
||||
<th nowrap
|
||||
title="<?php echo Text::_('COM_SPORTSMANAGER_POINTS'); ?>">
|
||||
<strong><?php echo Text::_('COM_SPORTSMANAGER_POINTS_SHORTCUT'); ?>
|
||||
-</strong></th>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
<th nowrap
|
||||
title="<?php echo Text::_('COM_SPORTSMANAGER_RATE'); ?>">
|
||||
<strong><?php echo Text::_('COM_SPORTSMANAGER_RATE_SHORTCUT'); ?></strong>
|
||||
</th>
|
||||
<th nowrap><strong><?php echo Text::_('COM_SPORTSMANAGER_GAMES'); ?></strong></th>
|
||||
<th nowrap
|
||||
title="<?php echo Text::_('COM_SPORTSMANAGER_GAME_POINTS'); ?>
|
||||
<?php echo Text::_('COM_SPORTSMANAGER_WON'); ?>">
|
||||
<strong><?php echo Text::_('COM_SPORTSMANAGER_GAME_POINTS_SHORTCUT'); ?>
|
||||
+</strong></th>
|
||||
<th nowrap
|
||||
title="<?php echo Text::_('COM_SPORTSMANAGER_GAME_POINTS'); ?>
|
||||
<?php echo Text::_('COM_SPORTSMANAGER_LOST'); ?>">
|
||||
<strong><?php echo Text::_('COM_SPORTSMANAGER_GAME_POINTS_SHORTCUT'); ?>
|
||||
-</strong></th>
|
||||
<th nowrap
|
||||
title="<?php echo Text::_('COM_SPORTSMANAGER_GAME_POINTS'); ?>
|
||||
<?php echo Text::_('COM_SPORTSMANAGER_RATE'); ?>">
|
||||
<strong><?php echo Text::_('COM_SPORTSMANAGER_RATE_SHORTCUT'); ?></strong></th>
|
||||
<th nowrap
|
||||
title="<?php echo Text::_('COM_SPORTSMANAGER_POINTS'); ?>
|
||||
<?php echo Text::_('COM_SPORTSMANAGER_WON'); ?>">
|
||||
<strong><?php echo Text::_('COM_SPORTSMANAGER_POINTS_SHORTCUT'); ?> +</strong>
|
||||
</th>
|
||||
<th nowrap
|
||||
title="<?php echo Text::_('COM_SPORTSMANAGER_POINTS'); ?>
|
||||
<?php echo Text::_('COM_SPORTSMANAGER_LOST'); ?>">
|
||||
<strong><?php echo Text::_('COM_SPORTSMANAGER_POINTS_SHORTCUT'); ?> -</strong>
|
||||
</th>
|
||||
<th nowrap title="<?php echo Text::_('COM_SPORTSMANAGER_VICTORIES'); ?>">
|
||||
<strong><?php echo Text::_('COM_SPORTSMANAGER_VICTORIES_SHORTCUT'); ?></strong>
|
||||
</th>
|
||||
<th nowrap title="<?php echo Text::_('COM_SPORTSMANAGER_DRAWS'); ?>">
|
||||
<strong><?php echo Text::_('COM_SPORTSMANAGER_DRAWS_SHORTCUT'); ?></strong></th>
|
||||
<strong><?php echo Text::_('COM_SPORTSMANAGER_DRAWS_SHORTCUT'); ?></strong>
|
||||
</th>
|
||||
<th nowrap title="<?php echo Text::_('COM_SPORTSMANAGER_DEFEATS'); ?>">
|
||||
<strong><?php echo Text::_('COM_SPORTSMANAGER_DEFEATS_SHORTCUT'); ?></strong>
|
||||
</th>
|
||||
<th nowrap
|
||||
title="<?php echo Text::_('COM_SPORTSMANAGER_GOALS'); ?>">
|
||||
<strong><?php echo Text::_('COM_SPORTSMANAGER_GOALS_SHORTCUT'); ?> +</strong>
|
||||
</th>
|
||||
<th nowrap
|
||||
title="<?php echo Text::_('COM_SPORTSMANAGER_GOALS'); ?>">
|
||||
<strong><?php echo Text::_('COM_SPORTSMANAGER_GOALS_SHORTCUT'); ?> -</strong>
|
||||
</th>
|
||||
</tr>
|
||||
<?php
|
||||
|
||||
@@ -5821,11 +6283,23 @@ static function spielerstatistik($spielerstatistik, $spielerstatistik_punkte, $a
|
||||
$tatsaechlicher_platz = 1;
|
||||
$k = 0;
|
||||
foreach ($spielerstatistik_punkte as $row) {
|
||||
if ($platz == 1 || $spielpunkte_gewonnen != $row->spielpunkte_gewonnen || $spielpunkte_verloren != $row->spielpunkte_verloren || ($punkte_gewonnen - $punkte_verloren) != ($row->punkte_gewonnen - $row->punkte_verloren))
|
||||
if ($platz == 1
|
||||
|| $spielpunkte_gewonnen != $row->spielpunkte_gewonnen
|
||||
|| $spielpunkte_verloren != $row->spielpunkte_verloren
|
||||
|| ($punkte_gewonnen - $punkte_verloren) != ($row->punkte_gewonnen - $row->punkte_verloren))
|
||||
$tatsaechlicher_platz = $platz;
|
||||
|
||||
$spielpunkte_gewonnen = $row->spielpunkte_gewonnen;
|
||||
$spielpunkte_verloren = $row->spielpunkte_verloren;
|
||||
$punkte_gewonnen = $row->punkte_gewonnen;
|
||||
$punkte_verloren = $row->punkte_verloren;
|
||||
$platz++;
|
||||
|
||||
if (!$allein_angezeigt && $tatsaechlicher_platz > 3)
|
||||
break;
|
||||
|
||||
if (!empty($filter_teams) && $row->team_id != $filter_teams)
|
||||
continue;
|
||||
?>
|
||||
<tr class="sectiontableentry<?php echo $k + 1;
|
||||
$k = ($k + 1) % 2; ?><?php echo $params->get('pageclass_sfx'); ?>">
|
||||
@@ -5855,6 +6329,8 @@ static function spielerstatistik($spielerstatistik, $spielerstatistik_punkte, $a
|
||||
<?php
|
||||
}
|
||||
}
|
||||
if (!empty($row->teamname))
|
||||
echo "<br>" . htmlentities_utf8($row->teamname);
|
||||
?>
|
||||
</td>
|
||||
<td>
|
||||
@@ -5878,31 +6354,27 @@ static function spielerstatistik($spielerstatistik, $spielerstatistik_punkte, $a
|
||||
if ($spielerstatistik->tabellenwertung != 0) {
|
||||
?>
|
||||
<td nowrap style="text-align: center">
|
||||
<strong><?php echo round($row->leistungsindex); ?></strong>
|
||||
<strong><?php echo $row->leistungsindex; ?></strong>
|
||||
</td>
|
||||
<?php
|
||||
} else {
|
||||
?>
|
||||
<td nowrap style="text-align: center">
|
||||
<strong><?php echo $row->spielpunkte_gewonnen; ?></strong>
|
||||
</td>
|
||||
<td nowrap style="text-align: center"><?php echo $row->spielpunkte_verloren; ?></td>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
<td nowrap
|
||||
style="text-align: center"><?php echo $row->siege + $row->niederlagen + $row->unentschieden; ?></td>
|
||||
<td nowrap
|
||||
style="text-align: center"><?php echo ($spielerstatistik->tabellenwertung == 0 ? "<strong>" : "") . $row->spielpunkte_gewonnen . ($spielerstatistik->tabellenwertung == 0 ? "<strong>" : ""); ?></strong></td>
|
||||
<td nowrap
|
||||
style="text-align: center"><?php echo $row->spielpunkte_verloren; ?></td>
|
||||
<td nowrap
|
||||
style="text-align: center"><?php echo ($row->spielpunkte_gewonnen > 0 || $row->spielpunkte_verloren > 0) ? round($row->spielpunkte_gewonnen * 100 / ($row->spielpunkte_gewonnen + $row->spielpunkte_verloren)) . "%" : "-"; ?></td>
|
||||
<td nowrap style="text-align: center"><?php echo $row->punkte_gewonnen; ?></td>
|
||||
<td nowrap style="text-align: center"><?php echo $row->punkte_verloren; ?></td>
|
||||
<td nowrap style="text-align: center"><?php echo $row->quotient . " %"; ?></td>
|
||||
<td nowrap style="text-align: center"><?php echo $row->siege + $row->niederlagen + $row->unentschieden; ?></td>
|
||||
<td nowrap style="text-align: center"><?php echo $row->siege; ?></td>
|
||||
<td nowrap style="text-align: center"><?php echo $row->unentschieden; ?></td>
|
||||
<td nowrap style="text-align: center"><?php echo $row->niederlagen; ?></td>
|
||||
<td nowrap style="text-align: center"><?php echo $row->punkte_gewonnen; ?></td>
|
||||
<td nowrap style="text-align: center"><?php echo $row->punkte_verloren; ?></td>
|
||||
</tr>
|
||||
<?php
|
||||
$spielpunkte_gewonnen = $row->spielpunkte_gewonnen;
|
||||
$spielpunkte_verloren = $row->spielpunkte_verloren;
|
||||
$punkte_gewonnen = $row->punkte_gewonnen;
|
||||
$punkte_verloren = $row->punkte_verloren;
|
||||
$platz++;
|
||||
}
|
||||
?>
|
||||
</table>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -39,6 +39,7 @@ COM_SPORTSMANAGER_ORGANISATION="Organisation"
|
||||
COM_SPORTSMANAGER_TEAM_MEMBERS="Mannschaftsmitglieder"
|
||||
COM_SPORTSMANAGER_TEAM_MEMBERS2=Vereinsmitglieder
|
||||
COM_SPORTSMANAGER_MEMBERS="Mitglieder"
|
||||
COM_SPORTSMANAGER_MEMBER="Mitglied"
|
||||
COM_SPORTSMANAGER_ACTIVE_MEMBERS="Aktive Mitglieder"
|
||||
COM_SPORTSMANAGER_TEAMS="Mannschaften"
|
||||
COM_SPORTSMANAGER_CURRENT_TEAMS="Aktuelle Mannschaften"
|
||||
@@ -72,7 +73,6 @@ COM_SPORTSMANAGER_CONFIRM_REMOVE_RANKING="Willst du die Rangliste wirklich entfe
|
||||
COM_SPORTSMANAGER_ADD_INDIVIDUAL_COMPETITION="Individualwettbewerb hinzufügen"
|
||||
COM_SPORTSMANAGER_INDIVIDUAL_COMPETITION="Individualwettbewerb"
|
||||
COM_SPORTSMANAGER_INDIVIDUAL_COMPETITIONS="Individualwettbewerbe"
|
||||
COM_SPORTSMANAGER_ASSOCIATION_BODIES="Verbandsorgane"
|
||||
COM_SPORTSMANAGER_GAME="Spiel"
|
||||
COM_SPORTSMANAGER_GAMES="Spiele"
|
||||
COM_SPORTSMANAGER_GAMES_SHORTCUT="S"
|
||||
@@ -157,6 +157,7 @@ COM_SPORTSMANAGER_DEFEAT="Niederlage"
|
||||
COM_SPORTSMANAGER_DEFEATS="Niederlagen"
|
||||
COM_SPORTSMANAGER_DEFEATS_SHORTCUT="N"
|
||||
COM_SPORTSMANAGER_GOALS="Tore"
|
||||
COM_SPORTSMANAGER_GOALS_SHORTCUT="T"
|
||||
COM_SPORTSMANAGER_SETS="Sätze"
|
||||
COM_SPORTSMANAGER_POINT="Punkt"
|
||||
COM_SPORTSMANAGER_POINTS="Punkte"
|
||||
@@ -169,9 +170,9 @@ COM_SPORTSMANAGER_GAME_POINTS="Spielpunkte"
|
||||
COM_SPORTSMANAGER_GAME_POINTS_SHORTCUT="SP"
|
||||
COM_SPORTSMANAGER_SUFFIX_ONE_TEAM=" (eine Mannschaft)"
|
||||
COM_SPORTSMANAGER_SUFFIX_TEAMS_TOGETHER=" (Mannschaften zusammen)"
|
||||
COM_SPORTSMANAGER_DIFFERENCE="Differenz"
|
||||
COM_SPORTSMANAGER_DIFFERENCE_IN_POINTS="Punktedifferenz"
|
||||
COM_SPORTSMANAGER_POINTS_RATIO="Punkteverhältnis"
|
||||
COM_SPORTSMANAGER_DIFFERENCE="Differenz Tore"
|
||||
COM_SPORTSMANAGER_DIFFERENCE_IN_POINTS="Differenz Spielpunkte"
|
||||
COM_SPORTSMANAGER_POINTS_RATIO="Verhältnis Spielpunkte"
|
||||
COM_SPORTSMANAGER_SCHEDULE_DATE="Zeitpunkt"
|
||||
COM_SPORTSMANAGER_TEAM_HOME="Heim"
|
||||
COM_SPORTSMANAGER_TEAM_VISITOR="Gast"
|
||||
@@ -296,10 +297,9 @@ COM_SPORTSMANAGER_REQUEST_MESSAGE_PLURAL="Es müssen mindestens %d Termine v
|
||||
COM_SPORTSMANAGER_REJECT_SHIFT="Verschiebung ablehnen"
|
||||
COM_SPORTSMANAGER_TO="bis"
|
||||
COM_SPORTSMANAGER_PLAYER_STATISTICS="Spielerstatistiken"
|
||||
COM_SPORTSMANAGER_PERFORMANCE_INDEX_SHORTCUT="LI"
|
||||
COM_SPORTSMANAGER_WON="gewonnen"
|
||||
COM_SPORTSMANAGER_LOST="verloren"
|
||||
COM_SPORTSMANAGER_RATE="Quote"
|
||||
COM_SPORTSMANAGER_RATE="Siegquote"
|
||||
COM_SPORTSMANAGER_RATE_SHORTCUT="Q"
|
||||
COM_SPORTSMANAGER_NO_CLUB="Kein Verein"
|
||||
COM_SPORTSMANAGER_RATING="Wertung"
|
||||
@@ -321,6 +321,7 @@ COM_SPORTSMANAGER_VIEW_LEAST_MEMBER_COUNT="Mindest Mitgliederzahl zeigen (Verein
|
||||
COM_SPORTSMANAGER_SHOW_ORGANISATION="Spalte Verband zeigen (Vereine)"
|
||||
COM_SPORTSMANAGER_SHOW_MEMBER_COUNT="Spalte Mitglieder Zeigen (Vereine)"
|
||||
COM_SPORTSMANAGER_SHOW_TOURNAMENT_BRACKET="Turnierbaum anzeigen"
|
||||
COM_SPORTSMANAGER_USE_DISCIPLINARY_FINE="Ordnungsstrafen verwenden"
|
||||
COM_SPORTSMANAGER_PLAYER_DETAILS="Spielerdetails"
|
||||
COM_SPORTSMANAGER_PLAYER_LIST_DETAILS="Spielerliste/-details"
|
||||
COM_SPORTSMANAGER_PLAYER_EDIT="Spielerdaten durch Organisations-/Vereinsansprechpartner bearbeiten"
|
||||
@@ -363,6 +364,7 @@ COM_SPORTSMANAGER_STATISTIK="Statistik"
|
||||
COM_SPORTSMANAGER_PLAYERS_ACTIVE="Spieler aktiv"
|
||||
COM_SPORTSMANAGER_RESTRICTED_PLAYERS="Spieler eingeschränkt"
|
||||
COM_SPORTSMANAGER_PLAYER_PASSIV="Spieler passiv"
|
||||
COM_SPORTSMANAGER_PLAYER_UNATTACHED="Spieler vereinslos"
|
||||
COM_SPORTSMANAGER_MEN_ACTIVE="Herren aktiv"
|
||||
COM_SPORTSMANAGER_WOMEN_ACTIVE="Damen aktiv"
|
||||
COM_SPORTSMANAGER_JUNIOR_ACTIVE="Junioren aktiv"
|
||||
@@ -413,7 +415,7 @@ COM_SPORTSMANAGER_EXPORT="Exportieren"
|
||||
COM_SPORTSMANAGER_INTERNATIONAL_PLAYERS="Spieler (international)"
|
||||
COM_SPORTSMANAGER_COUNTRY_CODE="Landeskennung"
|
||||
COM_SPORTSMANAGER_IMPORT="Importieren"
|
||||
COM_SPORTSMANAGER_IMPORT_MESSAGE="Im Import sind ausschließlich Spielerdaten zum Verein %s enthalten. Soll ausschließlich der Spielerbestand des einen Vereins aktualisiert werden, muss der zugehörige Verein unten ausgewählt werden. Beinhaltet der Import den gesamten Spielerbestand einer Organisation, muss die zugehörige Organisation gewählt werden."
|
||||
COM_SPORTSMANAGER_IMPORT_MESSAGE="Im Import sind ausschließlich Spielerdaten zum Verein %s enthalten. Soll ausschließlich der Spielerbestand des einen Vereins aktualisiert werden, muss der zugehörige Verein unten ausgewählt werden. Beinhaltet der Import den gesamten Spielerbestand einer Organisation, muss die zugehörige Organisation gewählt werden.<br />Bei schon vorhandener Lizenznummer wird die Lizenznummer und das Geburtsjahr nicht überschrieben!"
|
||||
COM_SPORTSMANAGER_CHECK="Prüfen"
|
||||
COM_SPORTSMANAGER_IMPORT_CONFLICTS_MESSAGE="Im Import sind Fehler oder Konflikte enthalten, die im Vorfeld manuell beseitigt werden müssen."
|
||||
COM_SPORTSMANAGER_IMPORT_DUPLICATE_MESSAGE="Versuch, Spielernr. auf eine bereits für einen anderen Spieler vergebene Spielernr. zu ändern"
|
||||
@@ -498,6 +500,8 @@ COM_SPORTSMANAGER_WIN_1_POINT="Sieg: 1 Punkt"
|
||||
COM_SPORTSMANAGER_WIN_2_POINTS="Sieg: 2 Punkte, Unentschieden: 1 Punkt"
|
||||
COM_SPORTSMANAGER_WIN_3_POINTS="Sieg: 3 Punkte, Unentschieden: 1 Punkt"
|
||||
COM_SPORTSMANAGER_MEETING_CONCLUDED_AT="Begegnung abgeschlossen bei"
|
||||
COM_SPORTSMANAGER_GAMES_IN_STATISTIK="Spiele in Spielerstatistik"
|
||||
COM_SPORTSMANAGER_GAMES_IN_STATISTIK_ALL="Alle Spiele"
|
||||
COM_SPORTSMANAGER_GENERALLY="Allgemein"
|
||||
COM_SPORTSMANAGER_TYPE="Typ"
|
||||
COM_SPORTSMANAGER_ELO_MIN="Elo min."
|
||||
@@ -514,7 +518,6 @@ COM_SPORTSMANAGER_ADD_POINTS_TABLE="Punktetabelle hinzufügen"
|
||||
COM_SPORTSMANAGER_ADD_FUNCTION="Funktion hinzufügen"
|
||||
COM_SPORTSMANAGER_PARTICIPANT="Teilnehmer"
|
||||
COM_SPORTSMANAGER_FUNCTION="Funktion"
|
||||
COM_SPORTSMANAGER_MULTIPLIER="Multiplikator"
|
||||
COM_SPORTSMANAGER_MAXIMUM="maximal"
|
||||
COM_SPORTSMANAGER_CONTRACTION="Kürzel"
|
||||
COM_SPORTSMANAGER_ELIGIBLE_ORGANIZERS="Berechtigte für Veranstalter"
|
||||
@@ -549,9 +552,22 @@ COM_SPORTSMANAGER_NO_RATING="Keine Wertung"
|
||||
COM_SPORTSMANAGER_TEAM_COMPETITIONS="Mannschaftswettbewerbe"
|
||||
COM_SPORTSMANAGER_TABLE_SUMMARY="Tabellenwertung"
|
||||
COM_SPORTSMANAGER_HEAD_TO_HEAD_RECORD="Direkter Vergleich"
|
||||
COM_SPORTSMANAGER_HEAD_TO_HEAD_OPT_NOT="deaktiviert"
|
||||
COM_SPORTSMANAGER_HEAD_TO_HEAD_OPT_POINTS="bei gleicher Punktzahl"
|
||||
COM_SPORTSMANAGER_HEAD_TO_HEAD_OPT_SETS="bei gleicher Punktzahl, Satzpunkte"
|
||||
COM_SPORTSMANAGER_HEAD_TO_HEAD_OPT_GOALS="bei gleicher Punktzahl, Satzpunkte, Tore"
|
||||
COM_SPORTSMANAGER_POINTS_WON_LOST_DIFFERENCE="Spielpunkte gewonnen, Spielpunkte verloren, Punktedifferenz"
|
||||
COM_SPORTSMANAGER_PERFORMANCE_INDEX="Leistungsindex (SP+ * SP+ * 100) / (SP+ + SP-), Spielpunkte gewonnen, ..."
|
||||
COM_SPORTSMANAGER_PERFORMANCE_INDEX0="Spielpunkte gewonnen, Spielpunkte verloren, Punktedifferenz"
|
||||
COM_SPORTSMANAGER_PERFORMANCE_INDEX1="Leistungsindex (SP+ * SP+ * 100) / (SP+ + SP-), Spielpunkte gewonnen, ..."
|
||||
COM_SPORTSMANAGER_PERFORMANCE_INDEX2="Leistungsindex (S * P+ * 10) / (P+ + P-), Spielpunkte gewonnen, ..."
|
||||
COM_SPORTSMANAGER_PERFORMANCE_INDEX3="Race Performance Index (Siege*2 + Unentschieden + Tordifferenz)"
|
||||
COM_SPORTSMANAGER_PERFORMANCE_INDEX4="Effizienzindex (T+ / (T+ + T-))"
|
||||
COM_SPORTSMANAGER_PERFORMANCE_INDEX5="Punkteschnitt (P+ / Anzahl Sätze)"
|
||||
COM_SPORTSMANAGER_PERFORMANCE_SHORT1="LI"
|
||||
COM_SPORTSMANAGER_PERFORMANCE_SHORT2="LI"
|
||||
COM_SPORTSMANAGER_PERFORMANCE_SHORT3="RPI"
|
||||
COM_SPORTSMANAGER_PERFORMANCE_SHORT4="EI"
|
||||
COM_SPORTSMANAGER_PERFORMANCE_SHORT5="AVG"
|
||||
COM_SPORTSMANAGER_INDIVIDUAL_STATISTICS="Einzelstatistik aus allen Spielen"
|
||||
COM_SPORTSMANAGER_INDIVIDUAL_STATISTICS_SINGLES="Einzelstatistik aus Einzel-Spielen"
|
||||
COM_SPORTSMANAGER_INDIVIDUAL_STATISTICS_DOUBLES="Einzelstatistik aus Doppel-Spielen"
|
||||
@@ -575,7 +591,7 @@ COM_SPORTSMANAGER_PRIVATE_PLAYER_DATA="Private Spielerdaten in Vereins- und Mann
|
||||
COM_SPORTSMANAGER_ASSOCIATIONS_MEMBERSHIPS_MANAGE="Vereine und Mitgliedschaften verwalten"
|
||||
COM_SPORTSMANAGER_MANAGE_CLASSIFICATIONS="Einstufungen verwalten"
|
||||
COM_SPORTSMANAGER_MANAGE_TEAM_PLANS="Mannschaftsspielpläne verwalten"
|
||||
COM_SPORTSMANAGER_MANAGE_RULES_POSTPONEMENT="Verschieberegeln verwalten"
|
||||
COM_SPORTSMANAGER_MANAGE_RULES_POSTPONEMENT="Spielverlegungen/Verschieberegeln verwalten"
|
||||
COM_SPORTSMANAGER_MANAGE_VENUES="Spielorte verwalten"
|
||||
COM_SPORTSMANAGER_MANAGE_TEAM_COMPETITIONS="Mannschaftswettbewerbe verwalten"
|
||||
COM_SPORTSMANAGER_MANAGE_PLAYER_STATISTICS="Spielerstastistiken verwalten"
|
||||
@@ -810,7 +826,6 @@ COM_SPORTSMANAGER_APPLIED_FOR="Beantragt"
|
||||
COM_SPORTSMANAGER_DECLINED="Abgelehnt"
|
||||
COM_SPORTSMANAGER_DATE_DETAILS="Termin: Details"
|
||||
COM_SPORTSMANAGER_ADDITIONS="Zusätze"
|
||||
COM_SPORTSMANAGER_ADDITIONAL_INFORMATION="Weitere Informationen"
|
||||
COM_SPORTSMANAGER_PUBLIC_EMAIL="E-Mail öffentlich"
|
||||
COM_SPORTSMANAGER_EMAIL_WITH_CHANGES="E-Mail bei Änderungen"
|
||||
COM_SPORTSMANAGER_ACTION_TYPE="Aktionstyp"
|
||||
@@ -886,6 +901,9 @@ COM_SPORTSMANAGER_INITIAL_APPOINTMENT_SUGGESTIONS="Initiale Terminvorschläg
|
||||
COM_SPORTSMANAGER_REQUESTING_TEAM="Beantragende Mannschaft"
|
||||
COM_SPORTSMANAGER_OPPONENT_TEAM="Gegnerische Mannschaft"
|
||||
COM_SPORTSMANAGER_AGAINST_PROPOSALS_ALLOWED="Gegensvorschläge zulässig"
|
||||
COM_SPORTSMANAGER_REASON_REQUIRED="Begründung erforderlich"
|
||||
COM_SPORTSMANAGER_CLUB_ENTITLEMENT="Berechtigung Vereine"
|
||||
COM_SPORTSMANAGER_ASSOCIATION_ENTITLEMENT="Berechtigung Verband"
|
||||
COM_SPORTSMANAGER_LEAD_TIME="Vorlaufzeit"
|
||||
COM_SPORTSMANAGER_APPOINTMENT_PROPOSALS_MINIMAL="Terminvorschläge minimal"
|
||||
COM_SPORTSMANAGER_APPOINTMENT_PROPOSALS_MAXIMUM="Terminvorschläge maximal"
|
||||
@@ -897,6 +915,9 @@ COM_SPORTSMANAGER_RESULT_ONLY="Nur Ergebnis"
|
||||
COM_SPORTSMANAGER_GAME_NUMBER="Spiel %d"
|
||||
COM_SPORTSMANAGER_LABEL_GAME_NUMBER="Spiel Nr"
|
||||
COM_SPORTSMANAGER_LABEL_GAME_TITLE="Spieltag Titel"
|
||||
COM_SPORTSMANAGER_EXPLICIT_PENALTIES="Explizite Strafen"
|
||||
COM_SPORTSMANAGER_EXPLICIT_PENALTIES_EMAIL_SUBJECT="%s: Strafpunkte erhalten"
|
||||
COM_SPORTSMANAGER_EXPLICIT_PENALTIES_EMAIL_BODY="%s wurden %f Strafpunkte zugeteilt mit der Begründung: %s"
|
||||
COM_SPORTSMANAGER_EMAIL_SHIFT_GAME_APPOINTMENT_SUBJECT="%s vs %s: Spieltermin verlegen"
|
||||
COM_SPORTSMANAGER_EMAIL_SHIFT_GAME_APPOINTMENT_BODY="Zur Begegnung %s gegen %s am %s in %s wird von %s der Spieltermin verschoben.\n\nAlternative Termine:\n\n"
|
||||
COM_SPORTSMANAGER_EMAIL_SHIFT_GAME_APPOINTMENT_REQUESTED_BODY="Zur Begegnung %s gegen %s am %s in %s wird von %s der Spieltermin verschoben.\n\nBitte alternative Termine vorschlagen unter %s"
|
||||
@@ -1018,3 +1039,80 @@ COM_SPORTSMANAGER_NUM_REQUESTED_SHIFTS="Verschiebungen"
|
||||
COM_SPORTSMANAGER_NUM_REQUESTED_SHFITS_TOOLTIP="Spielverschiebungen durch diese Mannschaft"
|
||||
COM_SPORTSMANAGER_GAME_RESULT_DELAYS="Verzögerung"
|
||||
COM_SPORTSMANAGER_USE_EMAIL_REMINDERS="Verwende Email Erinnerungen"
|
||||
COM_SPORTSMANAGER_RULEBOOKS="Regelwerke"
|
||||
COM_SPORTSMANAGER_RULEBOOK="Regelwerk"
|
||||
COM_SPORTSMANAGER_RULE_SHORT="SPO"
|
||||
COM_SPORTSMANAGER_FEE_SHORT="GO"
|
||||
COM_SPORTSMANAGER_RULE_LONG="Paragraph SPO"
|
||||
COM_SPORTSMANAGER_FEE_LONG="Paragraph GO"
|
||||
COM_SPORTSMANAGER_SELECT="Auswahl"
|
||||
COM_SPORTSMANAGER_NO_SELECT="keine Auswahl"
|
||||
COM_SPORTSMANAGER_REALLY_REMOVE_RULEBOOK="Willst Du dieses Regelwerk wirklich entfernen?"
|
||||
COM_SPORTSMANAGER_ADD_RULEBOOK="Regelwerk hinzufügen"
|
||||
COM_SPORTSMANAGER_DISCIPLINARY_FINES="Ordnungsstrafen"
|
||||
COM_SPORTSMANAGER_DISCIPLINARY_FINE="Ordnungsstrafe"
|
||||
COM_SPORTSMANAGER_ISSUE_DISCIPLINARY_FINES="Ordnungsstrafe ausstellen"
|
||||
COM_SPORTSMANAGER_EDIT_DISCIPLINARY_FINE="Ordnungsstrafe bearbeiten"
|
||||
COM_SPORTSMANAGER_SEND_DISCIPLINARY_FINE="Ordnungsstrafe versenden"
|
||||
COM_SPORTSMANAGER_REALLY_REMOVE_DISCIPLINARY_FINES="Willst Du diese Ordnungsstrafe wirklich entfernen?"
|
||||
COM_SPORTSMANAGER_VIOLATIONS="Verstöße"
|
||||
COM_SPORTSMANAGER_VIOLATION="Verstoß"
|
||||
COM_SPORTSMANAGER_ADD_VIOLATION="Verstoß hinzufügen"
|
||||
COM_SPORTSMANAGER_REALLY_REMOVE_VIOLATION="Willst Du diesen Verstoß wirklich entfernen?"
|
||||
COM_SPORTSMANAGER_VIOLATION_TEXT="Text"
|
||||
COM_SPORTSMANAGER_VIOLATION_ADD_TEXT="Zusatztext"
|
||||
COM_SPORTSMANAGER_FEE="Gebühr"
|
||||
COM_SPORTSMANAGER_ADD_FEE="Zusatzgebühr"
|
||||
COM_SPORTSMANAGER_SELECTABLE="Auswählbar"
|
||||
COM_SPORTSMANAGER_TEMPLATE="Vorlage"
|
||||
COM_SPORTSMANAGER_EMAIL_SUBJECT="Betreff"
|
||||
COM_SPORTSMANAGER_EMAIL_MESSAGE="Nachricht"
|
||||
COM_SPORTSMANAGER_EMAIL_TO="An"
|
||||
COM_SPORTSMANAGER_EMAIL_SEND="E-Mail senden"
|
||||
COM_SPORTSMANAGER_EMAIL_TEXT_TEMPLATE="Textvorlage"
|
||||
COM_SPORTSMANAGER_ISSUER="Aussteller"
|
||||
COM_SPORTSMANAGER_ISSUE_DATE="Ausstelldatum"
|
||||
COM_SPORTSMANAGER_SENDER="Sender"
|
||||
COM_SPORTSMANAGER_BILL_ISSUER="Rechnung erstellt"
|
||||
COM_SPORTSMANAGER_MULTIPLIER="Multiplikator"
|
||||
COM_SPORTSMANAGER_ADDITIONAL_INFORMATION="Weitere Angaben"
|
||||
COM_SPORTSMANAGER_EMAIL_WAS_SEND="Die E-Mail wurde erfolgreich versendet"
|
||||
COM_SPORTSMANAGER_EMAIL_WAS_NOT_SEND="Die E-Mail wurde nicht versendet"
|
||||
COM_SPORTSMANAGER_OLD_DATE="Alter Termin"
|
||||
COM_SPORTSMANAGER_NEW_DATE="Neuer Termin"
|
||||
COM_SPORTSMANAGER_REASON_GAME_APPOINTMENT="Verlegungsgrund"
|
||||
COM_SPORTSMANAGER_MATCH_RESCHEDULINGS="Spielverlegungen"
|
||||
COM_SPORTSMANAGER_MATCH_RESCHEDULING="Spielverlegung"
|
||||
COM_SPORTSMANAGER_MATCH_SWAPPING_HELP="Bei Heimrechttausch gleichen Termin eintragen"
|
||||
COM_SPORTSMANAGER_NOT_VALID_TIME="Ungültige Uhrzeit"
|
||||
COM_SPORTSMANAGER_REALLY_MATCH_RESCHEDULING="Willst Du diesen Spielverlegung wirklich entfernen?"
|
||||
COM_SPORTSMANAGER_REST_DAYS="Ruhetage"
|
||||
COM_SPORTSMANAGER_TRAINING_DAYS="Trainingstage"
|
||||
COM_SPORTSMANAGER_NOT_ACTUALIZED_DATA="Nicht aktualisierte Daten"
|
||||
COM_SPORTSMANAGER_ASSOCIATION_BODIES="Verbandsorgane"
|
||||
COM_SPORTSMANAGER_ASSOCIATION_BODY="Verbandsorgan"
|
||||
COM_SPORTSMANAGER_ADD_ASSOCIATION_BODY="Verbandsorgan hinzufügen"
|
||||
COM_SPORTSMANAGER_REALLY_REMOVE_ASSOCIATION_BODY="Willst Du dieses Verbandsorgan wirklich entfernen?"
|
||||
COM_SPORTSMANAGER_INVALID_ASSOCIATION_BODY_NAME="Ungültiger Name für Verbandsorgan!"
|
||||
COM_SPORTSMANAGER_NAME_NOT_COMPLETE="Der Name ist nicht komplett ausgefüllt"
|
||||
COM_SPORTSMANAGER_ADDITIONAL_INFO="Zusatzinfo"
|
||||
COM_SPORTSMANAGER_USE_HTML="Hier sollte HTML-formatierter Text verwendet werden"
|
||||
COM_SPORTSMANAGER_REALLY_REMOVE_ASSOCIATION_BODY_MEMBER="Möchtest du dieses Mitglied des Verbandsorgans wirklich entfernen?"
|
||||
COM_SPORTSMANAGER_HELP_EDIT_ASSOCIATION_BODY_MEMBER="Wird ein Name aus der Spielerliste ausgewählt, werden Nachname und Vorname übernommen.<br>Telefon, Mobil, E-Mail werden aus der Spielerliste übernommen, wenn sie hier nicht ausgefüllt sind."
|
||||
COM_SPORTSMANAGER_HALL_OF_FAME="Hall of Fame"
|
||||
COM_SPORTSMANAGER_ADD_HALL_OF_FAME="Hall of Fame hinzufügen"
|
||||
COM_SPORTSMANAGER_INVALID_HALL_OF_FAME_NAME="Invalider Name für Hall of Fame"
|
||||
COM_SPORTSMANAGER_REALLY_REMOVE_HALL_OF_FAME="Willst Du wirklich diese Hall of Fame mit allen Mitgliedern löschen?"
|
||||
COM_SPORTSMANAGER_MATCH_TYPE="Spielform"
|
||||
COM_SPORTSMANAGER_REALLY_REMOVE_HALL_OF_FAME_YEAR="Willst Du wirklich dieses Hall of Fame Jahr löschen?"
|
||||
COM_SPORTSMANAGER_YEARS="Jahre"
|
||||
COM_SPORTSMANAGER_ADD_HALL_OF_FAME_YEAR="Hall of Fame Jahr hinzufügen"
|
||||
COM_SPORTSMANAGER_NO_ENTRY="kein Eintrag"
|
||||
COM_SPORTSMANAGER_REALLY_SWAP_MATCH="Willst Du wirklich das Heimrecht tauschen?"
|
||||
COM_SPORTSMANAGER_SWAP_MATCH="Heimrechttausch"
|
||||
COM_SPORTSMANAGER_REALLY_DELETE_MATCH_REPORT="Der Spielbericht wird zusammen mit allen historischen Einträgen gelöscht. Willst du den Spielbericht wirklich löschen?"
|
||||
COM_SPORTSMANAGER_MATCH_REPORT_DELETED="Spielbericht gelöscht"
|
||||
COM_SPORTSMANAGER_MATCH_REPORT_WAS_DELETED="Der Spielbericht wurde erfolgreich gelöscht!"
|
||||
COM_SPORTSMANAGER_MATCH_REPORT_CORRECTED="Spielberichtskorrektur"
|
||||
COM_SPORTSMANAGER_MIN_MATCHES="Mindestzahl Spiele"
|
||||
COM_SPORTSMANAGER_SELECT_ALL="Alle"
|
||||
@@ -39,6 +39,7 @@ COM_SPORTSMANAGER_ORGANISATION="Organisation"
|
||||
COM_SPORTSMANAGER_TEAM_MEMBERS="Team members"
|
||||
COM_SPORTSMANAGER_TEAM_MEMBERS2="Club members"
|
||||
COM_SPORTSMANAGER_MEMBERS="Members"
|
||||
COM_SPORTSMANAGER_MEMBER="Member"
|
||||
COM_SPORTSMANAGER_ACTIVE_MEMBERS="Active members"
|
||||
COM_SPORTSMANAGER_TEAMS="Teams"
|
||||
COM_SPORTSMANAGER_CURRENT_TEAMS="Current teams"
|
||||
@@ -72,7 +73,6 @@ COM_SPORTSMANAGER_CONFIRM_REMOVE_RANKING="Do you really want to remove the ranki
|
||||
COM_SPORTSMANAGER_ADD_INDIVIDUAL_COMPETITION="Add individual competition"
|
||||
COM_SPORTSMANAGER_INDIVIDUAL_COMPETITION="Individual competition"
|
||||
COM_SPORTSMANAGER_INDIVIDUAL_COMPETITIONS="Individual competitions"
|
||||
COM_SPORTSMANAGER_ASSOCIATION_BODIES="Association bodies"
|
||||
COM_SPORTSMANAGER_GAME="Game"
|
||||
COM_SPORTSMANAGER_GAMES="Games"
|
||||
COM_SPORTSMANAGER_GAMES_SHORTCUT="G"
|
||||
@@ -157,6 +157,7 @@ COM_SPORTSMANAGER_DEFEAT="Defeat"
|
||||
COM_SPORTSMANAGER_DEFEATS="Defeats"
|
||||
COM_SPORTSMANAGER_DEFEATS_SHORTCUT="F"
|
||||
COM_SPORTSMANAGER_GOALS="Goals"
|
||||
COM_SPORTSMANAGER_GOALS_SHORTCUT="G"
|
||||
COM_SPORTSMANAGER_SETS="Sets"
|
||||
COM_SPORTSMANAGER_POINT="Point"
|
||||
COM_SPORTSMANAGER_POINTS="Points"
|
||||
@@ -169,9 +170,9 @@ COM_SPORTSMANAGER_GAME_POINTS="Game points"
|
||||
COM_SPORTSMANAGER_GAME_POINTS_SHORTCUT="GP"
|
||||
COM_SPORTSMANAGER_SUFFIX_ONE_TEAM=" (one team)"
|
||||
COM_SPORTSMANAGER_SUFFIX_TEAMS_TOGETHER=" (teams together)"
|
||||
COM_SPORTSMANAGER_DIFFERENCE="Difference"
|
||||
COM_SPORTSMANAGER_DIFFERENCE_IN_POINTS="Difference in points"
|
||||
COM_SPORTSMANAGER_POINTS_RATIO="Points ratio"
|
||||
COM_SPORTSMANAGER_DIFFERENCE="Goal difference"
|
||||
COM_SPORTSMANAGER_DIFFERENCE_IN_POINTS="Difference in game points"
|
||||
COM_SPORTSMANAGER_POINTS_RATIO="Game points ratio"
|
||||
COM_SPORTSMANAGER_SCHEDULE_DATE="Appointment date"
|
||||
COM_SPORTSMANAGER_TEAM_HOME="Home"
|
||||
COM_SPORTSMANAGER_TEAM_VISITOR="Visitor"
|
||||
@@ -296,10 +297,9 @@ COM_SPORTSMANAGER_REQUEST_MESSAGE_PLURAL="At least %d dates must be given comple
|
||||
COM_SPORTSMANAGER_REJECT_SHIFT="Reject shift"
|
||||
COM_SPORTSMANAGER_TO="until"
|
||||
COM_SPORTSMANAGER_PLAYER_STATISTICS="Player statistics"
|
||||
COM_SPORTSMANAGER_PERFORMANCE_INDEX_SHORTCUT="PI"
|
||||
COM_SPORTSMANAGER_WON="won"
|
||||
COM_SPORTSMANAGER_LOST="lost"
|
||||
COM_SPORTSMANAGER_RATE="Rate"
|
||||
COM_SPORTSMANAGER_RATE="Winning rate"
|
||||
COM_SPORTSMANAGER_RATE_SHORTCUT="R"
|
||||
COM_SPORTSMANAGER_NO_CLUB="No club"
|
||||
COM_SPORTSMANAGER_RATING="Rating"
|
||||
@@ -321,6 +321,7 @@ COM_SPORTSMANAGER_VIEW_LEAST_MEMBER_COUNT="Show least member count (teams)"
|
||||
COM_SPORTSMANAGER_SHOW_ORGANISATION="Show organisation (teams)"
|
||||
COM_SPORTSMANAGER_SHOW_MEMBER_COUNT="Show member column (teams)"
|
||||
COM_SPORTSMANAGER_SHOW_TOURNAMENT_BRACKET="Show Tournament Bracket"
|
||||
COM_SPORTSMANAGER_USE_DISCIPLINARY_FINE="Use disciplinary fine"
|
||||
COM_SPORTSMANAGER_PLAYER_DETAILS="Player details"
|
||||
COM_SPORTSMANAGER_PLAYER_LIST_DETAILS="Player list details"
|
||||
COM_SPORTSMANAGER_PLAYER_EDIT="Edit player data by organisation/club contacts"
|
||||
@@ -361,8 +362,9 @@ COM_SPORTSMANAGER_PLAYERS_EXPORT_SPORT_SOFTWARE="Export players (Sport Software)
|
||||
COM_SPORTSMANAGER_CLEANUP_INACTIVE_PLAYERS="Cleanup inactive players"
|
||||
COM_SPORTSMANAGER_STATISTIK="Statistics"
|
||||
COM_SPORTSMANAGER_PLAYERS_ACTIVE="Players active"
|
||||
COM_SPORTSMANAGER_RESTRICTED_PLAYERS="Players restrited"
|
||||
COM_SPORTSMANAGER_RESTRICTED_PLAYERS="Players restricted"
|
||||
COM_SPORTSMANAGER_PLAYER_PASSIV="Players passive"
|
||||
COM_SPORTSMANAGER_PLAYER_UNATTACHED="Players unattached"
|
||||
COM_SPORTSMANAGER_MEN_ACTIVE="Male active"
|
||||
COM_SPORTSMANAGER_WOMEN_ACTIVE="Female active"
|
||||
COM_SPORTSMANAGER_JUNIOR_ACTIVE="Juniors active"
|
||||
@@ -413,7 +415,7 @@ COM_SPORTSMANAGER_EXPORT="Export"
|
||||
COM_SPORTSMANAGER_INTERNATIONAL_PLAYERS="Players (international)"
|
||||
COM_SPORTSMANAGER_COUNTRY_CODE="Country code"
|
||||
COM_SPORTSMANAGER_IMPORT="Import"
|
||||
COM_SPORTSMANAGER_IMPORT_MESSAGE="In the import there are only player information about club %s present. Shall only the members of that one club be updated, the associated club has to be selected down here. If the import contains all members of the organisation then the organisation must be selected."
|
||||
COM_SPORTSMANAGER_IMPORT_MESSAGE="In the import there are only player information about club %s present. Shall only the members of that one club be updated, the associated club has to be selected down here. If the import contains all members of the organisation then the organisation must be selected.<br />If a license number already exists, the license number and the year of birth will not be overwritten."
|
||||
COM_SPORTSMANAGER_CHECK="Check"
|
||||
COM_SPORTSMANAGER_IMPORT_CONFLICTS_MESSAGE="There are faults or conflicts in the import which have to be fixed manually first."
|
||||
COM_SPORTSMANAGER_IMPORT_DUPLICATE_MESSAGE="Attempt to change player number into one that is already assigned to another player."
|
||||
@@ -498,6 +500,8 @@ COM_SPORTSMANAGER_WIN_1_POINT="Win: 1 point"
|
||||
COM_SPORTSMANAGER_WIN_2_POINTS="Win: 2 points, draw: 1 point"
|
||||
COM_SPORTSMANAGER_WIN_3_POINTS="Win: 3 points, draw: 1 point"
|
||||
COM_SPORTSMANAGER_MEETING_CONCLUDED_AT="Match won at"
|
||||
COM_SPORTSMANAGER_GAMES_IN_STATISTIK="Games in player statistics"
|
||||
COM_SPORTSMANAGER_GAMES_IN_STATISTIK_ALL="All games"
|
||||
COM_SPORTSMANAGER_GENERALLY="Generally"
|
||||
COM_SPORTSMANAGER_TYPE="Type"
|
||||
COM_SPORTSMANAGER_ELO_MIN="Elo min."
|
||||
@@ -514,7 +518,6 @@ COM_SPORTSMANAGER_ADD_POINTS_TABLE="Add points table"
|
||||
COM_SPORTSMANAGER_ADD_FUNCTION="Add function"
|
||||
COM_SPORTSMANAGER_PARTICIPANT="Participants"
|
||||
COM_SPORTSMANAGER_FUNCTION="Function"
|
||||
COM_SPORTSMANAGER_MULTIPLIER="Multiplier"
|
||||
COM_SPORTSMANAGER_MAXIMUM="maximum"
|
||||
COM_SPORTSMANAGER_CONTRACTION="Contraction"
|
||||
COM_SPORTSMANAGER_ELIGIBLE_ORGANIZERS="Eligible for organisation"
|
||||
@@ -549,9 +552,22 @@ COM_SPORTSMANAGER_NO_RATING="No rating"
|
||||
COM_SPORTSMANAGER_TEAM_COMPETITIONS="Team competitions"
|
||||
COM_SPORTSMANAGER_TABLE_SUMMARY="Table rating"
|
||||
COM_SPORTSMANAGER_HEAD_TO_HEAD_RECORD="Head-to-head record"
|
||||
COM_SPORTSMANAGER_HEAD_TO_HEAD_OPT_NOT="Off"
|
||||
COM_SPORTSMANAGER_HEAD_TO_HEAD_OPT_POINTS="Tie: pts"
|
||||
COM_SPORTSMANAGER_HEAD_TO_HEAD_OPT_SETS="Tie: pts, set points"
|
||||
COM_SPORTSMANAGER_HEAD_TO_HEAD_OPT_GOALS="Tie: pts, set points, goals"
|
||||
COM_SPORTSMANAGER_POINTS_WON_LOST_DIFFERENCE="Game points won, game points lost, point difference"
|
||||
COM_SPORTSMANAGER_PERFORMANCE_INDEX="Performance index (GP+ * GP+ * 100) / (GP+ + GP-), game points won, ..."
|
||||
COM_SPORTSMANAGER_PERFORMANCE_INDEX0="Game points won, game points lost, point difference"
|
||||
COM_SPORTSMANAGER_PERFORMANCE_INDEX1="Performance index (GP+ * GP+ * 100) / (GP+ + GP-), game points won, ..."
|
||||
COM_SPORTSMANAGER_PERFORMANCE_INDEX2="Performance index (games * P+ * 10) / (P+ + P-), game points won, ..."
|
||||
COM_SPORTSMANAGER_PERFORMANCE_INDEX3="Race Performance Index (victories*2 + draws + goal difference)"
|
||||
COM_SPORTSMANAGER_PERFORMANCE_INDEX4="Efficency index (G+ / (G+ + G-))"
|
||||
COM_SPORTSMANAGER_PERFORMANCE_INDEX5="Set point average (P+ / count sets)"
|
||||
COM_SPORTSMANAGER_PERFORMANCE_SHORT1="LI"
|
||||
COM_SPORTSMANAGER_PERFORMANCE_SHORT2="LI"
|
||||
COM_SPORTSMANAGER_PERFORMANCE_SHORT3="RPI"
|
||||
COM_SPORTSMANAGER_PERFORMANCE_SHORT4="EI"
|
||||
COM_SPORTSMANAGER_PERFORMANCE_SHORT5="AVG"
|
||||
COM_SPORTSMANAGER_INDIVIDUAL_STATISTICS="Individual statistics of all games"
|
||||
COM_SPORTSMANAGER_INDIVIDUAL_STATISTICS_SINGLES="Individual statistics of singles games"
|
||||
COM_SPORTSMANAGER_INDIVIDUAL_STATISTICS_DOUBLES="Individual statistics of doubles games"
|
||||
@@ -575,7 +591,7 @@ COM_SPORTSMANAGER_PRIVATE_PLAYER_DATA="View privat player information in club an
|
||||
COM_SPORTSMANAGER_ASSOCIATIONS_MEMBERSHIPS_MANAGE="Manage clubs and memberships"
|
||||
COM_SPORTSMANAGER_MANAGE_CLASSIFICATIONS="Manage classifications"
|
||||
COM_SPORTSMANAGER_MANAGE_TEAM_PLANS="Manage team plans"
|
||||
COM_SPORTSMANAGER_MANAGE_RULES_POSTPONEMENT="Manage postpone rules"
|
||||
COM_SPORTSMANAGER_MANAGE_RULES_POSTPONEMENT="Manage match rescheduling/postpone rules"
|
||||
COM_SPORTSMANAGER_MANAGE_VENUES="Manage venues"
|
||||
COM_SPORTSMANAGER_MANAGE_TEAM_COMPETITIONS="Manage team competitions"
|
||||
COM_SPORTSMANAGER_MANAGE_PLAYER_STATISTICS="Manage player statitics"
|
||||
@@ -810,7 +826,6 @@ COM_SPORTSMANAGER_APPLIED_FOR="Applied"
|
||||
COM_SPORTSMANAGER_DECLINED="Declined"
|
||||
COM_SPORTSMANAGER_DATE_DETAILS="Event: Details"
|
||||
COM_SPORTSMANAGER_ADDITIONS="Additions"
|
||||
COM_SPORTSMANAGER_ADDITIONAL_INFORMATION="Additional information"
|
||||
COM_SPORTSMANAGER_PUBLIC_EMAIL="E-mail public"
|
||||
COM_SPORTSMANAGER_EMAIL_WITH_CHANGES="E-mail for changes"
|
||||
COM_SPORTSMANAGER_ACTION_TYPE="Action type"
|
||||
@@ -886,6 +901,9 @@ COM_SPORTSMANAGER_INITIAL_APPOINTMENT_SUGGESTIONS="Initial appointment suggestio
|
||||
COM_SPORTSMANAGER_REQUESTING_TEAM="Requesting team"
|
||||
COM_SPORTSMANAGER_OPPONENT_TEAM="Opponent team"
|
||||
COM_SPORTSMANAGER_AGAINST_PROPOSALS_ALLOWED="Against proposals allowed"
|
||||
COM_SPORTSMANAGER_REASON_REQUIRED="Reason required"
|
||||
COM_SPORTSMANAGER_CLUB_ENTITLEMENT="Club entitlement"
|
||||
COM_SPORTSMANAGER_ASSOCIATION_ENTITLEMENT="Association_entitlement"
|
||||
COM_SPORTSMANAGER_LEAD_TIME="Lead time"
|
||||
COM_SPORTSMANAGER_APPOINTMENT_PROPOSALS_MINIMAL="Appointment proposals minimal"
|
||||
COM_SPORTSMANAGER_APPOINTMENT_PROPOSALS_MAXIMUM="Appointment proposals maximum"
|
||||
@@ -897,6 +915,9 @@ COM_SPORTSMANAGER_RESULT_ONLY="Result only"
|
||||
COM_SPORTSMANAGER_GAME_NUMBER="Game %d"
|
||||
COM_SPORTSMANAGER_LABEL_GAME_NUMBER="Game nr"
|
||||
COM_SPORTSMANAGER_LABEL_GAME_TITLE="Gameday title"
|
||||
COM_SPORTSMANAGER_EXPLICIT_PENALTIES="Explicit Penalties"
|
||||
COM_SPORTSMANAGER_EXPLICIT_PENALTIES_EMAIL_SUBJECT="%s: received penalty"
|
||||
COM_SPORTSMANAGER_EXPLICIT_PENALTIES_EMAIL_BODY="%s received a penalty of %f points based on the following justification: %s"
|
||||
COM_SPORTSMANAGER_EMAIL_SHIFT_GAME_APPOINTMENT_SUBJECT="%s vs %s: Shift game appointment"
|
||||
COM_SPORTSMANAGER_EMAIL_SHIFT_GAME_APPOINTMENT_BODY="For match %s versus %s on %s in %s the game appointment is shifted by %s.\n\nAlternative appointments:\n\n"
|
||||
COM_SPORTSMANAGER_EMAIL_SHIFT_GAME_APPOINTMENT_REQUESTED_BODY="For match %s on %s in %s the game appointment is shifted by %s.\n\nPlease propose alternative appointments under %s"
|
||||
@@ -949,8 +970,10 @@ COM_SPORTSMANAGER_NON_SMOKING_PROTECTION_MARK_NO=" (Kein Nichtraucherschutz)"
|
||||
COM_SPORTSMANAGER_POINTS_TABLE="Points table"
|
||||
COM_SPORTSMANAGER_EVALUATION="Auswertung"
|
||||
COM_SPORTSMANAGER_FUNCTION_DESCRIPTION="Variables: n = number of participants, p = place, m = multiplier of rating and in doubles possibly additionally reduced rating<br />Functions: +, -, *, /, round(x), pow(x), if(a > b, x, y), min(x, y), max(x, y), log(x), ln(x), logn(b, x)<br />VerteilungR(r, p, n, m) := max(round((((m * r - 1) * (-log(p / n) * (1 - (p / n)))) / (-log(1 / n) * (1 - (1 / n)))) + 1), 1)<br />Verteilung(r, p, n, m) := max(round(m * round((((r - 1) * (-log(p / n) * (1 - (p / n)))) / (-log(1 / n) * (1 - (1 / n)))) + 1)), 1)<br /><br />The functions VerteilungR() and Verteilung() distribute points for place 1 (r) descending to the individual places (p) of the number of participants (n).<br />VerteilungR() applies the multiplier (m) to the points for 1st place and then distributes down to 1 point for the last place.<br />Verteilung() applies the multiplier (m) to the points after the calculation, i.e. the last place receives 1 * m points."
|
||||
COM_SPORTSMANAGER_LIZENZ="License"
|
||||
COM_SPORTSMANAGER_RANK="Rank"
|
||||
|
||||
; Edit Player
|
||||
COM_SPORTSMANAGER_LIZENZ="License"
|
||||
COM_SPORTSMANAGER_ARIA_LABEL_MATCHDAY_SELECT="Choose a match day"
|
||||
COM_SPORTSMANAGER_ARIA_LABEL_PROPOSAL_DAY="Choose the day of the match proposal"
|
||||
COM_SPORTSMANAGER_ARIA_LABEL_PROPOSAL_MONTH="Choose the month of the match proposal"
|
||||
@@ -1016,3 +1039,80 @@ COM_SPORTSMANAGER_NUM_REQUESTED_SHIFTS="Shifts"
|
||||
COM_SPORTSMANAGER_NUM_REQUESTED_SHFITS_TOOLTIP="Game shifts caused by this team"
|
||||
COM_SPORTSMANAGER_GAME_RESULT_DELAYS="Delay"
|
||||
COM_SPORTSMANAGER_USE_EMAIL_REMINDERS="Use email reminders"
|
||||
COM_SPORTSMANAGER_RULEBOOKS="Rulebooks"
|
||||
COM_SPORTSMANAGER_RULEBOOK="Rulebook"
|
||||
COM_SPORTSMANAGER_RULE_SHORT="Rule"
|
||||
COM_SPORTSMANAGER_FEE_SHORT="Section fees"
|
||||
COM_SPORTSMANAGER_RULE_LONG="Section rules"
|
||||
COM_SPORTSMANAGER_FEE_LONG="Fee"
|
||||
COM_SPORTSMANAGER_SELECT="Select"
|
||||
COM_SPORTSMANAGER_NO_SELECT="No selection"
|
||||
COM_SPORTSMANAGER_REALLY_REMOVE_RULEBOOK="Do you really want to remove this rulebook?"
|
||||
COM_SPORTSMANAGER_ADD_RULEBOOK="Add rulebook"
|
||||
COM_SPORTSMANAGER_DISCIPLINARY_FINES="Disciplinary fines"
|
||||
COM_SPORTSMANAGER_ISSUE_DISCIPLINARY_FINES="Issue disciplinary fines"
|
||||
COM_SPORTSMANAGER_ISSUE_DISCIPLINARY_FINE="Issue disciplinary fine"
|
||||
COM_SPORTSMANAGER_EDIT_DISCIPLINARY_FINE="Edit issue disciplinary fine"
|
||||
COM_SPORTSMANAGER_SEND_DISCIPLINARY_FINE="Send issue disciplinary fine"
|
||||
COM_SPORTSMANAGER_REALLY_REMOVE_DISCIPLINARY_FINES="Do you really want to remove this Issue disciplinary fine?"
|
||||
COM_SPORTSMANAGER_VIOLATIONS="Violations"
|
||||
COM_SPORTSMANAGER_VIOLATION="Violation"
|
||||
COM_SPORTSMANAGER_ADD_VIOLATION="Add violation"
|
||||
COM_SPORTSMANAGER_REALLY_REMOVE_VIOLATION="Do you really want to remove this violation?"
|
||||
COM_SPORTSMANAGER_VIOLATION_TEXT="Text"
|
||||
COM_SPORTSMANAGER_VIOLATION_ADD_TEXT="Additional text"
|
||||
COM_SPORTSMANAGER_FEE="Fee"
|
||||
COM_SPORTSMANAGER_ADD_FEE="Additional Fee"
|
||||
COM_SPORTSMANAGER_SELECTABLE="Selectable"
|
||||
COM_SPORTSMANAGER_TEMPLATE="Template"
|
||||
COM_SPORTSMANAGER_EMAIL_SUBJECT="Subject"
|
||||
COM_SPORTSMANAGER_EMAIL_MESSAGE="Message"
|
||||
COM_SPORTSMANAGER_EMAIL_TO="to"
|
||||
COM_SPORTSMANAGER_EMAIL_SEND="Send E-Mail"
|
||||
COM_SPORTSMANAGER_EMAIL_TEXT_TEMPLATE="Text template"
|
||||
COM_SPORTSMANAGER_ISSUER="Issuer"
|
||||
COM_SPORTSMANAGER_SENDER="Sender"
|
||||
COM_SPORTSMANAGER_ISSUE_DATE="Issue date"
|
||||
COM_SPORTSMANAGER_BILL_ISSUER="Bill issuer"
|
||||
COM_SPORTSMANAGER_MULTIPLIER="Multiplier"
|
||||
COM_SPORTSMANAGER_ADDITIONAL_INFORMATION="Additional information"
|
||||
COM_SPORTSMANAGER_EMAIL_WAS_SEND="E-Mail was succesfully sent"
|
||||
COM_SPORTSMANAGER_EMAIL_WAS_NOT_SEND="E-Mail was not sent"
|
||||
COM_SPORTSMANAGER_OLD_DATE="Old Date"
|
||||
COM_SPORTSMANAGER_NEW_DATE="New Date"
|
||||
COM_SPORTSMANAGER_REASON_GAME_APPOINTMENT="Appointment reason"
|
||||
COM_SPORTSMANAGER_MATCH_RESCHEDULINGS="Match reschedulings"
|
||||
COM_SPORTSMANAGER_MATCH_RESCHEDULING="Match rescheduling"
|
||||
COM_SPORTSMANAGER_MATCH_SWAPPING_HELP="If home advantage is swapped, enter the same date"
|
||||
COM_SPORTSMANAGER_NOT_VALID_TIME="Not valid time"
|
||||
COM_SPORTSMANAGER_REALLY_MATCH_RESCHEDULING="Do you really want to remove this match rescheduling?"
|
||||
COM_SPORTSMANAGER_REST_DAYS="Rest days"
|
||||
COM_SPORTSMANAGER_TRAINING_DAYS="Training days"
|
||||
COM_SPORTSMANAGER_NOT_ACTUALIZED_DATA="Data not updated"
|
||||
COM_SPORTSMANAGER_ASSOCIATION_BODIES="Association bodies"
|
||||
COM_SPORTSMANAGER_ASSOCIATION_BODY="Association body"
|
||||
COM_SPORTSMANAGER_ADD_ASSOCIATION_BODY="Add association body"
|
||||
COM_SPORTSMANAGER_REALLY_REMOVE_ASSOCIATION_BODY="Do you really want to remove this association body?"
|
||||
COM_SPORTSMANAGER_INVALID_ASSOCIATION_BODY_NAME="Invalid association body name"
|
||||
COM_SPORTSMANAGER_NAME_NOT_COMPLETE="The name is not completely filled in"
|
||||
COM_SPORTSMANAGER_ADDITIONAL_INFO="Additional information"
|
||||
COM_SPORTSMANAGER_USE_HTML="HTML-formatted text should be used here."
|
||||
COM_SPORTSMANAGER_REALLY_REMOVE_ASSOCIATION_BODY_MEMBER="Do you really want to remove this association body member?"
|
||||
COM_SPORTSMANAGER_HELP_EDIT_ASSOCIATION_BODY_MEMBER="Selecting a name from the player list will fill in the first and last name.<br>Phone, mobile, and email are filled from the player list if left blank here."
|
||||
COM_SPORTSMANAGER_HALL_OF_FAME="Hall of Fame"
|
||||
COM_SPORTSMANAGER_ADD_HALL_OF_FAME="Add Hall of Fame"
|
||||
COM_SPORTSMANAGER_INVALID_HALL_OF_FAME_NAME="Invalid Hall of Fame name"
|
||||
COM_SPORTSMANAGER_REALLY_REMOVE_HALL_OF_FAME="Are you sure you want to delete this Hall of Fame including all its members?"
|
||||
COM_SPORTSMANAGER_MATCH_TYPE="Game Type"
|
||||
COM_SPORTSMANAGER_REALLY_REMOVE_HALL_OF_FAME_YEAR="Are you sure you want to delete this Hall of Fame year?"
|
||||
COM_SPORTSMANAGER_YEARS="Years"
|
||||
COM_SPORTSMANAGER_ADD_HALL_OF_FAME_YEAR="Add Hall of Fame Year"
|
||||
COM_SPORTSMANAGER_NO_ENTRY="no entry"
|
||||
COM_SPORTSMANAGER_REALLY_SWAP_MATCH="Do you really want to swap the home advantage?"
|
||||
COM_SPORTSMANAGER_SWAP_MATCH="Swap home advantage"
|
||||
COM_SPORTSMANAGER_REALLY_DELETE_MATCH_REPORT="The match report and all its history will be deleted. Are you sure you want to delete the match report?"
|
||||
COM_SPORTSMANAGER_MATCH_REPORT_DELETED="Match report deleted"
|
||||
COM_SPORTSMANAGER_MATCH_REPORT_WAS_DELETED="The match report has been successfully deleted!"
|
||||
COM_SPORTSMANAGER_MATCH_REPORT_CORRECTED="Match report corrected"
|
||||
COM_SPORTSMANAGER_MIN_MATCHES="Min count matches"
|
||||
COM_SPORTSMANAGER_SELECT_ALL="All"
|
||||
+205
-1
@@ -526,6 +526,7 @@ return new class () implements InstallerScriptInterface
|
||||
. "\n `bestenliste_id` int(11) NOT NULL DEFAULT '0',"
|
||||
. "\n `spieler_id` int(11) NOT NULL DEFAULT '0',"
|
||||
. "\n `spieler_2_id` int(11) DEFAULT NULL,"
|
||||
. "\n `team_id` INT(11) DEFAULT NULL,"
|
||||
. "\n `siege` smallint(6) DEFAULT NULL,"
|
||||
. "\n `unentschieden` smallint(6) DEFAULT NULL,"
|
||||
. "\n `niederlagen` smallint(6) DEFAULT NULL,"
|
||||
@@ -670,6 +671,9 @@ return new class () implements InstallerScriptInterface
|
||||
. "\n `ortsname` varchar(30) DEFAULT NULL,"
|
||||
. "\n `ortsteil` varchar(30) DEFAULT NULL,"
|
||||
. "\n `url` varchar(150) DEFAULT NULL,"
|
||||
. "\n `telefon` varchar(64) DEFAULT NULL,"
|
||||
. "\n `email` varchar(64) DEFAULT NULL,"
|
||||
. "\n `ruhetage` varchar(64) DEFAULT NULL,"
|
||||
. "\n `beschreibung` varchar(500) DEFAULT NULL,"
|
||||
. "\n `status` tinyint(1) NOT NULL DEFAULT '0',"
|
||||
. "\n PRIMARY KEY (`spielort_id`)"
|
||||
@@ -692,6 +696,7 @@ return new class () implements InstallerScriptInterface
|
||||
. "\n `heimspiel_wochentag` tinyint(4) DEFAULT NULL,"
|
||||
. "\n `heimspiel_uhrzeit` smallint(6) DEFAULT NULL,"
|
||||
. "\n `heimspielort_id` int(11) DEFAULT NULL,"
|
||||
. "\n `trainingstage` varchar(64) DEFAULT NULL,"
|
||||
. "\n `nichtraucherschutz` tinyint(4) DEFAULT '0',"
|
||||
. "\n `platz` smallint(6) DEFAULT NULL,"
|
||||
. "\n `gesamtpunkte` float(6,2) DEFAULT NULL,"
|
||||
@@ -718,6 +723,18 @@ return new class () implements InstallerScriptInterface
|
||||
$db->setQuery( $query );
|
||||
if (!$db->execute()) { die($db->stderr(true)); }
|
||||
|
||||
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_team_strafen` ("
|
||||
. "\n `team_strafen_id` int(11) NOT NULL AUTO_INCREMENT,"
|
||||
. "\n `zeitpunkt` datetime NOT NULL,"
|
||||
. "\n `moderator_user_id` int(11) DEFAULT NULL,"
|
||||
. "\n `team_id` int(11) NOT NULL DEFAULT '0',"
|
||||
. "\n `strafe` float(6,2) NOT NULL DEFAULT '0',"
|
||||
. "\n `beschreibung` text NOT NULL,"
|
||||
. "\n PRIMARY KEY (`team_strafen_id`)"
|
||||
. "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;";
|
||||
$db->setQuery( $query );
|
||||
if (!$db->execute()) { die($db->stderr(true)); }
|
||||
|
||||
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_teamansprechpartner` ("
|
||||
. "\n `kontaktperson_id` int(11) NOT NULL AUTO_INCREMENT,"
|
||||
. "\n `team_id` int(11) NOT NULL DEFAULT '0',"
|
||||
@@ -773,6 +790,7 @@ return new class () implements InstallerScriptInterface
|
||||
. "\n `spielpunkte_bedingung` tinyint(4) NOT NULL DEFAULT '0',"
|
||||
. "\n `spielernamen` tinyint(4) NOT NULL DEFAULT '0',"
|
||||
. "\n `heimtausch` tinyint(4) NOT NULL DEFAULT '0',"
|
||||
. "\n `spiele_in_spielerstatistik` tinyint(4) NOT NULL DEFAULT '0',"
|
||||
. "\n `modus` varchar(200) NOT NULL DEFAULT '',"
|
||||
. "\n `status` tinyint(4) NOT NULL DEFAULT '0',"
|
||||
. "\n PRIMARY KEY (`teamspiel_modus_id`)"
|
||||
@@ -1035,6 +1053,7 @@ return new class () implements InstallerScriptInterface
|
||||
. "\n `saison_id` int(11) NOT NULL DEFAULT '0',"
|
||||
. "\n `veranstalter_id` int(11) NOT NULL DEFAULT '0',"
|
||||
. "\n `bezeichnung` varchar(50) DEFAULT NULL,"
|
||||
. "\n `regelwerke_id` INT(11) NOT NULL DEFAULT '0',"
|
||||
. "\n `modus_id` int(11) NOT NULL DEFAULT '0',"
|
||||
. "\n `verschieberegel_id` int(11) NOT NULL DEFAULT '0',"
|
||||
. "\n `tabellenwertung` tinyint(4) NOT NULL DEFAULT '0',"
|
||||
@@ -1044,6 +1063,7 @@ return new class () implements InstallerScriptInterface
|
||||
. "\n `erster_tag` date NOT NULL DEFAULT '0000-00-00',"
|
||||
. "\n `letzter_tag` date DEFAULT NULL,"
|
||||
. "\n `elo_wertung` tinyint(4) DEFAULT NULL,"
|
||||
. "\n `explizite_strafen` tinyint(4) DEFAULT '0',"
|
||||
. "\n `logo_url` TINYTEXT NOT NULL,"
|
||||
. "\n `ticker_logo_url` TINYTEXT NOT NULL,"
|
||||
. "\n `status` tinyint(4) NOT NULL DEFAULT '0',"
|
||||
@@ -1104,6 +1124,9 @@ return new class () implements InstallerScriptInterface
|
||||
. "\n `termine_minimal` tinyint(4) NOT NULL DEFAULT '0',"
|
||||
. "\n `termine_maximal` tinyint(4) NOT NULL DEFAULT '0',"
|
||||
. "\n `ablehnen` tinyint(1) NOT NULL DEFAULT '0',"
|
||||
. "\n `begruendung_erforderlich` int(1) NOT NULL DEFAULT 0,"
|
||||
. "\n `vereine_berechtigt` int(1) NOT NULL DEFAULT 1,"
|
||||
. "\n `verband_berechtigt` int(1) NOT NULL DEFAULT 0,"
|
||||
. "\n PRIMARY KEY (`verschieberegel_id`)"
|
||||
. "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;";
|
||||
$db->setQuery( $query );
|
||||
@@ -1118,7 +1141,140 @@ return new class () implements InstallerScriptInterface
|
||||
$db->setQuery( $query );
|
||||
if (!$db->execute()) { die($db->stderr(true)); }
|
||||
|
||||
$query = "INSERT IGNORE #__sportsmanager_einstellungen SET name = 'datenbank_version', wert = '108';";
|
||||
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_regelwerke` ("
|
||||
. "\n `regelwerke_id` int(11) NOT NULL AUTO_INCREMENT,"
|
||||
. "\n `regelwerk` varchar(32) NOT NULL,"
|
||||
. "\n PRIMARY KEY (`regelwerke_id`),"
|
||||
. "\n UNIQUE KEY `regelwerk` (`regelwerk`)"
|
||||
. "\n ) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;";
|
||||
$db->setQuery( $query );
|
||||
if (!$db->execute()) { die($db->stderr(true)); }
|
||||
|
||||
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_verstoesse` ("
|
||||
. "\n `verstoesse_id` int(11) NOT NULL AUTO_INCREMENT,"
|
||||
. "\n `regelwerke_id` int(11) NOT NULL DEFAULT 0,"
|
||||
. "\n `paragraph_spo` varchar(32) NOT NULL DEFAULT '',"
|
||||
. "\n `paragraph_go` varchar(32) NOT NULL DEFAULT '',"
|
||||
. "\n `verstoss` varchar(64) NOT NULL DEFAULT '',"
|
||||
. "\n `haupttext` text NOT NULL,"
|
||||
. "\n `zusatztext` text NOT NULL,"
|
||||
. "\n `gebuehr` smallint(3) NOT NULL DEFAULT 0,"
|
||||
. "\n `zusatzgebuehr` smallint(2) NOT NULL DEFAULT 0,"
|
||||
. "\n `zur_auswahl` tinyint(1) NOT NULL DEFAULT 1,"
|
||||
. "\n PRIMARY KEY (`verstoesse_id`)"
|
||||
. "\n ) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;";
|
||||
$db->setQuery( $query );
|
||||
if (!$db->execute()) { die($db->stderr(true)); }
|
||||
|
||||
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_ordnungsstrafen` ("
|
||||
. "\n `ordnungsstrafen_id` int(11) NOT NULL AUTO_INCREMENT,"
|
||||
. "\n `verstoesse_id` int(11) NOT NULL DEFAULT 0,"
|
||||
. "\n `begegnung_id` int(11) NOT NULL DEFAULT 0,"
|
||||
. "\n `team_id` int(11) NOT NULL DEFAULT 0,"
|
||||
. "\n `aussteller_id` int(11) NOT NULL DEFAULT 0,"
|
||||
. "\n `ausstelldatum` datetime NOT NULL DEFAULT current_timestamp(),"
|
||||
. "\n `versender_id` int(11) DEFAULT NULL,"
|
||||
. "\n `versendedatum` datetime DEFAULT NULL,"
|
||||
. "\n `rechnungssteller_id` int(11) DEFAULT NULL,"
|
||||
. "\n `rechnungsdatum` datetime DEFAULT NULL,"
|
||||
. "\n `multiplikator` tinyint(1) NOT NULL DEFAULT 1,"
|
||||
. "\n `weitere_angaben` text NOT NULL,"
|
||||
. "\n PRIMARY KEY (`ordnungsstrafen_id`)"
|
||||
. "\n ) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;";
|
||||
$db->setQuery( $query );
|
||||
if (!$db->execute()) { die($db->stderr(true)); }
|
||||
|
||||
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_email_vorlagen` ("
|
||||
. "\n `email_vorlagen_id` int(11) NOT NULL AUTO_INCREMENT,"
|
||||
. "\n `vorlage` varchar(64) NOT NULL,"
|
||||
. "\n `betreff` varchar(256) NOT NULL DEFAULT '',"
|
||||
. "\n `von` varchar(64) NOT NULL DEFAULT '',"
|
||||
. "\n `an` varchar(256) NOT NULL DEFAULT '',"
|
||||
. "\n `cc` varchar(256) NOT NULL DEFAULT '',"
|
||||
. "\n `bcc` varchar(256) NOT NULL DEFAULT '',"
|
||||
. "\n `email_text` text NOT NULL,"
|
||||
. "\n PRIMARY KEY (`email_vorlagen_id`),"
|
||||
. "\n UNIQUE KEY `vorlage` (`vorlage`)"
|
||||
. "\n ) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;";
|
||||
$db->setQuery( $query );
|
||||
if (!$db->execute()) { die($db->stderr(true)); }
|
||||
|
||||
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_verbandsorgane` ("
|
||||
. "\n `verbandsorgane_id` int(11) NOT NULL AUTO_INCREMENT,"
|
||||
. "\n `veranstalter_id` int(11) DEFAULT NULL,"
|
||||
. "\n `verbandsorgan` varchar(32) DEFAULT NULL,"
|
||||
. "\n `kategorie` int(4) DEFAULT NULL,"
|
||||
. "\n `reihenfolge` int(4) DEFAULT NULL,"
|
||||
. "\n `email` varchar(64) DEFAULT NULL,"
|
||||
. "\n `beschreibung` text NOT NULL,"
|
||||
. "\n PRIMARY KEY (`verbandsorgane_id`),"
|
||||
. "\n KEY (`veranstalter_id`)"
|
||||
. "\n ) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;";
|
||||
$db->setQuery( $query );
|
||||
if (!$db->execute()) { die($db->stderr(true)); }
|
||||
|
||||
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_mitglied_von_verbandsorgan` ("
|
||||
. "\n `mitglied_von_verbandsorgan_id` int(11) NOT NULL AUTO_INCREMENT,"
|
||||
. "\n `verbandsorgane_id` int(11) DEFAULT NULL,"
|
||||
. "\n `funktion` varchar(32) DEFAULT NULL,"
|
||||
. "\n `zusatzinfo` varchar(64) DEFAULT NULL,"
|
||||
. "\n `spieler_id` int(11) DEFAULT NULL,"
|
||||
. "\n `nachname` varchar(32) DEFAULT NULL,"
|
||||
. "\n `vorname` varchar(32) DEFAULT NULL,"
|
||||
. "\n `email` varchar(64) DEFAULT NULL,"
|
||||
. "\n `telefon` varchar(32) DEFAULT NULL,"
|
||||
. "\n `mobil` varchar(32) DEFAULT NULL,"
|
||||
. "\n `reihenfolge` int(11) DEFAULT NULL,"
|
||||
. "\n PRIMARY KEY (`mitglied_von_verbandsorgan_id`),"
|
||||
. "\n KEY (`verbandsorgane_id`),"
|
||||
. "\n KEY (`spieler_id`)"
|
||||
. "\n ) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;";
|
||||
$db->setQuery( $query );
|
||||
if (!$db->execute()) { die($db->stderr(true)); }
|
||||
|
||||
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_halloffame` ("
|
||||
. "\n `halloffame_id` int(11) NOT NULL AUTO_INCREMENT,"
|
||||
. "\n `veranstalter_id` int(11) DEFAULT NULL,"
|
||||
. "\n `halloffame` varchar(64) DEFAULT NULL,"
|
||||
. "\n `kategorie` int(4) DEFAULT NULL,"
|
||||
. "\n `spielform` int(11) DEFAULT NULL,"
|
||||
. "\n `reihenfolge` int(4) DEFAULT NULL,"
|
||||
. "\n PRIMARY KEY (`halloffame_id`),"
|
||||
. "\n KEY `veranstalter_id` (`veranstalter_id`)"
|
||||
. "\n ) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;";
|
||||
$db->setQuery($query);
|
||||
if (!$db->execute()) {
|
||||
die($db->stderr(true));
|
||||
}
|
||||
|
||||
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_mitglied_von_halloffame` ("
|
||||
. "\n `mitglied_halloffame_id` int(11) NOT NULL AUTO_INCREMENT,"
|
||||
. "\n `halloffame_id` int(11) NOT NULL,"
|
||||
. "\n `jahr` int(4) DEFAULT NULL,"
|
||||
. "\n `platz` int(11) DEFAULT NULL,"
|
||||
. "\n `verein_id` int(11) DEFAULT NULL,"
|
||||
. "\n `teamname` varchar(64) DEFAULT NULL,"
|
||||
. "\n `spieler1_id` int(11) DEFAULT NULL,"
|
||||
. "\n `spieler1` varchar(64) DEFAULT NULL,"
|
||||
. "\n `spieler2_id` int(11) DEFAULT NULL,"
|
||||
. "\n `spieler2` varchar(64) DEFAULT NULL,"
|
||||
. "\n PRIMARY KEY (`mitglied_halloffame_id`),"
|
||||
. "\n UNIQUE KEY `halloffame_jahr_platz` (`halloffame_id`,`jahr`,`platz`),"
|
||||
. "\n KEY `halloffame_id` (`halloffame_id`),"
|
||||
. "\n KEY `verein_id` (`verein_id`),"
|
||||
. "\n KEY `spieler1_id` (`spieler1_id`),"
|
||||
. "\n KEY `spieler2_id` (`spieler2_id`)"
|
||||
. "\n ) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;";
|
||||
$db->setQuery($query);
|
||||
if (!$db->execute()) {
|
||||
die($db->stderr(true));
|
||||
}
|
||||
|
||||
$query = "INSERT IGNORE #__sportsmanager_einstellungen SET name = 'verbands_kuerzel', wert = 'tbe.';";
|
||||
$db->setQuery( $query );
|
||||
if (!$db->execute()) { die($db->stderr(true)); }
|
||||
|
||||
$query = "INSERT IGNORE #__sportsmanager_einstellungen SET name = 'datenbank_version', wert = '120';";
|
||||
$db->setQuery( $query );
|
||||
if (!$db->execute()) { die($db->stderr(true)); }
|
||||
|
||||
@@ -1150,6 +1306,10 @@ return new class () implements InstallerScriptInterface
|
||||
$db->setQuery( $query );
|
||||
if (!$db->execute()) { die($db->stderr(true)); }
|
||||
|
||||
$query = "INSERT IGNORE #__sportsmanager_einstellungen SET name = 'ordnungsstrafen_verwenden', 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)); }
|
||||
@@ -1161,6 +1321,14 @@ return new class () implements InstallerScriptInterface
|
||||
$query = "INSERT INTO #__sportsmanager_verschieberegel (bezeichnung, initial_ohne_termin, keine_gegenvorschlaege, vorlaufzeit_tage, termine_minimal, termine_maximal, ablehnen)"
|
||||
. "\n VALUES ('Beliebig', '0', '0', '0', '1', '3', '0');";
|
||||
$db->setQuery($query);
|
||||
if (!$db->execute()) { die($db->stderr(true)); }
|
||||
|
||||
$query = "INSERT IGNORE INTO `#__sportsmanager_email_vorlagen` (`email_vorlagen_id`, `vorlage`) VALUES (NULL, 'Ordnungsstrafe');";
|
||||
$db->setQuery($query);
|
||||
if (!$db->execute()) { die($db->stderr(true)); }
|
||||
|
||||
$query = "INSERT IGNORE INTO `#__sportsmanager_email_vorlagen` (`email_vorlagen_id`, `vorlage`) VALUES (NULL, 'Spielverlegung');";
|
||||
$db->setQuery($query);
|
||||
if (!$db->execute()) { die($db->stderr(true)); }
|
||||
|
||||
$query = "INSERT #__sportsmanager_rangliste_system"
|
||||
@@ -1595,6 +1763,10 @@ return new class () implements InstallerScriptInterface
|
||||
$db->setQuery( $query );
|
||||
if (!$db->execute()) { die($db->stderr(true)); }
|
||||
|
||||
$query = "DROP TABLE IF EXISTS `#__sportsmanager_team_strafen`;";
|
||||
$db->setQuery( $query );
|
||||
if (!$db->execute()) { die($db->stderr(true)); }
|
||||
|
||||
$query = "DROP TABLE IF EXISTS `#__sportsmanager_turnier`;";
|
||||
$db->setQuery( $query );
|
||||
if (!$db->execute()) { die($db->stderr(true)); }
|
||||
@@ -1650,5 +1822,37 @@ return new class () implements InstallerScriptInterface
|
||||
$query = "DROP TABLE IF EXISTS `#__sportsmanager_verteiler`;";
|
||||
$db->setQuery( $query );
|
||||
if (!$db->execute()) { die($db->stderr(true)); }
|
||||
|
||||
$query = "DROP TABLE IF EXISTS `#__sportsmanager_regelwerke`;";
|
||||
$db->setQuery( $query );
|
||||
if (!$db->execute()) { die($db->stderr(true)); }
|
||||
|
||||
$query = "DROP TABLE IF EXISTS `#__sportsmanager_verstoesse`;";
|
||||
$db->setQuery( $query );
|
||||
if (!$db->execute()) { die($db->stderr(true)); }
|
||||
|
||||
$query = "DROP TABLE IF EXISTS `#__sportsmanager_ordnungsstrafen`;";
|
||||
$db->setQuery( $query );
|
||||
if (!$db->execute()) { die($db->stderr(true)); }
|
||||
|
||||
$query = "DROP TABLE IF EXISTS `#__sportsmanager_email_vorlagen`;";
|
||||
$db->setQuery( $query );
|
||||
if (!$db->execute()) { die($db->stderr(true)); }
|
||||
|
||||
$query = "DROP TABLE IF EXISTS `#__sportsmanager_verbandsorgane`;";
|
||||
$db->setQuery( $query );
|
||||
if (!$db->execute()) { die($db->stderr(true)); }
|
||||
|
||||
$query = "DROP TABLE IF EXISTS `#__sportsmanager_mitglied_von_verbandsorgan`;";
|
||||
$db->setQuery( $query );
|
||||
if (!$db->execute()) { die($db->stderr(true)); }
|
||||
|
||||
$query = "DROP TABLE IF EXISTS `#__sportsmanager_halloffame`;";
|
||||
$db->setQuery( $query );
|
||||
if (!$db->execute()) { die($db->stderr(true)); }
|
||||
|
||||
$query = "DROP TABLE IF EXISTS `#__sportsmanager_mitglied_von_halloffame`;";
|
||||
$db->setQuery( $query );
|
||||
if (!$db->execute()) { die($db->stderr(true)); }
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user