mirror of
https://github.com/Deutscher-Tischfussballbund/com_sportsmanager.git
synced 2026-06-10 06:27:52 +00:00
Compare commits
96 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 |
@@ -98,24 +98,3 @@ jobs:
|
|||||||
else
|
else
|
||||||
echo "No draft releases found"
|
echo "No draft releases found"
|
||||||
fi
|
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 }}
|
|
||||||
|
|||||||
@@ -22,6 +22,8 @@ COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_CLUBS="Vereine"
|
|||||||
COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_VENUES="Spielorte"
|
COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_VENUES="Spielorte"
|
||||||
COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_APPOINTMENTS="Termine"
|
COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_APPOINTMENTS="Termine"
|
||||||
COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_MATCH_RESCHEDULING="Spielverlegungen"
|
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="Titel"
|
||||||
COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_TITLE_DESC="Titel, der im Fenster oben angezeigt wird"
|
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="Beschreibung"
|
||||||
|
|||||||
@@ -22,6 +22,8 @@ COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_CLUBS="Clubs"
|
|||||||
COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_VENUES="Venues"
|
COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_VENUES="Venues"
|
||||||
COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_APPOINTMENTS="Appointments"
|
COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_APPOINTMENTS="Appointments"
|
||||||
COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_MATCH_RESCHEDULING="Match reschedulings"
|
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="Title"
|
||||||
COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_TITLE_DESC="Title which will be shows on top"
|
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="Description"
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -5503,10 +5503,12 @@ function updateDatabase(): void
|
|||||||
$db->setQuery($query);
|
$db->setQuery($query);
|
||||||
if (!$db->execute()) { die($db->stderr(true)); }
|
if (!$db->execute()) { die($db->stderr(true)); }
|
||||||
|
|
||||||
$query = "ALTER TABLE `#__sportsmanager_veranstaltung` ADD COLUMN IF NOT EXISTS `regelwerke_id` INT(11) NOT NULL DEFAULT '0' AFTER `bezeichnung`;";
|
$columns = $db->getTableColumns('#__sportsmanager_veranstaltung');
|
||||||
$db->setQuery($query);
|
if (!array_key_exists('regelwerke_id', $columns)) {
|
||||||
if (!$db->execute()) { die($db->stderr(true)); }
|
$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"
|
$query = "UPDATE #__sportsmanager_einstellungen"
|
||||||
. "\n SET wert = '114'"
|
. "\n SET wert = '114'"
|
||||||
. "\n WHERE name = 'datenbank_version'";
|
. "\n WHERE name = 'datenbank_version'";
|
||||||
@@ -5519,19 +5521,24 @@ function updateDatabase(): void
|
|||||||
if ($datenbank_version < 115) {
|
if ($datenbank_version < 115) {
|
||||||
|
|
||||||
// Erweiterung Tabelle #__sportsmanager_verschieberegel
|
// Erweiterung Tabelle #__sportsmanager_verschieberegel
|
||||||
$query = "ALTER TABLE `#__sportsmanager_verschieberegel`"
|
$columns = $db->getTableColumns('#__sportsmanager_verschieberegel');
|
||||||
."\n ADD COLUMN IF NOT EXISTS `begruendung_erforderlich` INT(1) NOT NULL DEFAULT 0 AFTER `ablehnen`,"
|
if (!array_key_exists('begruendung_erforderlich', $columns)
|
||||||
."\n ADD COLUMN IF NOT EXISTS `vereine_berechtigt` INT(1) NOT NULL DEFAULT 1 AFTER `begruendung_erforderlich`,"
|
|| !array_key_exists('vereine_berechtigt', $columns)
|
||||||
."\n ADD COLUMN IF NOT EXISTS `verband_berechtigt` INT(1) NOT NULL DEFAULT 0 AFTER `vereine_berechtigt`;";
|
|| !array_key_exists('verband_berechtigt', $columns)) {
|
||||||
$db->setQuery($query);
|
$query = "ALTER TABLE `#__sportsmanager_verschieberegel`"
|
||||||
if (!$db->execute()) {
|
. "\n ADD COLUMN `begruendung_erforderlich` INT(1) NOT NULL DEFAULT 0 AFTER `ablehnen`,"
|
||||||
die($db->stderr(true));
|
. "\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');";
|
$query = "INSERT IGNORE INTO `#__sportsmanager_email_vorlagen` (`email_vorlagen_id`, `vorlage`) VALUES (NULL, 'Spielverlegung');";
|
||||||
$db->setQuery($query);
|
$db->setQuery($query);
|
||||||
if (!$db->execute()) { die($db->stderr(true)); }
|
if (!$db->execute()) { die($db->stderr(true)); }
|
||||||
|
|
||||||
$query = "UPDATE #__sportsmanager_einstellungen"
|
$query = "UPDATE #__sportsmanager_einstellungen"
|
||||||
. "\n SET wert = '115'"
|
. "\n SET wert = '115'"
|
||||||
. "\n WHERE name = 'datenbank_version'";
|
. "\n WHERE name = 'datenbank_version'";
|
||||||
@@ -5540,25 +5547,33 @@ function updateDatabase(): void
|
|||||||
die($db->stderr(true));
|
die($db->stderr(true));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($datenbank_version < 116) {
|
if ($datenbank_version < 116) {
|
||||||
|
|
||||||
$query = "ALTER TABLE `#__sportsmanager_spielort`"
|
$columns = $db->getTableColumns('#__sportsmanager_spielort');
|
||||||
. "\n ADD IF NOT EXISTS `telefon` VARCHAR(64) NULL DEFAULT NULL AFTER `url`,"
|
if (!array_key_exists('telefon', $columns)
|
||||||
. "\n ADD IF NOT EXISTS `email` VARCHAR(64) NULL DEFAULT NULL AFTER `telefon`,"
|
|| !array_key_exists('email', $columns)
|
||||||
. "\n ADD IF NOT EXISTS `ruhetage` VARCHAR(64) NULL DEFAULT NULL AFTER `email`;";
|
|| !array_key_exists('ruhetage', $columns)) {
|
||||||
$db->setQuery($query);
|
$query = "ALTER TABLE `#__sportsmanager_spielort`"
|
||||||
if (!$db->execute()) {
|
. "\n ADD `telefon` VARCHAR(64) NULL DEFAULT NULL AFTER `url`,"
|
||||||
die($db->stderr(true));
|
. "\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));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$query = "ALTER TABLE `#__sportsmanager_team`"
|
$columns = $db->getTableColumns('#__sportsmanager_team');
|
||||||
. "\n ADD IF NOT EXISTS `trainingstage` VARCHAR(64) NULL DEFAULT NULL AFTER `heimspielort_id`;";
|
if (!array_key_exists('trainingstage', $columns)){
|
||||||
$db->setQuery($query);
|
$query = "ALTER TABLE `#__sportsmanager_team`"
|
||||||
if (!$db->execute()) {
|
. "\n ADD `trainingstage` VARCHAR(64) NULL DEFAULT NULL AFTER `heimspielort_id`;";
|
||||||
die($db->stderr(true));
|
$db->setQuery($query);
|
||||||
|
if (!$db->execute()) {
|
||||||
|
die($db->stderr(true));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$query = "UPDATE #__sportsmanager_einstellungen"
|
$query = "UPDATE #__sportsmanager_einstellungen"
|
||||||
. "\n SET wert = '116'"
|
. "\n SET wert = '116'"
|
||||||
. "\n WHERE name = 'datenbank_version'";
|
. "\n WHERE name = 'datenbank_version'";
|
||||||
@@ -5567,7 +5582,165 @@ function updateDatabase(): void
|
|||||||
die($db->stderr(true));
|
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) {
|
if ($termin_aktionen_email_setzen) {
|
||||||
$query = "SELECT aktion_user_id, termin_aktion_id"
|
$query = "SELECT aktion_user_id, termin_aktion_id"
|
||||||
. "\n FROM #__sportsmanager_termin_aktion";
|
. "\n FROM #__sportsmanager_termin_aktion";
|
||||||
|
|||||||
@@ -43,6 +43,7 @@ require_once JPATH_SITE . '/components/com_sportsmanager/views/sportsmanager/vie
|
|||||||
require_once JPATH_SITE . '/components/com_sportsmanager/views/sportsmanager/view_ticker.php';
|
require_once JPATH_SITE . '/components/com_sportsmanager/views/sportsmanager/view_ticker.php';
|
||||||
require_once JPATH_SITE . '/components/com_sportsmanager/util/image.php';
|
require_once JPATH_SITE . '/components/com_sportsmanager/util/image.php';
|
||||||
require_once JPATH_SITE . '/components/com_sportsmanager/util/email.php';
|
require_once JPATH_SITE . '/components/com_sportsmanager/util/email.php';
|
||||||
|
require_once JPATH_SITE . '/components/com_sportsmanager/util/export.php';
|
||||||
require_once JPATH_SITE . '/components/com_sportsmanager/database/update.php'; // will also include init.php and util.php
|
require_once JPATH_SITE . '/components/com_sportsmanager/database/update.php'; // will also include init.php and util.php
|
||||||
|
|
||||||
initDatabase();
|
initDatabase();
|
||||||
@@ -83,6 +84,9 @@ if ($task == "spielerbild") {
|
|||||||
case 'admin_einstellungen_save':
|
case 'admin_einstellungen_save':
|
||||||
adminSaveEinstellungen();
|
adminSaveEinstellungen();
|
||||||
break;
|
break;
|
||||||
|
case 'admin_sportshub':
|
||||||
|
adminSportshub();
|
||||||
|
break;
|
||||||
case 'admin_datenbank':
|
case 'admin_datenbank':
|
||||||
adminDatenbank();
|
adminDatenbank();
|
||||||
break;
|
break;
|
||||||
@@ -371,6 +375,57 @@ if ($task == "spielerbild") {
|
|||||||
case 'admin_joomla_mail_senden':
|
case 'admin_joomla_mail_senden':
|
||||||
sendJoomlaMail();
|
sendJoomlaMail();
|
||||||
break;
|
break;
|
||||||
|
case 'admin_verbandsorgane':
|
||||||
|
adminVerbandsorgane();
|
||||||
|
break;
|
||||||
|
case 'admin_verbandsorgan_edit':
|
||||||
|
adminEditVerbandsorgan();
|
||||||
|
break;
|
||||||
|
case 'admin_verbandsorgan_save':
|
||||||
|
adminSaveVerbandsorgan();
|
||||||
|
break;
|
||||||
|
case 'admin_verbandsorgan_remove':
|
||||||
|
adminRemoveVerbandsorgan();
|
||||||
|
break;
|
||||||
|
case 'admin_verbandsorgane_export':
|
||||||
|
adminExportVerbandsorgane();
|
||||||
|
break;
|
||||||
|
case 'admin_verbandsorgan_mitglieder':
|
||||||
|
adminVerbandsorganMitglieder();
|
||||||
|
break;
|
||||||
|
case 'admin_verbandsorgan_mitglied_edit':
|
||||||
|
adminEditVerbandsorganMitglied();
|
||||||
|
break;
|
||||||
|
case 'admin_verbandsorgan_mitglied_save':
|
||||||
|
adminSaveVerbandsorganMitglied();
|
||||||
|
break;
|
||||||
|
case 'admin_verbandsorgan_mitglied_remove':
|
||||||
|
adminRemoveVerbandsorganMitglied();
|
||||||
|
break;
|
||||||
|
case 'admin_halloffame':
|
||||||
|
adminHalloffame();
|
||||||
|
break;
|
||||||
|
case 'admin_halloffame_edit':
|
||||||
|
adminEditHalloffame();
|
||||||
|
break;
|
||||||
|
case 'admin_halloffame_save':
|
||||||
|
adminSaveHalloffame();
|
||||||
|
break;
|
||||||
|
case 'admin_halloffame_remove':
|
||||||
|
adminRemoveHalloffame();
|
||||||
|
break;
|
||||||
|
case 'admin_halloffame_mitglieder':
|
||||||
|
adminHalloffameMitglieder();
|
||||||
|
break;
|
||||||
|
case 'admin_halloffame_mitglied_edit':
|
||||||
|
adminEditHalloffameMitglied();
|
||||||
|
break;
|
||||||
|
case 'admin_halloffame_mitglied_save':
|
||||||
|
adminSaveHalloffameMitglied();
|
||||||
|
break;
|
||||||
|
case 'admin_halloffame_mitglied_remove':
|
||||||
|
adminRemoveHalloffameMitglied();
|
||||||
|
break;
|
||||||
case 'admin_regelwerke':
|
case 'admin_regelwerke':
|
||||||
adminRegelwerke();
|
adminRegelwerke();
|
||||||
break;
|
break;
|
||||||
@@ -461,6 +516,12 @@ if ($task == "spielerbild") {
|
|||||||
case 'admin_team_edit':
|
case 'admin_team_edit':
|
||||||
adminEditMannschaft();
|
adminEditMannschaft();
|
||||||
break;
|
break;
|
||||||
|
case 'admin_team_strafen':
|
||||||
|
adminMannschaftStrafen();
|
||||||
|
break;
|
||||||
|
case 'admin_team_add_strafe':
|
||||||
|
adminMannschaftAddStrafe();
|
||||||
|
break;
|
||||||
case 'admin_team_save':
|
case 'admin_team_save':
|
||||||
adminSaveMannschaft();
|
adminSaveMannschaft();
|
||||||
break;
|
break;
|
||||||
@@ -1061,6 +1122,24 @@ if ($task == "spielerbild") {
|
|||||||
}
|
}
|
||||||
} else if ($content == 'spielverlegungen') {
|
} else if ($content == 'spielverlegungen') {
|
||||||
spielverlegungen();
|
spielverlegungen();
|
||||||
|
} else if ($content == 'verbandsorgane') {
|
||||||
|
switch ($task) {
|
||||||
|
case 'verbandsorgane_details':
|
||||||
|
verbandsorganeDetails();
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
verbandsorgane();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
} else if ($content == 'hall_of_fame') {
|
||||||
|
switch ($task) {
|
||||||
|
case 'hall_of_fame_details':
|
||||||
|
halloffameDetails();
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
halloffame();
|
||||||
|
break;
|
||||||
|
}
|
||||||
} else if ($content == 'login') {
|
} else if ($content == 'login') {
|
||||||
userAuth();
|
userAuth();
|
||||||
} else if ($content == 'login_refresh') {
|
} else if ($content == 'login_refresh') {
|
||||||
@@ -1730,7 +1809,7 @@ function tabelle($veranstaltung, $spieltag, $alleine_angezeigt, $praesentation =
|
|||||||
$teams = getTabelleAktuellerSpieltag($veranstaltung);
|
$teams = getTabelleAktuellerSpieltag($veranstaltung);
|
||||||
} else {
|
} else {
|
||||||
$teams = getTabelleSpieltag($veranstaltung,$spieltag);
|
$teams = getTabelleSpieltag($veranstaltung,$spieltag);
|
||||||
if ($veranstaltung->direktervergleich && $spieltag >= $anzahl_spieltage_komplett/2 && $anzahl_spieltage_komplett >= 3){
|
if ($veranstaltung->direktervergleich > 0 && $spieltag >= $anzahl_spieltage_komplett/2 && $anzahl_spieltage_komplett >= 3){
|
||||||
$teams = getTabelleDirekterVergleich($teams,$veranstaltung,$spieltag);
|
$teams = getTabelleDirekterVergleich($teams,$veranstaltung,$spieltag);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1757,17 +1836,41 @@ function tabelle($veranstaltung, $spieltag, $alleine_angezeigt, $praesentation =
|
|||||||
|
|
||||||
function getTabelleDirekterVergleich($teams,$veranstaltung,$spieltag)
|
function getTabelleDirekterVergleich($teams,$veranstaltung,$spieltag)
|
||||||
{
|
{
|
||||||
|
|
||||||
$gesamtpunkte = 1000;
|
$gesamtpunkte = 1000;
|
||||||
$anzahlSpiele = 1000;
|
$anzahl_spiele = 1000;
|
||||||
|
$punkte_differenz = 1000;
|
||||||
|
$punkte_quotient = 1000.0000;
|
||||||
|
$spielpunkte_differenz = 1000;
|
||||||
|
$spielpunkte_quotient = 1000.0000;
|
||||||
$platz = 0;
|
$platz = 0;
|
||||||
|
|
||||||
$punktgleicheMannschaften = [];
|
$punktgleicheMannschaften = [];
|
||||||
$korrekturen = [];
|
$korrekturen = [];
|
||||||
|
$bufferplatz = [];
|
||||||
|
|
||||||
foreach($teams AS $team){
|
foreach($teams AS $team){
|
||||||
if (($gesamtpunkte != $team->gesamtpunkte) OR ($anzahlSpiele != $team->anzahl_spiele)){
|
$bufferplatz[$team->team_id]['platz'] = $team->platz;
|
||||||
|
$unterschied = false;
|
||||||
|
|
||||||
|
if (($gesamtpunkte != $team->gesamtpunkte) || ($anzahl_spiele != $team->anzahl_spiele))
|
||||||
|
$unterschied = true;
|
||||||
|
if ($veranstaltung->direktervergleich >= 2 && in_array($veranstaltung->tabellenwertung, [1,4,7,10]) && $spielpunkte_differenz != $team->spielpunkte_differenz)
|
||||||
|
$unterschied = true;
|
||||||
|
if ($veranstaltung->direktervergleich >= 2 && in_array($veranstaltung->tabellenwertung, [2,5,8,11]) && $spielpunkte_quotient != $team->spielpunkte_quotient)
|
||||||
|
$unterschied = true;
|
||||||
|
if ($veranstaltung->direktervergleich == 3 && in_array($veranstaltung->tabellenwertung, [1,4,7,10]) && $punkte_differenz != $team->punkte_differenz)
|
||||||
|
$unterschied = true;
|
||||||
|
if ($veranstaltung->direktervergleich == 3 && in_array($veranstaltung->tabellenwertung, [2,5,8,11]) && $punkte_quotient != $team->punkte_quotient)
|
||||||
|
$unterschied = true;
|
||||||
|
|
||||||
|
if ($unterschied)
|
||||||
|
{
|
||||||
$gesamtpunkte = $team->gesamtpunkte;
|
$gesamtpunkte = $team->gesamtpunkte;
|
||||||
$anzahlSpiele = $team->anzahl_spiele;
|
$anzahl_spiele = $team->anzahl_spiele;
|
||||||
|
$punkte_differenz = $team->punkte_differenz;
|
||||||
|
$punkte_quotient = $team->punkte_quotient;
|
||||||
|
$spielpunkte_differenz = $team->spielpunkte_differenz;
|
||||||
|
$spielpunkte_quotient = $team->spielpunkte_quotient;
|
||||||
$platz = $team->platz;
|
$platz = $team->platz;
|
||||||
$punktgleicheMannschaften[$platz] = $team->team_id;
|
$punktgleicheMannschaften[$platz] = $team->team_id;
|
||||||
}
|
}
|
||||||
@@ -1776,10 +1879,54 @@ function getTabelleDirekterVergleich($teams,$veranstaltung,$spieltag)
|
|||||||
$korrekturen[$platz] = $punktgleicheMannschaften[$platz];
|
$korrekturen[$platz] = $punktgleicheMannschaften[$platz];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!empty($korrekturen)){
|
if (!empty($korrekturen)){
|
||||||
foreach($korrekturen AS $key => $korrektur){
|
foreach($korrekturen AS $key => $korrektur){
|
||||||
$teamsKorrektur = getTabelleSpieltag($veranstaltung,$spieltag,$korrektur,$key-1);
|
$teamsKorrektur = getTabelleSpieltag($veranstaltung,$spieltag,$korrektur,$key-1);
|
||||||
|
foreach($teamsKorrektur AS $teamKorrektur){
|
||||||
|
$teamKorrektur->platz_alt = $bufferplatz[$teamKorrektur->team_id]['platz'];
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($veranstaltung->tabellenwertung == 1 || $veranstaltung->tabellenwertung == 4 || $veranstaltung->tabellenwertung == 7){
|
||||||
|
usort($teamsKorrektur, fn($a, $b) =>
|
||||||
|
[(float)$b->begegnungspunkte, (int)$a->anzahl_spiele, (float)$b->spielpunkte_differenz, (float)$b->punkte_differenz, (int)$a->platz_alt]
|
||||||
|
<=>
|
||||||
|
[(float)$a->begegnungspunkte, (int)$b->anzahl_spiele, (float)$a->spielpunkte_differenz, (float)$a->punkte_differenz, (int)$b->platz_alt]
|
||||||
|
);
|
||||||
|
}
|
||||||
|
else if ($veranstaltung->tabellenwertung == 2 || $veranstaltung->tabellenwertung == 5 || $veranstaltung->tabellenwertung == 8){
|
||||||
|
usort($teamsKorrektur, fn($a, $b) =>
|
||||||
|
[(float)$b->begegnungspunkte, (int)$a->anzahl_spiele, (float)$b->spielpunkte_quotient, (float)$b->punkte_quotient, (int)$a->platz_alt]
|
||||||
|
<=>
|
||||||
|
[(float)$a->begegnungspunkte, (int)$b->anzahl_spiele, (float)$a->spielpunkte_quotient, (float)$a->punkte_quotient, (int)$b->platz_alt]
|
||||||
|
);
|
||||||
|
}
|
||||||
|
else if ($veranstaltung->tabellenwertung == 10){
|
||||||
|
usort($teamsKorrektur, fn($a, $b) =>
|
||||||
|
[(float)$b->spielpunkte_differenz, (float)$b->punkte_differenz, (int)$a->platz_alt]
|
||||||
|
<=>
|
||||||
|
[(float)$a->spielpunkte_differenz, (float)$a->punkte_differenz, (int)$b->platz_alt]
|
||||||
|
);
|
||||||
|
}
|
||||||
|
else if ($veranstaltung->tabellenwertung == 11){
|
||||||
|
usort($teamsKorrektur, fn($a, $b) =>
|
||||||
|
[(float)$b->spielpunkte_quotient, (float)$b->punkte_quotient, (int)$a->platz_alt]
|
||||||
|
<=>
|
||||||
|
[(float)$a->spielpunkte_quotient, (float)$a->punkte_quotient, (int)$b->platz_alt]
|
||||||
|
);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
usort($teamsKorrektur, fn($a, $b) =>
|
||||||
|
[(float)$b->begegnungspunkte, (int)$a->anzahl_spiele, (int)$a->platz_alt]
|
||||||
|
<=>
|
||||||
|
[(float)$a->begegnungspunkte, (int)$b->anzahl_spiele, (int)$b->platz_alt]
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
$neuerPlatz = $key;
|
||||||
|
foreach ($teamsKorrektur as $teamKorrektur) {
|
||||||
|
$teamKorrektur->platz = $neuerPlatz++;
|
||||||
|
}
|
||||||
|
|
||||||
foreach($teamsKorrektur AS $teamKorrektur){
|
foreach($teamsKorrektur AS $teamKorrektur){
|
||||||
foreach($teams AS $team){
|
foreach($teams AS $team){
|
||||||
if ($team->team_id == $teamKorrektur->team_id){
|
if ($team->team_id == $teamKorrektur->team_id){
|
||||||
@@ -2453,7 +2600,7 @@ function turnierbaumAnzeigen($veranstaltung): void
|
|||||||
else
|
else
|
||||||
$begegnungen[$begegnung['Spieltag_Nr'] + 1][round($begegnung['Spiel_Nr'] / 2)]['gast'] = htmlentities($begegnung['Heim']);
|
$begegnungen[$begegnung['Spieltag_Nr'] + 1][round($begegnung['Spiel_Nr'] / 2)]['gast'] = htmlentities($begegnung['Heim']);
|
||||||
}
|
}
|
||||||
} else
|
} else
|
||||||
if ($begegnung['Heim_Satzpunkte'] < $begegnung['Gast_Satzpunkte']) {
|
if ($begegnung['Heim_Satzpunkte'] < $begegnung['Gast_Satzpunkte']) {
|
||||||
$begegnungen[$begegnung['Spieltag_Nr']][$begegnung['Spiel_Nr']]['sieger'] = 2;
|
$begegnungen[$begegnung['Spieltag_Nr']][$begegnung['Spiel_Nr']]['sieger'] = 2;
|
||||||
if ($begegnung['Spieltag_Nr'] < $anzahlRunden){
|
if ($begegnung['Spieltag_Nr'] < $anzahlRunden){
|
||||||
@@ -2462,7 +2609,7 @@ function turnierbaumAnzeigen($veranstaltung): void
|
|||||||
else
|
else
|
||||||
$begegnungen[$begegnung['Spieltag_Nr'] + 1][round($begegnung['Spiel_Nr'] / 2)]['gast'] = htmlentities($begegnung['Gast']);
|
$begegnungen[$begegnung['Spieltag_Nr'] + 1][round($begegnung['Spiel_Nr'] / 2)]['gast'] = htmlentities($begegnung['Gast']);
|
||||||
}
|
}
|
||||||
} else
|
} else
|
||||||
if ($begegnung['Heim_Satzpunkte'] == $begegnung['Gast_Satzpunkte'] && $begegnung['Heim_Tore'] > $begegnung['Gast_Tore']) {
|
if ($begegnung['Heim_Satzpunkte'] == $begegnung['Gast_Satzpunkte'] && $begegnung['Heim_Tore'] > $begegnung['Gast_Tore']) {
|
||||||
$begegnungen[$begegnung['Spieltag_Nr']][$begegnung['Spiel_Nr']]['sieger'] = 1;
|
$begegnungen[$begegnung['Spieltag_Nr']][$begegnung['Spiel_Nr']]['sieger'] = 1;
|
||||||
if ($begegnung['Spieltag_Nr'] < $anzahlRunden){
|
if ($begegnung['Spieltag_Nr'] < $anzahlRunden){
|
||||||
@@ -2471,7 +2618,7 @@ function turnierbaumAnzeigen($veranstaltung): void
|
|||||||
else
|
else
|
||||||
$begegnungen[$begegnung['Spieltag_Nr'] + 1][round($begegnung['Spiel_Nr'] / 2)]['gast'] = htmlentities($begegnung['Heim']);
|
$begegnungen[$begegnung['Spieltag_Nr'] + 1][round($begegnung['Spiel_Nr'] / 2)]['gast'] = htmlentities($begegnung['Heim']);
|
||||||
}
|
}
|
||||||
} else
|
} else
|
||||||
if ($begegnung['Heim_Satzpunkte'] == $begegnung['Gast_Satzpunkte'] && $begegnung['Heim_Tore'] < $begegnung['Gast_Tore']) {
|
if ($begegnung['Heim_Satzpunkte'] == $begegnung['Gast_Satzpunkte'] && $begegnung['Heim_Tore'] < $begegnung['Gast_Tore']) {
|
||||||
$begegnungen[$begegnung['Spieltag_Nr']][$begegnung['Spiel_Nr']]['sieger'] = 2;
|
$begegnungen[$begegnung['Spieltag_Nr']][$begegnung['Spiel_Nr']]['sieger'] = 2;
|
||||||
if ($begegnung['Spieltag_Nr'] < $anzahlRunden){
|
if ($begegnung['Spieltag_Nr'] < $anzahlRunden){
|
||||||
@@ -4125,16 +4272,16 @@ function spielverlegungen(): void
|
|||||||
global $params;
|
global $params;
|
||||||
$jInput = Factory::getContainer()->get(SiteApplication::class)->input;
|
$jInput = Factory::getContainer()->get(SiteApplication::class)->input;
|
||||||
$filter_status = $jInput->get('filter_status', '', 'RAW');
|
$filter_status = $jInput->get('filter_status', '', 'RAW');
|
||||||
|
|
||||||
if (empty($filter_status))
|
if (empty($filter_status))
|
||||||
$filter_status = "offen,genehmigt";
|
$filter_status = "offen,genehmigt";
|
||||||
|
|
||||||
$query = "SELECT saison_id, saisonbezeichnung"
|
$query = "SELECT saison_id, saisonbezeichnung"
|
||||||
. "\n FROM #__sportsmanager_saison"
|
. "\n FROM #__sportsmanager_saison"
|
||||||
. "\n ORDER BY saisonbezeichnung DESC LIMIT 1";
|
. "\n ORDER BY saisonbezeichnung DESC LIMIT 1";
|
||||||
$saisons = loadObjectList($db, $query);
|
$saisons = loadObjectList($db, $query);
|
||||||
$filter_saison_id = $saisons[0]->saison_id;
|
$filter_saison_id = $saisons[0]->saison_id;
|
||||||
|
|
||||||
$query = "SELECT t1.begegnung_historie_id AS beantragt_id, t1.begegnung_id AS begegnung_id,"
|
$query = "SELECT t1.begegnung_historie_id AS beantragt_id, t1.begegnung_id AS begegnung_id,"
|
||||||
. "\n t1.eingetragen AS beantragt, t1.kommentar AS Begruendung_beantragt, t1.zeitpunkt AS Termin_alt,"
|
. "\n t1.eingetragen AS beantragt, t1.kommentar AS Begruendung_beantragt, t1.zeitpunkt AS Termin_alt,"
|
||||||
. "\n t1.team_id as beantragt_verein, t5.bezeichnung AS Liga,"
|
. "\n t1.team_id as beantragt_verein, t5.bezeichnung AS Liga,"
|
||||||
@@ -4150,23 +4297,23 @@ function spielverlegungen(): void
|
|||||||
. kategorieFilter("AND t5.kategorie IN")
|
. kategorieFilter("AND t5.kategorie IN")
|
||||||
. "\n ORDER BY t1.begegnung_id, t1.zeitpunkt ASC;";
|
. "\n ORDER BY t1.begegnung_id, t1.zeitpunkt ASC;";
|
||||||
$spielverlegungen = loadObjectList($db, $query);
|
$spielverlegungen = loadObjectList($db, $query);
|
||||||
|
|
||||||
$last_id = "";
|
$last_id = "";
|
||||||
foreach ($spielverlegungen as $key => $spielverlegung) {
|
foreach ($spielverlegungen as $key => $spielverlegung) {
|
||||||
if ($spielverlegung->begegnung_id == $last_id) {
|
if ($spielverlegung->begegnung_id == $last_id) {
|
||||||
unset($spielverlegungen[$key]);
|
unset($spielverlegungen[$key]);
|
||||||
} else {
|
} else {
|
||||||
$last_id = $spielverlegung->begegnung_id;
|
$last_id = $spielverlegung->begegnung_id;
|
||||||
|
|
||||||
$query = "SELECT t1.begegnung_historie_id AS genehmigt_id, t1.eingetragen AS genehmigt,"
|
$query = "SELECT t1.begegnung_historie_id AS genehmigt_id, t1.eingetragen AS genehmigt,"
|
||||||
. "\n t1.user_id AS genehmigt_von, t1.team_id as genehmigt_verein, t1.zeitpunkt AS Termin_neu"
|
. "\n t1.user_id AS genehmigt_von, t1.team_id as genehmigt_verein, t1.zeitpunkt AS Termin_neu"
|
||||||
. "\n FROM #__sportsmanager_begegnung_historie AS t1"
|
. "\n FROM #__sportsmanager_begegnung_historie AS t1"
|
||||||
. "\n LEFT JOIN #__sportsmanager_begegnung AS t2 ON t2.begegnung_id = t1.begegnung_id"
|
. "\n LEFT JOIN #__sportsmanager_begegnung AS t2 ON t2.begegnung_id = t1.begegnung_id"
|
||||||
. "\n WHERE t1.aktion = 1 AND t1.begegnung_id = $last_id"
|
. "\n WHERE t1.aktion = 1 AND t1.begegnung_id = $last_id"
|
||||||
. "\n ORDER BY t1.zeitpunkt DESC LIMIT 1;";
|
. "\n ORDER BY t1.zeitpunkt DESC LIMIT 1;";
|
||||||
|
|
||||||
$genehmigt = loadObjectList($db, $query);
|
$genehmigt = loadObjectList($db, $query);
|
||||||
|
|
||||||
if (!empty($genehmigt)) {
|
if (!empty($genehmigt)) {
|
||||||
$spielverlegung->genehmigt_id = $genehmigt[0]->genehmigt_id;
|
$spielverlegung->genehmigt_id = $genehmigt[0]->genehmigt_id;
|
||||||
$spielverlegung->genehmigt = $genehmigt[0]->genehmigt;
|
$spielverlegung->genehmigt = $genehmigt[0]->genehmigt;
|
||||||
@@ -4189,9 +4336,9 @@ function spielverlegungen(): void
|
|||||||
. "\n LEFT JOIN #__sportsmanager_begegnung AS t2 ON t2.begegnung_id = t1.begegnung_id"
|
. "\n LEFT JOIN #__sportsmanager_begegnung AS t2 ON t2.begegnung_id = t1.begegnung_id"
|
||||||
. "\n WHERE t1.aktion = 10 AND t1.begegnung_id = $last_id"
|
. "\n WHERE t1.aktion = 10 AND t1.begegnung_id = $last_id"
|
||||||
. "\n ORDER BY t1.zeitpunkt DESC LIMIT 1;";
|
. "\n ORDER BY t1.zeitpunkt DESC LIMIT 1;";
|
||||||
|
|
||||||
$abgelehnt = loadObjectList($db, $query);
|
$abgelehnt = loadObjectList($db, $query);
|
||||||
|
|
||||||
if (!empty($abgelehnt)) {
|
if (!empty($abgelehnt)) {
|
||||||
$spielverlegung->abgelehnt_id = $abgelehnt[0]->abgelehnt_id;
|
$spielverlegung->abgelehnt_id = $abgelehnt[0]->abgelehnt_id;
|
||||||
$spielverlegung->abgelehnt = $abgelehnt[0]->abgelehnt;
|
$spielverlegung->abgelehnt = $abgelehnt[0]->abgelehnt;
|
||||||
@@ -4218,6 +4365,204 @@ function spielverlegungen(): void
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function verbandsorgane(): void
|
||||||
|
{
|
||||||
|
$db = getDatabase();
|
||||||
|
global $params;
|
||||||
|
$jInput = Factory::getContainer()->get(SiteApplication::class)->input;
|
||||||
|
|
||||||
|
$query = "SELECT t1.*, COUNT(t2.verbandsorgane_id) AS anzahl, t3.veranstalterbezeichnung AS organisation"
|
||||||
|
. "\n FROM #__sportsmanager_verbandsorgane t1"
|
||||||
|
. "\n LEFT JOIN #__sportsmanager_mitglied_von_verbandsorgan t2 ON t2.verbandsorgane_id = t1.verbandsorgane_id"
|
||||||
|
. "\n LEFT JOIN #__sportsmanager_veranstalter t3 ON t3.veranstalter_id = t1.veranstalter_id"
|
||||||
|
. "\n GROUP BY t1.verbandsorgane_id"
|
||||||
|
. kategorieFilter("HAVING t1.kategorie IN")
|
||||||
|
. "\n ORDER BY t1.reihenfolge;";
|
||||||
|
$verbandsorgane = loadObjectList($db, $query);
|
||||||
|
|
||||||
|
$query = "SELECT COUNT(veranstalter_id) AS anzahl"
|
||||||
|
. "\n FROM #__sportsmanager_verbandsorgane"
|
||||||
|
. "\n GROUP BY veranstalter_id"
|
||||||
|
. kategorieFilter("WHERE kategorie IN");
|
||||||
|
$organisationen = loadObjectList($db, $query);
|
||||||
|
if (count($organisationen) > 1)
|
||||||
|
$organisation_zeigen = true;
|
||||||
|
else
|
||||||
|
$organisation_zeigen = false;
|
||||||
|
|
||||||
|
if (count($verbandsorgane) == 1){
|
||||||
|
verbandsorganeDetails($verbandsorgane[0]->verbandsorgane_id);
|
||||||
|
} else {
|
||||||
|
if (isJson()) {
|
||||||
|
echo json_encode($verbandsorgane);
|
||||||
|
} else {
|
||||||
|
HTML_sportsmanager::verbandsorgane($params->get('titel'), $params->get('beschreibung'), $verbandsorgane, $organisation_zeigen);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function verbandsorganeDetails($uebergabe_id = 0): void
|
||||||
|
{
|
||||||
|
$db = getDatabase();
|
||||||
|
$app = Factory::getContainer()->get(SiteApplication::class);
|
||||||
|
$jInput = $app->input;
|
||||||
|
|
||||||
|
global $params;
|
||||||
|
|
||||||
|
|
||||||
|
$user_id = isExternalDatabase() ? 0 : (isJson() ? getUserID() : $app->getIdentity()->id);
|
||||||
|
if ($user_id > 0)
|
||||||
|
$erweiterte_anzeige = true;
|
||||||
|
else
|
||||||
|
$erweiterte_anzeige = false;
|
||||||
|
|
||||||
|
if ($uebergabe_id == 0)
|
||||||
|
$id = $jInput->get('id', 0, 'INT');
|
||||||
|
else
|
||||||
|
$id = $uebergabe_id;
|
||||||
|
|
||||||
|
$query = "SELECT * FROM #__sportsmanager_verbandsorgane WHERE verbandsorgane_id = $id";
|
||||||
|
$rows = loadObjectList($db, $query);
|
||||||
|
if (count($rows) < 1) {
|
||||||
|
abortWithError("Wrong id!");
|
||||||
|
}
|
||||||
|
$verbandsorgan = $rows[0];
|
||||||
|
|
||||||
|
$query = "SELECT * FROM #__sportsmanager_mitglied_von_verbandsorgan"
|
||||||
|
. "\n WHERE verbandsorgane_id = $id"
|
||||||
|
. "\n ORDER BY reihenfolge, nachname, vorname";
|
||||||
|
$mitglieder = loadObjectList($db, $query);
|
||||||
|
|
||||||
|
$query = "SELECT zusatzinfo FROM #__sportsmanager_mitglied_von_verbandsorgan"
|
||||||
|
. "\n WHERE verbandsorgane_id = $id"
|
||||||
|
. "\n AND zusatzinfo IS NOT NULL AND TRIM(zusatzinfo) <> ''"
|
||||||
|
. "\n ORDER BY reihenfolge, nachname, vorname";
|
||||||
|
$zusatzinfos = loadObjectList($db, $query);
|
||||||
|
if (count($zusatzinfos) > 0)
|
||||||
|
$zusatzinfos_vorhanden = true;
|
||||||
|
else
|
||||||
|
$zusatzinfos_vorhanden = false;
|
||||||
|
|
||||||
|
if (isJson()) {
|
||||||
|
echo json_encode($mitglieder);
|
||||||
|
} else {
|
||||||
|
HTML_sportsmanager::verbandsorganeDetails($params->get('titel'), $params->get('beschreibung'), $verbandsorgan, $mitglieder, $erweiterte_anzeige, $zusatzinfos_vorhanden);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function halloffame(): void
|
||||||
|
{
|
||||||
|
$db = getDatabase();
|
||||||
|
global $params;
|
||||||
|
|
||||||
|
$query = "SELECT t1.*, COUNT(DISTINCT t2.jahr) AS anzahl,"
|
||||||
|
. "\n IF (COUNT(DISTINCT t2.jahr) > 0, CONCAT(min(t2.jahr), ' - ', max(t2.jahr)), '" . Text::_('COM_SPORTSMANAGER_NO_ENTRY') . "') AS zeitspanne"
|
||||||
|
. "\n FROM #__sportsmanager_halloffame t1"
|
||||||
|
. "\n LEFT JOIN #__sportsmanager_mitglied_von_halloffame t2 ON t2.halloffame_id = t1.halloffame_id"
|
||||||
|
. "\n GROUP BY t1.halloffame_id"
|
||||||
|
. kategorieFilter("HAVING t1.kategorie IN")
|
||||||
|
. "\n ORDER BY t1.reihenfolge;";
|
||||||
|
$halloffame = loadObjectList($db, $query);
|
||||||
|
|
||||||
|
if (count($halloffame) == 1){
|
||||||
|
halloffameDetails($halloffame[0]->halloffame_id);
|
||||||
|
} else {
|
||||||
|
if (isJson()) {
|
||||||
|
echo json_encode($halloffame);
|
||||||
|
} else {
|
||||||
|
HTML_sportsmanager::halloffame($params->get('titel'), $params->get('beschreibung'), $halloffame);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function halloffameDetails($uebergabe_id = 0): void
|
||||||
|
{
|
||||||
|
$db = getDatabase();
|
||||||
|
$app = Factory::getContainer()->get(SiteApplication::class);
|
||||||
|
$jInput = $app->input;
|
||||||
|
|
||||||
|
global $params;
|
||||||
|
|
||||||
|
if ($uebergabe_id == 0)
|
||||||
|
$id = $jInput->get('id', 0, 'INT');
|
||||||
|
else
|
||||||
|
$id = $uebergabe_id;
|
||||||
|
|
||||||
|
$mitglieder = null;
|
||||||
|
|
||||||
|
$query = "SELECT * FROM #__sportsmanager_halloffame WHERE halloffame_id = $id";
|
||||||
|
$rows = loadObjectList($db, $query);
|
||||||
|
if (count($rows) < 1) {
|
||||||
|
abortWithError("Wrong id!");
|
||||||
|
}
|
||||||
|
$halloffame = $rows[0];
|
||||||
|
$halloffame->platz2_zeigen = 0;
|
||||||
|
$halloffame->platz3_zeigen = 0;
|
||||||
|
|
||||||
|
$query = "SELECT t2.*, t1.halloffame"
|
||||||
|
. "\n FROM #__sportsmanager_halloffame t1"
|
||||||
|
. "\n LEFT JOIN #__sportsmanager_mitglied_von_halloffame t2 ON t2.halloffame_id = t1.halloffame_id"
|
||||||
|
. "\n WHERE t2.halloffame_id = $id"
|
||||||
|
. "\n ORDER BY t2.jahr DESC, platz ASC;";
|
||||||
|
$rows = loadObjectList($db, $query);
|
||||||
|
|
||||||
|
if (count($rows) > 0){
|
||||||
|
$mitglieder = [];
|
||||||
|
if ($halloffame->spielform == 1){
|
||||||
|
foreach ($rows as $row) {
|
||||||
|
$index_vereinid = "verein_id_" . $row->platz;
|
||||||
|
$index_teamid = "team_id_" . $row->platz;
|
||||||
|
$index_team = "teamname_" . $row->platz;
|
||||||
|
if (!isset($mitglieder[$row->jahr])) {
|
||||||
|
$mitglieder[$row->jahr] = new stdClass();
|
||||||
|
}
|
||||||
|
$mitglieder[$row->jahr]->jahr = $row->jahr;
|
||||||
|
$mitglieder[$row->jahr]->$index_vereinid = $row->verein_id;
|
||||||
|
$mitglieder[$row->jahr]->$index_team = $row->teamname;
|
||||||
|
if ($row->platz == 2 && !empty($row->teamname))
|
||||||
|
$halloffame->platz2_zeigen = 1;
|
||||||
|
if ($row->platz == 3 && !empty($row->teamname))
|
||||||
|
$halloffame->platz3_zeigen = 1;
|
||||||
|
|
||||||
|
//Suche team_id wenn keine verein_id vorhanden
|
||||||
|
if (empty($row->verein_id)){
|
||||||
|
$query = "SELECT team_id FROM #__sportsmanager_team WHERE teamname LIKE '$row->teamname%' ORDER BY team_id DESC LIMIT 1;";
|
||||||
|
$mitglieder[$row->jahr]->$index_teamid = loadResult($db, $query);
|
||||||
|
} else {
|
||||||
|
$mitglieder[$row->jahr]->$index_teamid = "";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ($halloffame->spielform == 2 || $halloffame->spielform == 3){
|
||||||
|
foreach ($rows as $row) {
|
||||||
|
$index_spieler1id = "spieler1_id_" . $row->platz;
|
||||||
|
$index_spieler1 = "spieler1_" . $row->platz;
|
||||||
|
$index_spieler2id = "spieler2_id_" . $row->platz;
|
||||||
|
$index_spieler2 = "spieler2_" . $row->platz;
|
||||||
|
|
||||||
|
if (!isset($mitglieder[$row->jahr])) {
|
||||||
|
$mitglieder[$row->jahr] = new stdClass();
|
||||||
|
}
|
||||||
|
$mitglieder[$row->jahr]->jahr = $row->jahr;
|
||||||
|
$mitglieder[$row->jahr]->$index_spieler1id = $row->spieler1_id;
|
||||||
|
$mitglieder[$row->jahr]->$index_spieler1 = $row->spieler1;
|
||||||
|
$mitglieder[$row->jahr]->$index_spieler2id = $row->spieler2_id;
|
||||||
|
$mitglieder[$row->jahr]->$index_spieler2 = $row->spieler2;
|
||||||
|
if ($row->platz == 2 && (!empty($row->spieler1) || !empty($row->spieler2)))
|
||||||
|
$halloffame->platz2_zeigen = 1;
|
||||||
|
if ($row->platz == 3 && (!empty($row->spieler1) || !empty($row->spieler2)))
|
||||||
|
$halloffame->platz3_zeigen = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isJson()) {
|
||||||
|
echo json_encode($mitglieder);
|
||||||
|
} else {
|
||||||
|
HTML_sportsmanager::halloffameDetails($params->get('titel'), $params->get('beschreibung'), $mitglieder, $halloffame);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function begegnungSpielplan($teamansicht = false): void
|
function begegnungSpielplan($teamansicht = false): void
|
||||||
{
|
{
|
||||||
$db = getDatabase();
|
$db = getDatabase();
|
||||||
@@ -4405,10 +4750,10 @@ function begegnungVerlegenForm(): void
|
|||||||
$aus_uebersicht = $jInput->get('aus_uebersicht', 0, 'INT');
|
$aus_uebersicht = $jInput->get('aus_uebersicht', 0, 'INT');
|
||||||
|
|
||||||
$query = "SELECT #__sportsmanager_veranstaltung.*, initial_ohne_termin, keine_gegenvorschlaege, vorlaufzeit_tage,"
|
$query = "SELECT #__sportsmanager_veranstaltung.*, initial_ohne_termin, keine_gegenvorschlaege, vorlaufzeit_tage,"
|
||||||
. "\n termine_minimal, termine_maximal, ablehnen, begruendung_erforderlich"
|
. "\n termine_minimal, termine_maximal, ablehnen, begruendung_erforderlich"
|
||||||
. "\n FROM #__sportsmanager_veranstaltung LEFT JOIN #__sportsmanager_verschieberegel USING (verschieberegel_id)"
|
. "\n FROM #__sportsmanager_veranstaltung LEFT JOIN #__sportsmanager_verschieberegel USING (verschieberegel_id)"
|
||||||
. "\n WHERE veranstaltung_id = $veranstaltungid";
|
. "\n WHERE veranstaltung_id = $veranstaltungid";
|
||||||
|
|
||||||
$rows = loadObjectList($db, $query);
|
$rows = loadObjectList($db, $query);
|
||||||
if (count($rows) < 1)
|
if (count($rows) < 1)
|
||||||
die("Wrong id!");
|
die("Wrong id!");
|
||||||
@@ -4776,6 +5121,54 @@ function begegnungVerlegen(): void
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function neueTeamStrafe($teamid, $veranstaltungid, $strafe, $moderator_user_id, $beschreibung) {
|
||||||
|
$app = Factory::getContainer()->get(SiteApplication::class);
|
||||||
|
$db = getDatabase();
|
||||||
|
|
||||||
|
$zeitpunkt = date('Y-m-d H:i:s');
|
||||||
|
$query = "INSERT INTO #__sportsmanager_team_strafen"
|
||||||
|
. "\n (team_id, zeitpunkt, moderator_user_id, strafe, beschreibung)"
|
||||||
|
. "\n VALUES ($teamid, '$zeitpunkt', $moderator_user_id, $strafe, '$beschreibung')";
|
||||||
|
$db->setQuery($query);
|
||||||
|
if (!$result = $db->execute()) { die($db->stderr(true)); }
|
||||||
|
|
||||||
|
$query = "UPDATE #__sportsmanager_team"
|
||||||
|
. "\n SET zusatzpunkte = ("
|
||||||
|
. "\n SELECT SUM(#__sportsmanager_team_strafen.strafe)"
|
||||||
|
. "\n FROM #__sportsmanager_team_strafen"
|
||||||
|
. "\n WHERE #__sportsmanager_team_strafen.team_id = $teamid"
|
||||||
|
. "\n ) WHERE #__sportsmanager_team.team_id = $teamid";
|
||||||
|
$db->setQuery($query);
|
||||||
|
if (!$result = $db->execute()) { die($db->stderr(true)); }
|
||||||
|
|
||||||
|
teamstatistikAktualisieren($veranstaltungid);
|
||||||
|
|
||||||
|
$query = "SELECT teamname FROM #__sportsmanager_team WHERE team_id = $teamid";
|
||||||
|
$teamname = loadResult($db, $query);
|
||||||
|
|
||||||
|
$mailfrom = $app->getCfg('mailfrom');
|
||||||
|
$fromname = $app->getCfg('fromname');
|
||||||
|
$penaltycc = $app->getCfg('penaltycc');
|
||||||
|
$subject = JText::sprintf('COM_SPORTSMANAGER_EXPLICIT_PENALTIES_EMAIL_SUBJECT', $teamname);
|
||||||
|
$body = JText::sprintf('COM_SPORTSMANAGER_EXPLICIT_PENALTIES_EMAIL_BODY', $teamname, $strafe, $beschreibung);
|
||||||
|
|
||||||
|
$query = "SELECT t1.email FROM #__users AS t1, #__sportsmanager_berechtigt_fuer_team AS t2 WHERE t1.id = t2.berechtigt_user_id AND t2.berechtigt_team_id = $teamid";
|
||||||
|
$rows = loadObjectList($db, $query);
|
||||||
|
if(!empty($rows)) {
|
||||||
|
$mailer = Factory::getContainer()->get(MailerFactoryInterface::class)->createMailer();
|
||||||
|
$mailer->setSender($mailfrom, $fromname);
|
||||||
|
if (!empty($penaltycc)) {
|
||||||
|
$mailer->addCc($penaltycc);
|
||||||
|
}
|
||||||
|
$mailer->setSubject($subject);
|
||||||
|
$mailer->setBody($body);
|
||||||
|
foreach ($rows as $row) {
|
||||||
|
$mailer->addBcc($row->email);
|
||||||
|
}
|
||||||
|
$mailer->send();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function teamstatistikAktualisieren($geaenderte_veranstaltung_id = 0, $geaenderter_teamspiel_modus_id = 0): void
|
function teamstatistikAktualisieren($geaenderte_veranstaltung_id = 0, $geaenderter_teamspiel_modus_id = 0): void
|
||||||
{
|
{
|
||||||
$db = getDatabase();
|
$db = getDatabase();
|
||||||
@@ -4913,7 +5306,7 @@ function teamstatistikAktualisieren($geaenderte_veranstaltung_id = 0, $geaendert
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Direkter Vergleich, wenn mindestens die Hälfte der Spieltage gespielt sind.
|
// Direkter Vergleich, wenn mindestens die Hälfte der Spieltage gespielt sind.
|
||||||
if ($veranstaltung->direktervergleich && $anzahl_spieltage_gespielt >= $anzahl_spieltage_komplett/2 && $anzahl_spieltage_komplett >= 3){
|
if ($veranstaltung->direktervergleich > 0 && $anzahl_spieltage_gespielt >= $anzahl_spieltage_komplett/2 && $anzahl_spieltage_komplett >= 3){
|
||||||
$teams = getTabelleDirekterVergleich($teams,$veranstaltung,$aktueller_spieltag);
|
$teams = getTabelleDirekterVergleich($teams,$veranstaltung,$aktueller_spieltag);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -4927,7 +5320,10 @@ function teamstatistikAktualisieren($geaenderte_veranstaltung_id = 0, $geaendert
|
|||||||
$buchholz1_wert = 0;
|
$buchholz1_wert = 0;
|
||||||
$buchholz2_wert = 0;
|
$buchholz2_wert = 0;
|
||||||
foreach ($teams as $team) {
|
foreach ($teams as $team) {
|
||||||
if ($platz == 1 || (($veranstaltung->tabellenwertung <= 9 || $veranstaltung->tabellenwertung >= 21) && $gesamtpunkte != $team->gesamtpunkte) || (($veranstaltung->tabellenwertung == 1 || $veranstaltung->tabellenwertung == 4 || $veranstaltung->tabellenwertung == 7 || $veranstaltung->tabellenwertung == 10 || $veranstaltung->tabellenwertung == 21 || $veranstaltung->tabellenwertung == 24 || $veranstaltung->tabellenwertung == 27) && ($spielpunkte_differenz != $team->spielpunkte_differenz || $punkte_differenz != $team->punkte_differenz)) || (($veranstaltung->tabellenwertung == 2 || $veranstaltung->tabellenwertung == 5 || $veranstaltung->tabellenwertung == 8 || $veranstaltung->tabellenwertung == 11 || $veranstaltung->tabellenwertung == 22 || $veranstaltung->tabellenwertung == 25 || $veranstaltung->tabellenwertung == 28) && ($spielpunkte_quotient != $team->spielpunkte_quotient || $punkte_quotient != $team->punkte_quotient)) || (($veranstaltung->tabellenwertung >= 21) && ($team->buchholz1 != $buchholz1_wert || $team->buchholz2 != $buchholz2_wert)))
|
if ($platz == 1 || (($veranstaltung->tabellenwertung <= 9 || $veranstaltung->tabellenwertung >= 21) && $gesamtpunkte != $team->gesamtpunkte)
|
||||||
|
|| (($veranstaltung->tabellenwertung == 1 || $veranstaltung->tabellenwertung == 4 || $veranstaltung->tabellenwertung == 7 || $veranstaltung->tabellenwertung == 10 || $veranstaltung->tabellenwertung == 21 || $veranstaltung->tabellenwertung == 24 || $veranstaltung->tabellenwertung == 27) && ($spielpunkte_differenz != $team->spielpunkte_differenz || $punkte_differenz != $team->punkte_differenz))
|
||||||
|
|| (($veranstaltung->tabellenwertung == 2 || $veranstaltung->tabellenwertung == 5 || $veranstaltung->tabellenwertung == 8 || $veranstaltung->tabellenwertung == 11 || $veranstaltung->tabellenwertung == 22 || $veranstaltung->tabellenwertung == 25 || $veranstaltung->tabellenwertung == 28) && ($spielpunkte_quotient != $team->spielpunkte_quotient || $punkte_quotient != $team->punkte_quotient))
|
||||||
|
|| (($veranstaltung->tabellenwertung >= 21) && ($team->buchholz1 != $buchholz1_wert || $team->buchholz2 != $buchholz2_wert)))
|
||||||
$tatsaechlicher_platz = $platz;
|
$tatsaechlicher_platz = $platz;
|
||||||
$query = "UPDATE #__sportsmanager_team"
|
$query = "UPDATE #__sportsmanager_team"
|
||||||
. "\n SET platz = $tatsaechlicher_platz";
|
. "\n SET platz = $tatsaechlicher_platz";
|
||||||
@@ -5468,17 +5864,23 @@ function spielerstatistikAktualisieren($geaenderte_spielerstatistik_id = 0, $gea
|
|||||||
$punkte = array();
|
$punkte = array();
|
||||||
|
|
||||||
foreach ($veranstaltungen as $veranstaltung) {
|
foreach ($veranstaltungen as $veranstaltung) {
|
||||||
$query = "SELECT heim_spieler_1_id, heim_spieler_2_id, gast_spieler_1_id, gast_spieler_2_id, teamspiel_heim_punkte, teamspiel_gast_punkte, teamspiel_heim_spielpunkte, teamspiel_gast_spielpunkte"
|
$query = "SELECT heim_spieler_1_id, heim_spieler_2_id, gast_spieler_1_id, gast_spieler_2_id, heim_team_id, gast_team_id,"
|
||||||
|
. "\n teamspiel_heim_punkte, teamspiel_gast_punkte, teamspiel_heim_spielpunkte, teamspiel_gast_spielpunkte"
|
||||||
. "\n FROM #__sportsmanager_begegnung"
|
. "\n FROM #__sportsmanager_begegnung"
|
||||||
. "\n LEFT JOIN #__sportsmanager_team ON heim_team_id = #__sportsmanager_team.team_id"
|
. "\n LEFT JOIN #__sportsmanager_team ON heim_team_id = #__sportsmanager_team.team_id"
|
||||||
. "\n LEFT JOIN #__sportsmanager_teamspiel ON #__sportsmanager_begegnung.begegnung_id = #__sportsmanager_teamspiel.begegnung_id"
|
. "\n LEFT JOIN #__sportsmanager_teamspiel ON #__sportsmanager_begegnung.begegnung_id = #__sportsmanager_teamspiel.begegnung_id"
|
||||||
. "\n LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis ON #__sportsmanager_begegnung.begegnung_id = #__sportsmanager_unbestaetigtes_ergebnis.begegnung_id"
|
. "\n LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis ON #__sportsmanager_begegnung.begegnung_id = #__sportsmanager_unbestaetigtes_ergebnis.begegnung_id"
|
||||||
. "\n WHERE ISNULL(unbestaetigtes_ergebnis_id) AND veranstaltung_id = $veranstaltung->veranstaltung_id";
|
. "\n LEFT JOIN #__sportsmanager_veranstaltung ON #__sportsmanager_team.veranstaltung_id = #__sportsmanager_veranstaltung.veranstaltung_id"
|
||||||
if ($spielerstatistik->typ == 1)
|
. "\n LEFT JOIN #__sportsmanager_teamspiel_modus ON #__sportsmanager_veranstaltung.modus_id = #__sportsmanager_teamspiel_modus.teamspiel_modus_id"
|
||||||
|
. "\n WHERE ISNULL(unbestaetigtes_ergebnis_id) AND #__sportsmanager_veranstaltung.veranstaltung_id = $veranstaltung->veranstaltung_id"
|
||||||
|
. "\n AND (#__sportsmanager_teamspiel_modus.spiele_in_spielerstatistik <= 0"
|
||||||
|
. "\n OR teamspiel_nummer <= #__sportsmanager_teamspiel_modus.spiele_in_spielerstatistik)";
|
||||||
|
if ($spielerstatistik->typ == 1)
|
||||||
$query .= "\n AND ISNULL(heim_spieler_2_id) AND ISNULL(gast_spieler_2_id)";
|
$query .= "\n AND ISNULL(heim_spieler_2_id) AND ISNULL(gast_spieler_2_id)";
|
||||||
else if ($spielerstatistik->typ == 2 || $spielerstatistik->typ == 3)
|
else if ($spielerstatistik->typ == 2 || $spielerstatistik->typ == 3)
|
||||||
$query .= "\n AND NOT (ISNULL(heim_spieler_2_id) AND ISNULL(gast_spieler_2_id))";
|
$query .= "\n AND NOT (ISNULL(heim_spieler_2_id) AND ISNULL(gast_spieler_2_id))";
|
||||||
$begegnungen = loadObjectList($db, $query);
|
$query .= "\n ORDER BY #__sportsmanager_begegnung.zeitpunkt ASC;";
|
||||||
|
$begegnungen = loadObjectList($db, $query);
|
||||||
|
|
||||||
foreach ($begegnungen as $begegnung) {
|
foreach ($begegnungen as $begegnung) {
|
||||||
$beteiligte = array();
|
$beteiligte = array();
|
||||||
@@ -5511,6 +5913,8 @@ function spielerstatistikAktualisieren($geaenderte_spielerstatistik_id = 0, $gea
|
|||||||
$gast_punkte = $begegnung->teamspiel_gast_punkte;
|
$gast_punkte = $begegnung->teamspiel_gast_punkte;
|
||||||
$heim_spielpunkte = $begegnung->teamspiel_heim_spielpunkte;
|
$heim_spielpunkte = $begegnung->teamspiel_heim_spielpunkte;
|
||||||
$gast_spielpunkte = $begegnung->teamspiel_gast_spielpunkte;
|
$gast_spielpunkte = $begegnung->teamspiel_gast_spielpunkte;
|
||||||
|
$heim_team_id = $begegnung->heim_team_id;
|
||||||
|
$gast_team_id = $begegnung->gast_team_id;
|
||||||
$ergebnis = $heim_punkte > $gast_punkte ? 1 : ($heim_punkte < $gast_punkte ? 2 : 0);
|
$ergebnis = $heim_punkte > $gast_punkte ? 1 : ($heim_punkte < $gast_punkte ? 2 : 0);
|
||||||
$heim_saetze = $ergebnis == 1 ? 1 : 0;
|
$heim_saetze = $ergebnis == 1 ? 1 : 0;
|
||||||
$unentschieden_saetze = $ergebnis == 0 ? 1 : 0;
|
$unentschieden_saetze = $ergebnis == 0 ? 1 : 0;
|
||||||
@@ -5531,6 +5935,10 @@ function spielerstatistikAktualisieren($geaenderte_spielerstatistik_id = 0, $gea
|
|||||||
$punkte[$spieler_id]["sv"] = 0;
|
$punkte[$spieler_id]["sv"] = 0;
|
||||||
$punkte[$spieler_id]["pg"] = 0;
|
$punkte[$spieler_id]["pg"] = 0;
|
||||||
$punkte[$spieler_id]["pv"] = 0;
|
$punkte[$spieler_id]["pv"] = 0;
|
||||||
|
if ($typ == "H")
|
||||||
|
$punkte[$spieler_id]["team_id"] = $heim_team_id;
|
||||||
|
else
|
||||||
|
$punkte[$spieler_id]["team_id"] = $gast_team_id;
|
||||||
}
|
}
|
||||||
if (($ergebnis == 1 && $typ == "H") || ($ergebnis == 2 && $typ != "H"))
|
if (($ergebnis == 1 && $typ == "H") || ($ergebnis == 2 && $typ != "H"))
|
||||||
$punkte[$spieler_id]["s"] += 1;
|
$punkte[$spieler_id]["s"] += 1;
|
||||||
@@ -5657,6 +6065,11 @@ function spielerstatistikAktualisieren($geaenderte_spielerstatistik_id = 0, $gea
|
|||||||
$spieler_punkte_saetze_verloren = $spieler_punkte["sv"];
|
$spieler_punkte_saetze_verloren = $spieler_punkte["sv"];
|
||||||
$spieler_punkte_punkte_gewonnen = $spieler_punkte["pg"];
|
$spieler_punkte_punkte_gewonnen = $spieler_punkte["pg"];
|
||||||
$spieler_punkte_punkte_verloren = $spieler_punkte["pv"];
|
$spieler_punkte_punkte_verloren = $spieler_punkte["pv"];
|
||||||
|
if (!empty($spieler_punkte["team_id"]))
|
||||||
|
$spieler_team_id = $spieler_punkte["team_id"];
|
||||||
|
else
|
||||||
|
$spieler_team_id = "NULL";
|
||||||
|
|
||||||
$query = "UPDATE #__sportsmanager_bestenliste_punkte"
|
$query = "UPDATE #__sportsmanager_bestenliste_punkte"
|
||||||
. "\n SET siege = $spieler_punkte_siege,"
|
. "\n SET siege = $spieler_punkte_siege,"
|
||||||
. "\n unentschieden = $spieler_punkte_unentschieden,"
|
. "\n unentschieden = $spieler_punkte_unentschieden,"
|
||||||
@@ -5667,7 +6080,8 @@ function spielerstatistikAktualisieren($geaenderte_spielerstatistik_id = 0, $gea
|
|||||||
. "\n saetze_unentschieden = $spieler_punkte_saetze_unentschieden,"
|
. "\n saetze_unentschieden = $spieler_punkte_saetze_unentschieden,"
|
||||||
. "\n saetze_verloren = $spieler_punkte_saetze_verloren,"
|
. "\n saetze_verloren = $spieler_punkte_saetze_verloren,"
|
||||||
. "\n punkte_gewonnen = $spieler_punkte_punkte_gewonnen,"
|
. "\n punkte_gewonnen = $spieler_punkte_punkte_gewonnen,"
|
||||||
. "\n punkte_verloren = $spieler_punkte_punkte_verloren"
|
. "\n punkte_verloren = $spieler_punkte_punkte_verloren,"
|
||||||
|
. "\n team_id = $spieler_team_id"
|
||||||
. "\n WHERE bestenliste_punkte_id = $row->bestenliste_punkte_id;";
|
. "\n WHERE bestenliste_punkte_id = $row->bestenliste_punkte_id;";
|
||||||
$db->setQuery($query);
|
$db->setQuery($query);
|
||||||
if (!$db->execute()) {
|
if (!$db->execute()) {
|
||||||
@@ -5694,6 +6108,10 @@ function spielerstatistikAktualisieren($geaenderte_spielerstatistik_id = 0, $gea
|
|||||||
$spieler_punkte_saetze_verloren = $spieler_punkte["sv"];
|
$spieler_punkte_saetze_verloren = $spieler_punkte["sv"];
|
||||||
$spieler_punkte_punkte_gewonnen = $spieler_punkte["pg"];
|
$spieler_punkte_punkte_gewonnen = $spieler_punkte["pg"];
|
||||||
$spieler_punkte_punkte_verloren = $spieler_punkte["pv"];
|
$spieler_punkte_punkte_verloren = $spieler_punkte["pv"];
|
||||||
|
if (!empty($spieler_punkte["team_id"]))
|
||||||
|
$spieler_team_id = $spieler_punkte["team_id"];
|
||||||
|
else
|
||||||
|
$spieler_team_id = "NULL";
|
||||||
$query = "INSERT #__sportsmanager_bestenliste_punkte"
|
$query = "INSERT #__sportsmanager_bestenliste_punkte"
|
||||||
. "\n SET siege = $spieler_punkte_siege,"
|
. "\n SET siege = $spieler_punkte_siege,"
|
||||||
. "\n unentschieden = $spieler_punkte_unentschieden,"
|
. "\n unentschieden = $spieler_punkte_unentschieden,"
|
||||||
@@ -5707,6 +6125,7 @@ function spielerstatistikAktualisieren($geaenderte_spielerstatistik_id = 0, $gea
|
|||||||
. "\n punkte_verloren = $spieler_punkte_punkte_verloren,"
|
. "\n punkte_verloren = $spieler_punkte_punkte_verloren,"
|
||||||
. "\n spieler_id = $spieler_1_id,"
|
. "\n spieler_id = $spieler_1_id,"
|
||||||
. "\n spieler_2_id = " . ($spieler_2_id != NULL ? "$spieler_2_id" : "NULL") . ","
|
. "\n spieler_2_id = " . ($spieler_2_id != NULL ? "$spieler_2_id" : "NULL") . ","
|
||||||
|
. "\n team_id = $spieler_team_id,"
|
||||||
. "\n bestenliste_id = $spielerstatistik->bestenliste_id;";
|
. "\n bestenliste_id = $spielerstatistik->bestenliste_id;";
|
||||||
$db->setQuery($query);
|
$db->setQuery($query);
|
||||||
if (!$db->execute()) {
|
if (!$db->execute()) {
|
||||||
@@ -5716,6 +6135,56 @@ function spielerstatistikAktualisieren($geaenderte_spielerstatistik_id = 0, $gea
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function halloffameAktualisieren(): void
|
||||||
|
{
|
||||||
|
//Beim Löschen von Spieler bzw. Vereine werden die entsprechenden ids in Hall of Fame und Verbandsorgane gelöscht
|
||||||
|
$db = getDatabase();
|
||||||
|
|
||||||
|
// spieler1_id prüfen
|
||||||
|
$query = "UPDATE #__sportsmanager_mitglied_von_halloffame h"
|
||||||
|
. "\n LEFT JOIN #__sportsmanager_spieler s ON s.spieler_id = h.spieler1_id"
|
||||||
|
. "\n SET h.spieler1_id = NULL"
|
||||||
|
. "\n WHERE h.spieler1_id IS NOT NULL"
|
||||||
|
. "\n AND s.spieler_id IS NULL;";
|
||||||
|
$db->setQuery($query);
|
||||||
|
if (!$db->execute()) {
|
||||||
|
die($db->stderr(true));
|
||||||
|
}
|
||||||
|
|
||||||
|
// spieler2_id prüfen
|
||||||
|
$query = "UPDATE #__sportsmanager_mitglied_von_halloffame h"
|
||||||
|
. "\n LEFT JOIN #__sportsmanager_spieler s ON s.spieler_id = h.spieler2_id"
|
||||||
|
. "\n SET h.spieler2_id = NULL"
|
||||||
|
. "\n WHERE h.spieler2_id IS NOT NULL"
|
||||||
|
. "\n AND s.spieler_id IS NULL;";
|
||||||
|
$db->setQuery($query);
|
||||||
|
if (!$db->execute()) {
|
||||||
|
die($db->stderr(true));
|
||||||
|
}
|
||||||
|
|
||||||
|
// verein_id prüfen
|
||||||
|
$query = "UPDATE #__sportsmanager_mitglied_von_halloffame h"
|
||||||
|
. "\n LEFT JOIN #__sportsmanager_verein v ON v.verein_id = h.verein_id"
|
||||||
|
. "\n SET h.verein_id = NULL"
|
||||||
|
. "\n WHERE h.verein_id IS NOT NULL"
|
||||||
|
. "\n AND v.verein_id IS NULL;";
|
||||||
|
$db->setQuery($query);
|
||||||
|
if (!$db->execute()) {
|
||||||
|
die($db->stderr(true));
|
||||||
|
}
|
||||||
|
|
||||||
|
// Verbandsorgan-Spieler prüfen
|
||||||
|
$query = "UPDATE #__sportsmanager_mitglied_von_verbandsorgan h"
|
||||||
|
. "\n LEFT JOIN #__sportsmanager_spieler s ON s.spieler_id = h.spieler_id"
|
||||||
|
. "\n SET h.spieler_id = NULL"
|
||||||
|
. "\n WHERE h.spieler_id IS NOT NULL"
|
||||||
|
. "\n AND s.spieler_id IS NULL;";
|
||||||
|
$db->setQuery($query);
|
||||||
|
if (!$db->execute()) {
|
||||||
|
die($db->stderr(true));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function wannGespieltAktualisieren(): void
|
function wannGespieltAktualisieren(): void
|
||||||
{
|
{
|
||||||
$db = getDatabase();
|
$db = getDatabase();
|
||||||
@@ -6905,6 +7374,7 @@ function spielerstatistiken(): void
|
|||||||
|
|
||||||
$details_anzeigen = currentUserHasAccessToDetails();
|
$details_anzeigen = currentUserHasAccessToDetails();
|
||||||
$filter_saison_id = $jInput->get('filter_saison_id', 0, 'INT');
|
$filter_saison_id = $jInput->get('filter_saison_id', 0, 'INT');
|
||||||
|
|
||||||
if ($filter_saison_id == 0)
|
if ($filter_saison_id == 0)
|
||||||
$filter_saison_id = $jInput->cookie->get('sportsmanager_filter_saison_id', 0, 'INT');
|
$filter_saison_id = $jInput->cookie->get('sportsmanager_filter_saison_id', 0, 'INT');
|
||||||
|
|
||||||
@@ -6934,25 +7404,53 @@ function spielerstatistiken(): void
|
|||||||
. "\n ORDER BY reihenfolge, bezeichnung, kategorie";
|
. "\n ORDER BY reihenfolge, bezeichnung, kategorie";
|
||||||
$spielerstatistiken = loadObjectList($db, $query);
|
$spielerstatistiken = loadObjectList($db, $query);
|
||||||
|
|
||||||
HTML_sportsmanager::spielerstatistikenHeader($params->get('titel'), $params->get('beschreibung'), $saisons, $filter_saison_id);
|
HTML_sportsmanager::spielerstatistikenHeader($params->get('titel'), $params->get('beschreibung'), $saisons, $filter_saison_id, "", null, null, null, null);
|
||||||
|
|
||||||
foreach ($spielerstatistiken as $spielerstatistik) {
|
foreach ($spielerstatistiken as $spielerstatistik) {
|
||||||
$query = "SELECT #__sportsmanager_bestenliste_punkte.*, #__sportsmanager_spieler.nachname, #__sportsmanager_spieler.vorname, #__sportsmanager_spieler.geschlecht, #__sportsmanager_spieler.aktueller_verein_id, #__sportsmanager_spieler.bild_ausblenden, spieler_2.nachname AS nachname_2, spieler_2.vorname AS vorname_2, spieler_2.geschlecht AS geschlecht_2, spieler_2.aktueller_verein_id AS aktueller_verein_id_2, spieler_2.bild_ausblenden AS bild_ausblenden_2";
|
//Mindestzahl an Spielen
|
||||||
if ($spielerstatistik->tabellenwertung == 1)
|
$spielerstatistik->min_spiele = 0;
|
||||||
|
if (in_array($spielerstatistik->tabellenwertung, [4, 5])) {
|
||||||
|
$query = "SELECT siege + unentschieden + niederlagen AS spiele"
|
||||||
|
. "\n FROM #__sportsmanager_bestenliste_punkte"
|
||||||
|
. "\n WHERE bestenliste_id = $spielerstatistik->bestenliste_id"
|
||||||
|
. "\n ORDER BY spiele DESC;";
|
||||||
|
$max_spiele = loadResult($db, $query);
|
||||||
|
$spielerstatistik->min_spiele = round($max_spiele/2);
|
||||||
|
}
|
||||||
|
$query = "SELECT #__sportsmanager_bestenliste_punkte.*, #__sportsmanager_spieler.nachname, team.teamname,"
|
||||||
|
. "\n siege + unentschieden + niederlagen AS spiele,"
|
||||||
|
. "\n #__sportsmanager_spieler.vorname, #__sportsmanager_spieler.geschlecht,"
|
||||||
|
. "\n #__sportsmanager_spieler.aktueller_verein_id, #__sportsmanager_spieler.bild_ausblenden,"
|
||||||
|
. "\n spieler_2.nachname AS nachname_2, spieler_2.vorname AS vorname_2,"
|
||||||
|
. "\n spieler_2.geschlecht AS geschlecht_2, spieler_2.aktueller_verein_id AS aktueller_verein_id_2,"
|
||||||
|
. "\n spieler_2.bild_ausblenden AS bild_ausblenden_2,"
|
||||||
|
. "\n IF(siege > 0 OR unentschieden > 0, ROUND(((siege * 2 + unentschieden)*100) / ((siege + unentschieden + niederlagen)*2)), 0) AS quotient";
|
||||||
|
if ($spielerstatistik->tabellenwertung == 0){
|
||||||
|
$query .= "\n , 0 AS leistungsindex";
|
||||||
|
} else if ($spielerstatistik->tabellenwertung == 1){
|
||||||
$query .= ", IF(spielpunkte_gewonnen > 0 OR spielpunkte_verloren > 0, spielpunkte_gewonnen * spielpunkte_gewonnen * 100 / (spielpunkte_gewonnen + spielpunkte_verloren), 0) AS leistungsindex";
|
$query .= ", IF(spielpunkte_gewonnen > 0 OR spielpunkte_verloren > 0, spielpunkte_gewonnen * spielpunkte_gewonnen * 100 / (spielpunkte_gewonnen + spielpunkte_verloren), 0) AS leistungsindex";
|
||||||
else if ($spielerstatistik->tabellenwertung == 2)
|
} else if ($spielerstatistik->tabellenwertung == 2){
|
||||||
$query .= ", IF(punkte_gewonnen > 0 OR punkte_verloren > 0, siege * punkte_gewonnen * 10 / (punkte_gewonnen + punkte_verloren), 0) AS leistungsindex";
|
$query .= ", IF(punkte_gewonnen > 0 OR punkte_verloren > 0, ROUND(siege * punkte_gewonnen * 10 / (punkte_gewonnen + punkte_verloren)), 0) AS leistungsindex";
|
||||||
$query .= "\n FROM #__sportsmanager_bestenliste_punkte"
|
} else if ($spielerstatistik->tabellenwertung == 3){
|
||||||
|
$query .= "\n , IF(punkte_gewonnen > 0 OR punkte_verloren > 0, siege * 2 + unentschieden + punkte_gewonnen - punkte_verloren, 0) AS leistungsindex";
|
||||||
|
} else if ($spielerstatistik->tabellenwertung == 4){
|
||||||
|
$query .= "\n , IF(punkte_gewonnen > 0 OR punkte_verloren > 0, ROUND(punkte_gewonnen*100 / (punkte_gewonnen + punkte_verloren),2), 0) AS leistungsindex";
|
||||||
|
} else if ($spielerstatistik->tabellenwertung == 5){
|
||||||
|
$query .= "\n , IF(punkte_gewonnen > 0 OR punkte_verloren > 0, ROUND(spielpunkte_gewonnen / (siege + unentschieden + niederlagen),2), 0) AS leistungsindex";
|
||||||
|
}
|
||||||
|
$query .= "\n FROM #__sportsmanager_bestenliste_punkte"
|
||||||
. "\n LEFT JOIN #__sportsmanager_spieler USING (spieler_id)"
|
. "\n LEFT JOIN #__sportsmanager_spieler USING (spieler_id)"
|
||||||
|
. "\n LEFT JOIN (SELECT team_id, teamname FROM #__sportsmanager_team) AS team ON #__sportsmanager_bestenliste_punkte.team_id = team.team_id"
|
||||||
. "\n LEFT JOIN #__sportsmanager_spieler AS spieler_2 ON spieler_2.spieler_id = spieler_2_id"
|
. "\n LEFT JOIN #__sportsmanager_spieler AS spieler_2 ON spieler_2.spieler_id = spieler_2_id"
|
||||||
. "\n WHERE bestenliste_id = $spielerstatistik->bestenliste_id";
|
. "\n WHERE bestenliste_id = $spielerstatistik->bestenliste_id"
|
||||||
|
. "\n AND siege + unentschieden + niederlagen >= $spielerstatistik->min_spiele";
|
||||||
if ($spielerstatistik->tabellenwertung == 0)
|
if ($spielerstatistik->tabellenwertung == 0)
|
||||||
$query .= "\n ORDER BY spielpunkte_gewonnen DESC, spielpunkte_verloren, punkte_gewonnen - punkte_verloren DESC, nachname, vorname";
|
$query .= "\n ORDER BY spielpunkte_gewonnen DESC, spielpunkte_verloren, punkte_gewonnen - punkte_verloren DESC, nachname, vorname";
|
||||||
else
|
else
|
||||||
$query .= "\n ORDER BY leistungsindex DESC, spielpunkte_gewonnen DESC, spielpunkte_verloren, punkte_gewonnen - punkte_verloren DESC, nachname, vorname";
|
$query .= "\n ORDER BY leistungsindex DESC, quotient DESC, punkte_gewonnen - punkte_verloren DESC, nachname, vorname";
|
||||||
$spielerstatistik_punkte = loadObjectList($db, $query);
|
$spielerstatistik_punkte = loadObjectList($db, $query);
|
||||||
|
|
||||||
HTML_sportsmanager::spielerstatistik($spielerstatistik, $spielerstatistik_punkte, FALSE, 0, 0, $details_anzeigen);
|
HTML_sportsmanager::spielerstatistik($spielerstatistik, $spielerstatistik_punkte, FALSE, 0, 0, 0, $details_anzeigen);
|
||||||
}
|
}
|
||||||
|
|
||||||
administrationFooter();
|
administrationFooter();
|
||||||
@@ -6961,6 +7459,7 @@ function spielerstatistiken(): void
|
|||||||
function spielerstatistik(): void
|
function spielerstatistik(): void
|
||||||
{
|
{
|
||||||
$db = getDatabase();
|
$db = getDatabase();
|
||||||
|
global $params;
|
||||||
$jInput = Factory::getContainer()->get(SiteApplication::class)->input;
|
$jInput = Factory::getContainer()->get(SiteApplication::class)->input;
|
||||||
|
|
||||||
$id = $jInput->get('id', 0, 'INT');
|
$id = $jInput->get('id', 0, 'INT');
|
||||||
@@ -6976,7 +7475,10 @@ function spielerstatistik(): void
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
$details_anzeigen = currentUserHasAccessToDetails();
|
$details_anzeigen = currentUserHasAccessToDetails();
|
||||||
|
$filter_min_spiele = $jInput->get('filter_min_spiele', 999, 'INT');
|
||||||
$filter_saison_id = $jInput->get('filter_saison_id', 0, 'INT');
|
$filter_saison_id = $jInput->get('filter_saison_id', 0, 'INT');
|
||||||
|
$filter_teams = $jInput->get('filter_teams', 0, 'INT');
|
||||||
|
|
||||||
if ($filter_saison_id == 0) {
|
if ($filter_saison_id == 0) {
|
||||||
$filter_saison_id = $jInput->cookie->get('sportsmanager_filter_saison_id', 0, 'INT');
|
$filter_saison_id = $jInput->cookie->get('sportsmanager_filter_saison_id', 0, 'INT');
|
||||||
}
|
}
|
||||||
@@ -7012,29 +7514,80 @@ function spielerstatistik(): void
|
|||||||
}
|
}
|
||||||
$spielerstatistik = $rows[0];
|
$spielerstatistik = $rows[0];
|
||||||
|
|
||||||
|
//Mindestzahl an Spielen
|
||||||
|
$spiele = null;
|
||||||
|
$spielerstatistik->min_spiele = 0;
|
||||||
|
if (in_array($spielerstatistik->tabellenwertung, [4, 5])) {
|
||||||
|
$query = "SELECT siege + unentschieden + niederlagen AS spiele"
|
||||||
|
. "\n FROM #__sportsmanager_bestenliste_punkte"
|
||||||
|
. "\n WHERE bestenliste_id = $id"
|
||||||
|
. "\n ORDER BY spiele DESC;";
|
||||||
|
$max_spiele = loadResult($db, $query);
|
||||||
|
if ($max_spiele > 0){
|
||||||
|
$offset = $max_spiele/10;
|
||||||
|
$spiele[0] = "Alle zeigen";
|
||||||
|
for($i = 1; $i <= 10; $i++){
|
||||||
|
$spiele[round($offset*$i)] = $i*10 . "%";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$spielerstatistik->max_spiele = $max_spiele;
|
||||||
|
if ($filter_min_spiele == 999)
|
||||||
|
$spielerstatistik->min_spiele = round($max_spiele/2);
|
||||||
|
else
|
||||||
|
$spielerstatistik->min_spiele = $filter_min_spiele;
|
||||||
|
}
|
||||||
|
|
||||||
// Spielerstatistikpunkte ermitteln
|
// Spielerstatistikpunkte ermitteln
|
||||||
$query = "SELECT #__sportsmanager_bestenliste_punkte.*, #__sportsmanager_spieler.nachname, #__sportsmanager_spieler.vorname, #__sportsmanager_spieler.geschlecht, #__sportsmanager_spieler.aktueller_verein_id, #__sportsmanager_spieler.bild_ausblenden, spieler_2.nachname AS nachname_2, spieler_2.vorname AS vorname_2, spieler_2.geschlecht AS geschlecht_2, spieler_2.aktueller_verein_id AS aktueller_verein_id_2, spieler_2.bild_ausblenden AS bild_ausblenden_2";
|
$query = "SELECT #__sportsmanager_bestenliste_punkte.*, #__sportsmanager_spieler.nachname, #__sportsmanager_spieler.vorname, team.teamname,"
|
||||||
if ($spielerstatistik->tabellenwertung == 1) {
|
. "\n siege + unentschieden + niederlagen AS spiele,"
|
||||||
$query .= ", IF(spielpunkte_gewonnen > 0 OR spielpunkte_verloren > 0, spielpunkte_gewonnen * spielpunkte_gewonnen * 100 / (spielpunkte_gewonnen + spielpunkte_verloren), 0) AS leistungsindex";
|
. "\n #__sportsmanager_spieler.geschlecht, #__sportsmanager_spieler.aktueller_verein_id, #__sportsmanager_spieler.bild_ausblenden,"
|
||||||
} else if ($spielerstatistik->tabellenwertung == 2) {
|
. "\n spieler_2.nachname AS nachname_2, spieler_2.vorname AS vorname_2, spieler_2.geschlecht AS geschlecht_2,"
|
||||||
$query .= ", IF(punkte_gewonnen > 0 OR punkte_verloren > 0, siege * punkte_gewonnen * 10 / (punkte_gewonnen + punkte_verloren), 0) AS leistungsindex";
|
. "\n spieler_2.aktueller_verein_id AS aktueller_verein_id_2, spieler_2.bild_ausblenden AS bild_ausblenden_2,"
|
||||||
}
|
. "\n IF(siege > 0 OR unentschieden > 0, ROUND(((siege * 2 + unentschieden)*100) / ((siege + unentschieden + niederlagen)*2)), 0) AS quotient";
|
||||||
|
if ($spielerstatistik->tabellenwertung == 0){
|
||||||
|
$query .= "\n , spielpunkte_gewonnen AS leistungsindex";
|
||||||
|
} else if ($spielerstatistik->tabellenwertung == 1){
|
||||||
|
$query .= "\n , IF(spielpunkte_gewonnen > 0 OR spielpunkte_verloren > 0, spielpunkte_gewonnen * spielpunkte_gewonnen * 100 / (spielpunkte_gewonnen + spielpunkte_verloren), 0) AS leistungsindex";
|
||||||
|
} else if ($spielerstatistik->tabellenwertung == 2){
|
||||||
|
$query .= "\n , IF(punkte_gewonnen > 0 OR punkte_verloren > 0, ROUND(siege * punkte_gewonnen * 10 / (punkte_gewonnen + punkte_verloren)), 0) AS leistungsindex";
|
||||||
|
} else if ($spielerstatistik->tabellenwertung == 3){
|
||||||
|
$query .= "\n , IF(punkte_gewonnen > 0 OR punkte_verloren > 0, siege * 2 + unentschieden + punkte_gewonnen - punkte_verloren, 0) AS leistungsindex";
|
||||||
|
} else if ($spielerstatistik->tabellenwertung == 4){
|
||||||
|
$query .= "\n , IF(punkte_gewonnen > 0 OR punkte_verloren > 0, ROUND(punkte_gewonnen*100 / (punkte_gewonnen + punkte_verloren),2), 0) AS leistungsindex";
|
||||||
|
} else if ($spielerstatistik->tabellenwertung == 5){
|
||||||
|
$query .= "\n , IF(punkte_gewonnen > 0 OR punkte_verloren > 0, ROUND(spielpunkte_gewonnen / (siege + unentschieden + niederlagen),2), 0) AS leistungsindex";
|
||||||
|
}
|
||||||
$query .= "\n FROM #__sportsmanager_bestenliste_punkte"
|
$query .= "\n FROM #__sportsmanager_bestenliste_punkte"
|
||||||
. "\n LEFT JOIN #__sportsmanager_spieler USING (spieler_id)"
|
. "\n LEFT JOIN #__sportsmanager_spieler USING (spieler_id)"
|
||||||
|
. "\n LEFT JOIN (SELECT team_id, teamname FROM #__sportsmanager_team) AS team ON #__sportsmanager_bestenliste_punkte.team_id = team.team_id"
|
||||||
. "\n LEFT JOIN #__sportsmanager_spieler AS spieler_2 ON spieler_2.spieler_id = spieler_2_id"
|
. "\n LEFT JOIN #__sportsmanager_spieler AS spieler_2 ON spieler_2.spieler_id = spieler_2_id"
|
||||||
. "\n WHERE bestenliste_id = $spielerstatistik->bestenliste_id";
|
. "\n WHERE bestenliste_id = $spielerstatistik->bestenliste_id"
|
||||||
|
. "\n AND siege + unentschieden + niederlagen >= $spielerstatistik->min_spiele";
|
||||||
if ($spielerstatistik->tabellenwertung == 0) {
|
if ($spielerstatistik->tabellenwertung == 0) {
|
||||||
$query .= "\n ORDER BY spielpunkte_gewonnen DESC, spielpunkte_verloren, punkte_gewonnen - punkte_verloren DESC, nachname, vorname";
|
$query .= "\n ORDER BY spielpunkte_gewonnen DESC, spielpunkte_verloren, punkte_gewonnen - punkte_verloren DESC, nachname, vorname";
|
||||||
} else {
|
} else {
|
||||||
$query .= "\n ORDER BY leistungsindex DESC, spielpunkte_gewonnen DESC, spielpunkte_verloren, punkte_gewonnen - punkte_verloren DESC, nachname, vorname";
|
$query .= "\n ORDER BY leistungsindex DESC, quotient DESC, spielpunkte_gewonnen - spielpunkte_verloren DESC, punkte_gewonnen - punkte_verloren DESC, nachname, vorname";
|
||||||
}
|
}
|
||||||
$spielerstatistik_punkte = loadObjectList($db, $query);
|
$spielerstatistik_punkte = loadObjectList($db, $query);
|
||||||
|
|
||||||
|
//Dropdown teams
|
||||||
|
$query = "SELECT 0 AS team_id, '" . Text::_('COM_SPORTSMANAGER_SELECT_ALL') . "' AS teamname, 0 AS sort_order"
|
||||||
|
. "\n UNION"
|
||||||
|
. "\n SELECT team.team_id, team.teamname, 1 AS sort_order"
|
||||||
|
. "\n FROM #__sportsmanager_bestenliste_punkte"
|
||||||
|
. "\n LEFT JOIN (SELECT team_id, teamname FROM #__sportsmanager_team) AS team"
|
||||||
|
. "\n ON #__sportsmanager_bestenliste_punkte.team_id = team.team_id"
|
||||||
|
. "\n WHERE bestenliste_id = $spielerstatistik->bestenliste_id"
|
||||||
|
. "\n GROUP BY team.team_id"
|
||||||
|
. "\n ORDER BY sort_order, teamname;";
|
||||||
|
$db->setQuery($query);
|
||||||
|
$teams = $db->loadObjectList('team_id');
|
||||||
|
|
||||||
// Vorherige und nächste Spielerstatistik ermitteln
|
// Vorherige und nächste Spielerstatistik ermitteln
|
||||||
$query = "SELECT *"
|
$query = "SELECT *"
|
||||||
. "\n FROM #__sportsmanager_bestenliste"
|
. "\n FROM #__sportsmanager_bestenliste"
|
||||||
. "\n WHERE status > 0" . kategorieFilter("AND kategorie IN") . ($filter_saison_id != 0 ? " AND saison_id = $filter_saison_id" : "")
|
. "\n WHERE status > 0" . kategorieFilter("AND kategorie IN") . ($filter_saison_id != 0 ? " AND saison_id = $filter_saison_id" : "")
|
||||||
. "\n ORDER BY reihenfolge, bezeichnung, kategorie";
|
. "\n ORDER BY reihenfolge, bezeichnung, kategorie";
|
||||||
$rows = loadObjectList($db, $query);
|
$rows = loadObjectList($db, $query);
|
||||||
|
|
||||||
$n = count($rows);
|
$n = count($rows);
|
||||||
@@ -7056,7 +7609,8 @@ function spielerstatistik(): void
|
|||||||
if (isJson()) {
|
if (isJson()) {
|
||||||
JSON_sportsmanager::spielerstatistik($spielerstatistik_punkte);
|
JSON_sportsmanager::spielerstatistik($spielerstatistik_punkte);
|
||||||
} else {
|
} else {
|
||||||
HTML_sportsmanager::spielerstatistik($spielerstatistik, $spielerstatistik_punkte, TRUE, $vorherige_spielerstatistik_id, $naechste_spielerstatistik_id, $details_anzeigen);
|
HTML_sportsmanager::spielerstatistikenHeader($params->get('titel'), $params->get('beschreibung'), $saisons, $filter_saison_id, $id, $spiele, $spielerstatistik->min_spiele, $teams, $filter_teams);
|
||||||
|
HTML_sportsmanager::spielerstatistik($spielerstatistik, $spielerstatistik_punkte, TRUE, $filter_teams, $vorherige_spielerstatistik_id, $naechste_spielerstatistik_id, $details_anzeigen);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -25,6 +25,8 @@
|
|||||||
<option value="spielorte"><![CDATA[COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_VENUES]]></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="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="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>
|
||||||
<field name="titel"
|
<field name="titel"
|
||||||
type="text"
|
type="text"
|
||||||
|
|||||||
@@ -1093,17 +1093,17 @@ static function begegnungenAnzeigen($veranstaltung, $modus, $rows, $zeitfenster,
|
|||||||
$ergebnis_vorhanden = $row->heim_punkte != null || $row->gast_punkte != null;
|
$ergebnis_vorhanden = $row->heim_punkte != null || $row->gast_punkte != null;
|
||||||
if ($zeitfenster == 0 && $veranstaltung != null) {
|
if ($zeitfenster == 0 && $veranstaltung != null) {
|
||||||
if ($veranstaltung->unterteilung == 0 || $veranstaltung->unterteilung == 1) {
|
if ($veranstaltung->unterteilung == 0 || $veranstaltung->unterteilung == 1) {
|
||||||
|
|
||||||
if ($row->spieltag > 999)
|
if ($row->spieltag > 999)
|
||||||
$Spieltagname = htmlentities_utf8(Rundenbezeichnung($row->spieltag, $veranstaltung->unterteilung == 0, true));
|
$Spieltagname = htmlentities_utf8(Rundenbezeichnung($row->spieltag, $veranstaltung->unterteilung == 0, true));
|
||||||
else if ($veranstaltung->unterteilung == 1)
|
else if ($veranstaltung->unterteilung == 1)
|
||||||
$Spieltagname = "Runde " . $row->spieltag;
|
$Spieltagname = "Runde " . $row->spieltag;
|
||||||
else
|
else
|
||||||
$Spieltagname = "Spieltag " . $row->spieltag;
|
$Spieltagname = "Spieltag " . $row->spieltag;
|
||||||
|
|
||||||
if ($row->spieltag < 999 && $veranstaltung->spieltag_titel_zeigen == 1 && $row->spieltag_titel != "")
|
if ($row->spieltag < 999 && $veranstaltung->spieltag_titel_zeigen == 1 && $row->spieltag_titel != "")
|
||||||
$Spieltagname .= " - " . $row->spieltag_titel;
|
$Spieltagname .= " - " . $row->spieltag_titel;
|
||||||
|
|
||||||
if ($Spieltagname_Buffer != $Spieltagname || $spielort_name != $row->spielort_name) {
|
if ($Spieltagname_Buffer != $Spieltagname || $spielort_name != $row->spielort_name) {
|
||||||
$spieltag = $row->spieltag;
|
$spieltag = $row->spieltag;
|
||||||
$spielort_name = $row->spielort_name;
|
$spielort_name = $row->spielort_name;
|
||||||
@@ -1697,7 +1697,6 @@ if (count($spiele) > 0) {
|
|||||||
static function tabelleAnzeigen($veranstaltung, $modus, $teams, $spieltag, $spieltage, $alleine_angezeigt, int $praesentation = 0): void
|
static function tabelleAnzeigen($veranstaltung, $modus, $teams, $spieltag, $spieltage, $alleine_angezeigt, int $praesentation = 0): void
|
||||||
{
|
{
|
||||||
global $params;
|
global $params;
|
||||||
|
|
||||||
if (count($teams) > 0) {
|
if (count($teams) > 0) {
|
||||||
if ($alleine_angezeigt && $veranstaltung->tabellenwertung >= -1 && $veranstaltung->tabellenwertung <= 11 && count($spieltage) > 1) {
|
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
|
<select
|
||||||
aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_MATCHDAY_SELECT'); ?>"
|
aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_MATCHDAY_SELECT'); ?>"
|
||||||
class="uk-select uk-form-width-medium" name="spieltag" size="1"
|
class="uk-select uk-form-width-medium" name="spieltag" size="1"
|
||||||
onChange="document.adminForm.submit();">
|
onChange="this.form.submit();">
|
||||||
<?php
|
<?php
|
||||||
foreach ($spieltage as $s) {
|
foreach ($spieltage as $s) {
|
||||||
echo "<option value=\"" . $s->spieltag . "\"" . ($s->spieltag == $spieltag ? " selected" : "") . ">" . htmlentities_utf8(Rundenbezeichnung($s->spieltag, $veranstaltung->unterteilung == 0)) . "</option>";
|
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;
|
$punkte_quotient = 0;
|
||||||
$buchholz1_wert = 0;
|
$buchholz1_wert = 0;
|
||||||
$buchholz2_wert = 0;
|
$buchholz2_wert = 0;
|
||||||
|
$gesamtpunkte_verloren = 0;
|
||||||
$k = 0;
|
$k = 0;
|
||||||
foreach ($teams as $team) {
|
foreach ($teams as $team) {
|
||||||
?>
|
?>
|
||||||
@@ -1875,6 +1875,12 @@ static function tabelleAnzeigen($veranstaltung, $modus, $teams, $spieltag, $spie
|
|||||||
$buchholz1_wert = $team->buchholz1;
|
$buchholz1_wert = $team->buchholz1;
|
||||||
$buchholz2_wert = $team->buchholz2;
|
$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>
|
<td>
|
||||||
<?php
|
<?php
|
||||||
@@ -1969,8 +1975,15 @@ static function tabelleAnzeigen($veranstaltung, $modus, $teams, $spieltag, $spie
|
|||||||
}
|
}
|
||||||
if ($veranstaltung->tabellenwertung <= 9 || $veranstaltung->tabellenwertung >= 21) {
|
if ($veranstaltung->tabellenwertung <= 9 || $veranstaltung->tabellenwertung >= 21) {
|
||||||
?>
|
?>
|
||||||
<td nowrap style="text-align: center"><?php echo $gesamtpunkte; ?></td>
|
<td nowrap style="text-align: center">
|
||||||
<?php
|
<?php
|
||||||
|
if (in_array($veranstaltung->tabellenwertung, [7,8,9,1,2,3]))
|
||||||
|
echo $gesamtpunkte . ":" . $gesamtpunkte_verloren;
|
||||||
|
else
|
||||||
|
echo $gesamtpunkte;
|
||||||
|
?>
|
||||||
|
</td>
|
||||||
|
<?PHP
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -3951,18 +3964,19 @@ static function spielverlegungen($titel, $beschreibung, $rows): void
|
|||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
<div class="uk-overflow-auto">
|
<div class="uk-overflow-auto">
|
||||||
<table class="uk-table-shrink contentpaneopen<?php echo $params->get('pageclass_sfx'); ?>" style='width: 1000px;'>
|
<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'); ?>">
|
<tr class="sectiontableheader<?php echo $params->get('pageclass_sfx'); ?>">
|
||||||
<th nowrap style='text-align: center; width: 180px;'><STRONG><?php echo Text::_('COM_SPORTSMANAGER_COMPETITION'); ?></STRONG></th>
|
<th nowrap style='text-align: center; width: 200px;'><STRONG><?php echo Text::_('COM_SPORTSMANAGER_COMPETITION'); ?></STRONG></th>
|
||||||
<th nowrap style='text-align: center; width: 200px;'><STRONG><?php echo Text::_('COM_SPORTSMANAGER_MATCH'); ?></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: 150px;'><STRONG><?php echo Text::_('COM_SPORTSMANAGER_OLD_DATE'); ?></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: 150px;'><STRONG><?php echo Text::_('COM_SPORTSMANAGER_NEW_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: 280px;'><STRONG><?php echo Text::_('COM_SPORTSMANAGER_COMMENT'); ?></STRONG></th>
|
<th nowrap style='text-align: left; width: 300px;'><STRONG><?php echo Text::_('COM_SPORTSMANAGER_COMMENT'); ?></STRONG></th>
|
||||||
</tr>
|
</tr>
|
||||||
<?php
|
<?php
|
||||||
if (count($rows) > 0) {
|
if (count($rows) > 0) {
|
||||||
$k = 0;
|
$k = 0;
|
||||||
foreach ($rows as $row) {
|
foreach ($rows as $row) {
|
||||||
?>
|
?>
|
||||||
<tr class="sectiontableentry<?php echo $k + 1;
|
<tr class="sectiontableentry<?php echo $k + 1;
|
||||||
$k = ($k + 1) % 2; ?><?php echo $params->get('pageclass_sfx'); ?>">
|
$k = ($k + 1) % 2; ?><?php echo $params->get('pageclass_sfx'); ?>">
|
||||||
@@ -3970,7 +3984,7 @@ static function spielverlegungen($titel, $beschreibung, $rows): void
|
|||||||
<?php echo htmlentities_utf8($row->Liga); ?>
|
<?php echo htmlentities_utf8($row->Liga); ?>
|
||||||
</td>
|
</td>
|
||||||
<td nowrap style='text-align: center;'>
|
<td nowrap style='text-align: center;'>
|
||||||
<?php
|
<?php
|
||||||
if ($row->Heim == $row->beantragt_von)
|
if ($row->Heim == $row->beantragt_von)
|
||||||
echo "<u>" . htmlentities_utf8($row->Heim) . "</u>";
|
echo "<u>" . htmlentities_utf8($row->Heim) . "</u>";
|
||||||
else
|
else
|
||||||
@@ -3983,10 +3997,10 @@ static function spielverlegungen($titel, $beschreibung, $rows): void
|
|||||||
?>
|
?>
|
||||||
</td>
|
</td>
|
||||||
<td nowrap style='text-align: center;'>
|
<td nowrap style='text-align: center;'>
|
||||||
<?php echo str_replace(" ", "<br>", date('d.m.Y h:i', strtotime($row->Termin_alt))); ?>
|
<?php echo str_replace(" ", "<br>", date('d.m.Y H:i', strtotime($row->Termin_alt))); ?>
|
||||||
</td>
|
</td>
|
||||||
<td nowrap style='text-align: center;'>
|
<td nowrap style='text-align: center;'>
|
||||||
<?php echo $row->Termin_neu == "" ? "" : str_replace(" ", "<br>", date('d.m.Y h:i', strtotime($row->Termin_neu))); ?>
|
<?php echo $row->Termin_neu == "" ? "" : str_replace(" ", "<br>", date('d.m.Y H:i', strtotime($row->Termin_neu))); ?>
|
||||||
</td>
|
</td>
|
||||||
<td nowrap style='text-align: left;'>
|
<td nowrap style='text-align: left;'>
|
||||||
<?php echo htmlentities_utf8($row->Begruendung_beantragt); ?>
|
<?php echo htmlentities_utf8($row->Begruendung_beantragt); ?>
|
||||||
@@ -4001,6 +4015,338 @@ static function spielverlegungen($titel, $beschreibung, $rows): void
|
|||||||
<?php
|
<?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
|
static function spieler($beschreibung, $rows, $sortierung, $statistik, $beginn, $kategorie, $filter, $veranstaltungid, $einstufungid, $veranstaltungen, $veranstalterid, $veranstalter, $einstufungen, $details_anzeigen): void
|
||||||
{
|
{
|
||||||
global $params;
|
global $params;
|
||||||
@@ -4358,7 +4704,7 @@ global $params;
|
|||||||
|
|
||||||
if ((count($vereine) == 0) && !benutzerZugriff("spieler_aendern") && !benutzerVeranstalterModerator() && !benutzerVereinModerator())
|
if ((count($vereine) == 0) && !benutzerZugriff("spieler_aendern") && !benutzerVeranstalterModerator() && !benutzerVereinModerator())
|
||||||
{
|
{
|
||||||
echo "Sie haben keine Berechtigung auf diesen Datensatz!!!";
|
echo "Sie haben keine Berechtigung auf diesen Datensatz!!!";
|
||||||
die;
|
die;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -4536,7 +4882,7 @@ if ($bild != null) {
|
|||||||
<strong><?php echo count($vereine) == 1 ? Text::_('COM_SPORTSMANAGER_CLUB') : Text::_('COM_SPORTSMANAGER_CLUBS'); ?>
|
<strong><?php echo count($vereine) == 1 ? Text::_('COM_SPORTSMANAGER_CLUB') : Text::_('COM_SPORTSMANAGER_CLUBS'); ?>
|
||||||
:</strong></td>
|
:</strong></td>
|
||||||
<td nowrap style="text-align: right">
|
<td nowrap style="text-align: right">
|
||||||
<?php
|
<?php
|
||||||
foreach ($vereine as $verein)
|
foreach ($vereine as $verein)
|
||||||
echo htmlentities_utf8($verein->vereinsname) . " (" . htmlentities_utf8($verein->status) . ")<br />";
|
echo htmlentities_utf8($verein->vereinsname) . " (" . htmlentities_utf8($verein->status) . ")<br />";
|
||||||
?>
|
?>
|
||||||
@@ -5686,9 +6032,10 @@ static function turniervoranmeldungen($disziplin, $meldungenSpielerSortiert, $me
|
|||||||
<?php
|
<?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;
|
global $params;
|
||||||
|
|
||||||
//SpielerstatistikenHeader
|
//SpielerstatistikenHeader
|
||||||
if (!empty($titel)) { ?>
|
if (!empty($titel)) { ?>
|
||||||
<div
|
<div
|
||||||
@@ -5704,17 +6051,18 @@ static function spielerstatistikenHeader($titel, $beschreibung, $saisons, $filte
|
|||||||
</div>
|
</div>
|
||||||
<?php
|
<?php
|
||||||
}
|
}
|
||||||
if (count($saisons) > 0) {
|
if (!empty($saisons) || !empty($spiele) || !empty($teams)) {
|
||||||
?>
|
?>
|
||||||
<form action="<?php echo SportsManagerURL(); ?>" method="post" name="adminForm" id="adminForm">
|
<form action="<?php echo SportsManagerURL(); ?>" method="post" name="adminForm" id="adminForm">
|
||||||
<div class="uk-overflow-auto">
|
<div class="uk-overflow-auto">
|
||||||
<table class="uk-table contentpaneopen<?php echo $params->get('pageclass_sfx'); ?>">
|
<table class="uk-table contentpaneopen<?php echo $params->get('pageclass_sfx'); ?>">
|
||||||
<tr>
|
<tr>
|
||||||
<td nowrap>
|
<td nowrap>
|
||||||
|
<?PHP if (!empty($saisons)){ ?>
|
||||||
<label
|
<label
|
||||||
for="filter_saison_id"><?php echo Text::_('COM_SPORTSMANAGER_SEASON'); ?>
|
for="filter_saison_id"><?php echo Text::_('COM_SPORTSMANAGER_SEASON'); ?>
|
||||||
:</label>
|
:</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"
|
id="filter_saison_id" size="1"
|
||||||
onChange="document.adminForm.submit();">
|
onChange="document.adminForm.submit();">
|
||||||
<?php
|
<?php
|
||||||
@@ -5722,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>";
|
echo "<option value=\"" . $saison->saison_id . "\" " . ($filter_saison_id == $saison->saison_id ? "selected" : "") . ">" . htmlentities_utf8($saison->saisonbezeichnung) . "</option>";
|
||||||
?>
|
?>
|
||||||
</select>
|
</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"
|
<input type="submit" name="ok"
|
||||||
value="<?php echo Text::_('COM_SPORTSMANAGER_GO'); ?>"
|
value="<?php echo Text::_('COM_SPORTSMANAGER_GO'); ?>"
|
||||||
class="button uk-button uk-button-primary"/>
|
class="button uk-button uk-button-primary"/>
|
||||||
@@ -5730,12 +6108,13 @@ static function spielerstatistikenHeader($titel, $beschreibung, $saisons, $filte
|
|||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
<input type="hidden" name="task" value="spielerstatistiken"/>
|
<input type="hidden" name="task" value="spielerstatistiken"/>
|
||||||
|
<input type="hidden" name="id" value="<?PHP echo $id; ?>"/>
|
||||||
</form>
|
</form>
|
||||||
<?php
|
<?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;
|
global $params;
|
||||||
if ($allein_angezeigt) {
|
if ($allein_angezeigt) {
|
||||||
@@ -5858,45 +6237,45 @@ static function spielerstatistik($spielerstatistik, $spielerstatistik_punkte, $a
|
|||||||
if ($spielerstatistik->tabellenwertung > 0) {
|
if ($spielerstatistik->tabellenwertung > 0) {
|
||||||
?>
|
?>
|
||||||
<th nowrap
|
<th nowrap
|
||||||
title="<?php echo Text::_('COM_SPORTSMANAGER_PERFORMANCE_INDEX'); ?>">
|
title="<?php echo Text::_('COM_SPORTSMANAGER_PERFORMANCE_INDEX' . $spielerstatistik->tabellenwertung); ?>">
|
||||||
<strong><?php echo Text::_('COM_SPORTSMANAGER_PERFORMANCE_INDEX_SHORTCUT'); ?></strong>
|
<strong><?php echo Text::_('COM_SPORTSMANAGER_PERFORMANCE_SHORT' . $spielerstatistik->tabellenwertung); ?></strong>
|
||||||
</th>
|
</th>
|
||||||
<?php
|
<?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><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'); ?>">
|
<th nowrap title="<?php echo Text::_('COM_SPORTSMANAGER_VICTORIES'); ?>">
|
||||||
<strong><?php echo Text::_('COM_SPORTSMANAGER_VICTORIES_SHORTCUT'); ?></strong>
|
<strong><?php echo Text::_('COM_SPORTSMANAGER_VICTORIES_SHORTCUT'); ?></strong>
|
||||||
</th>
|
</th>
|
||||||
<th nowrap title="<?php echo Text::_('COM_SPORTSMANAGER_DRAWS'); ?>">
|
<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'); ?>">
|
<th nowrap title="<?php echo Text::_('COM_SPORTSMANAGER_DEFEATS'); ?>">
|
||||||
<strong><?php echo Text::_('COM_SPORTSMANAGER_DEFEATS_SHORTCUT'); ?></strong>
|
<strong><?php echo Text::_('COM_SPORTSMANAGER_DEFEATS_SHORTCUT'); ?></strong>
|
||||||
</th>
|
</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>
|
</tr>
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
@@ -5904,11 +6283,23 @@ static function spielerstatistik($spielerstatistik, $spielerstatistik_punkte, $a
|
|||||||
$tatsaechlicher_platz = 1;
|
$tatsaechlicher_platz = 1;
|
||||||
$k = 0;
|
$k = 0;
|
||||||
foreach ($spielerstatistik_punkte as $row) {
|
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;
|
$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)
|
if (!$allein_angezeigt && $tatsaechlicher_platz > 3)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
if (!empty($filter_teams) && $row->team_id != $filter_teams)
|
||||||
|
continue;
|
||||||
?>
|
?>
|
||||||
<tr class="sectiontableentry<?php echo $k + 1;
|
<tr class="sectiontableentry<?php echo $k + 1;
|
||||||
$k = ($k + 1) % 2; ?><?php echo $params->get('pageclass_sfx'); ?>">
|
$k = ($k + 1) % 2; ?><?php echo $params->get('pageclass_sfx'); ?>">
|
||||||
@@ -5938,6 +6329,8 @@ static function spielerstatistik($spielerstatistik, $spielerstatistik_punkte, $a
|
|||||||
<?php
|
<?php
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (!empty($row->teamname))
|
||||||
|
echo "<br>" . htmlentities_utf8($row->teamname);
|
||||||
?>
|
?>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
@@ -5961,31 +6354,27 @@ static function spielerstatistik($spielerstatistik, $spielerstatistik_punkte, $a
|
|||||||
if ($spielerstatistik->tabellenwertung != 0) {
|
if ($spielerstatistik->tabellenwertung != 0) {
|
||||||
?>
|
?>
|
||||||
<td nowrap style="text-align: center">
|
<td nowrap style="text-align: center">
|
||||||
<strong><?php echo round($row->leistungsindex); ?></strong>
|
<strong><?php echo $row->leistungsindex; ?></strong>
|
||||||
</td>
|
</td>
|
||||||
<?php
|
<?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
|
<td nowrap style="text-align: center"><?php echo $row->quotient . " %"; ?></td>
|
||||||
style="text-align: center"><?php echo $row->siege + $row->niederlagen + $row->unentschieden; ?></td>
|
<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->siege; ?></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->unentschieden; ?></td>
|
||||||
<td nowrap style="text-align: center"><?php echo $row->niederlagen; ?></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>
|
</tr>
|
||||||
<?php
|
<?php
|
||||||
$spielpunkte_gewonnen = $row->spielpunkte_gewonnen;
|
|
||||||
$spielpunkte_verloren = $row->spielpunkte_verloren;
|
|
||||||
$punkte_gewonnen = $row->punkte_gewonnen;
|
|
||||||
$punkte_verloren = $row->punkte_verloren;
|
|
||||||
$platz++;
|
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
</table>
|
</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_MEMBERS="Mannschaftsmitglieder"
|
||||||
COM_SPORTSMANAGER_TEAM_MEMBERS2=Vereinsmitglieder
|
COM_SPORTSMANAGER_TEAM_MEMBERS2=Vereinsmitglieder
|
||||||
COM_SPORTSMANAGER_MEMBERS="Mitglieder"
|
COM_SPORTSMANAGER_MEMBERS="Mitglieder"
|
||||||
|
COM_SPORTSMANAGER_MEMBER="Mitglied"
|
||||||
COM_SPORTSMANAGER_ACTIVE_MEMBERS="Aktive Mitglieder"
|
COM_SPORTSMANAGER_ACTIVE_MEMBERS="Aktive Mitglieder"
|
||||||
COM_SPORTSMANAGER_TEAMS="Mannschaften"
|
COM_SPORTSMANAGER_TEAMS="Mannschaften"
|
||||||
COM_SPORTSMANAGER_CURRENT_TEAMS="Aktuelle 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_ADD_INDIVIDUAL_COMPETITION="Individualwettbewerb hinzufügen"
|
||||||
COM_SPORTSMANAGER_INDIVIDUAL_COMPETITION="Individualwettbewerb"
|
COM_SPORTSMANAGER_INDIVIDUAL_COMPETITION="Individualwettbewerb"
|
||||||
COM_SPORTSMANAGER_INDIVIDUAL_COMPETITIONS="Individualwettbewerbe"
|
COM_SPORTSMANAGER_INDIVIDUAL_COMPETITIONS="Individualwettbewerbe"
|
||||||
COM_SPORTSMANAGER_ASSOCIATION_BODIES="Verbandsorgane"
|
|
||||||
COM_SPORTSMANAGER_GAME="Spiel"
|
COM_SPORTSMANAGER_GAME="Spiel"
|
||||||
COM_SPORTSMANAGER_GAMES="Spiele"
|
COM_SPORTSMANAGER_GAMES="Spiele"
|
||||||
COM_SPORTSMANAGER_GAMES_SHORTCUT="S"
|
COM_SPORTSMANAGER_GAMES_SHORTCUT="S"
|
||||||
@@ -157,6 +157,7 @@ COM_SPORTSMANAGER_DEFEAT="Niederlage"
|
|||||||
COM_SPORTSMANAGER_DEFEATS="Niederlagen"
|
COM_SPORTSMANAGER_DEFEATS="Niederlagen"
|
||||||
COM_SPORTSMANAGER_DEFEATS_SHORTCUT="N"
|
COM_SPORTSMANAGER_DEFEATS_SHORTCUT="N"
|
||||||
COM_SPORTSMANAGER_GOALS="Tore"
|
COM_SPORTSMANAGER_GOALS="Tore"
|
||||||
|
COM_SPORTSMANAGER_GOALS_SHORTCUT="T"
|
||||||
COM_SPORTSMANAGER_SETS="Sätze"
|
COM_SPORTSMANAGER_SETS="Sätze"
|
||||||
COM_SPORTSMANAGER_POINT="Punkt"
|
COM_SPORTSMANAGER_POINT="Punkt"
|
||||||
COM_SPORTSMANAGER_POINTS="Punkte"
|
COM_SPORTSMANAGER_POINTS="Punkte"
|
||||||
@@ -169,9 +170,9 @@ COM_SPORTSMANAGER_GAME_POINTS="Spielpunkte"
|
|||||||
COM_SPORTSMANAGER_GAME_POINTS_SHORTCUT="SP"
|
COM_SPORTSMANAGER_GAME_POINTS_SHORTCUT="SP"
|
||||||
COM_SPORTSMANAGER_SUFFIX_ONE_TEAM=" (eine Mannschaft)"
|
COM_SPORTSMANAGER_SUFFIX_ONE_TEAM=" (eine Mannschaft)"
|
||||||
COM_SPORTSMANAGER_SUFFIX_TEAMS_TOGETHER=" (Mannschaften zusammen)"
|
COM_SPORTSMANAGER_SUFFIX_TEAMS_TOGETHER=" (Mannschaften zusammen)"
|
||||||
COM_SPORTSMANAGER_DIFFERENCE="Differenz"
|
COM_SPORTSMANAGER_DIFFERENCE="Differenz Tore"
|
||||||
COM_SPORTSMANAGER_DIFFERENCE_IN_POINTS="Punktedifferenz"
|
COM_SPORTSMANAGER_DIFFERENCE_IN_POINTS="Differenz Spielpunkte"
|
||||||
COM_SPORTSMANAGER_POINTS_RATIO="Punkteverhältnis"
|
COM_SPORTSMANAGER_POINTS_RATIO="Verhältnis Spielpunkte"
|
||||||
COM_SPORTSMANAGER_SCHEDULE_DATE="Zeitpunkt"
|
COM_SPORTSMANAGER_SCHEDULE_DATE="Zeitpunkt"
|
||||||
COM_SPORTSMANAGER_TEAM_HOME="Heim"
|
COM_SPORTSMANAGER_TEAM_HOME="Heim"
|
||||||
COM_SPORTSMANAGER_TEAM_VISITOR="Gast"
|
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_REJECT_SHIFT="Verschiebung ablehnen"
|
||||||
COM_SPORTSMANAGER_TO="bis"
|
COM_SPORTSMANAGER_TO="bis"
|
||||||
COM_SPORTSMANAGER_PLAYER_STATISTICS="Spielerstatistiken"
|
COM_SPORTSMANAGER_PLAYER_STATISTICS="Spielerstatistiken"
|
||||||
COM_SPORTSMANAGER_PERFORMANCE_INDEX_SHORTCUT="LI"
|
|
||||||
COM_SPORTSMANAGER_WON="gewonnen"
|
COM_SPORTSMANAGER_WON="gewonnen"
|
||||||
COM_SPORTSMANAGER_LOST="verloren"
|
COM_SPORTSMANAGER_LOST="verloren"
|
||||||
COM_SPORTSMANAGER_RATE="Quote"
|
COM_SPORTSMANAGER_RATE="Siegquote"
|
||||||
COM_SPORTSMANAGER_RATE_SHORTCUT="Q"
|
COM_SPORTSMANAGER_RATE_SHORTCUT="Q"
|
||||||
COM_SPORTSMANAGER_NO_CLUB="Kein Verein"
|
COM_SPORTSMANAGER_NO_CLUB="Kein Verein"
|
||||||
COM_SPORTSMANAGER_RATING="Wertung"
|
COM_SPORTSMANAGER_RATING="Wertung"
|
||||||
@@ -500,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_2_POINTS="Sieg: 2 Punkte, Unentschieden: 1 Punkt"
|
||||||
COM_SPORTSMANAGER_WIN_3_POINTS="Sieg: 3 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_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_GENERALLY="Allgemein"
|
||||||
COM_SPORTSMANAGER_TYPE="Typ"
|
COM_SPORTSMANAGER_TYPE="Typ"
|
||||||
COM_SPORTSMANAGER_ELO_MIN="Elo min."
|
COM_SPORTSMANAGER_ELO_MIN="Elo min."
|
||||||
@@ -550,9 +552,22 @@ COM_SPORTSMANAGER_NO_RATING="Keine Wertung"
|
|||||||
COM_SPORTSMANAGER_TEAM_COMPETITIONS="Mannschaftswettbewerbe"
|
COM_SPORTSMANAGER_TEAM_COMPETITIONS="Mannschaftswettbewerbe"
|
||||||
COM_SPORTSMANAGER_TABLE_SUMMARY="Tabellenwertung"
|
COM_SPORTSMANAGER_TABLE_SUMMARY="Tabellenwertung"
|
||||||
COM_SPORTSMANAGER_HEAD_TO_HEAD_RECORD="Direkter Vergleich"
|
COM_SPORTSMANAGER_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_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_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="Einzelstatistik aus allen Spielen"
|
||||||
COM_SPORTSMANAGER_INDIVIDUAL_STATISTICS_SINGLES="Einzelstatistik aus Einzel-Spielen"
|
COM_SPORTSMANAGER_INDIVIDUAL_STATISTICS_SINGLES="Einzelstatistik aus Einzel-Spielen"
|
||||||
COM_SPORTSMANAGER_INDIVIDUAL_STATISTICS_DOUBLES="Einzelstatistik aus Doppel-Spielen"
|
COM_SPORTSMANAGER_INDIVIDUAL_STATISTICS_DOUBLES="Einzelstatistik aus Doppel-Spielen"
|
||||||
@@ -900,6 +915,9 @@ COM_SPORTSMANAGER_RESULT_ONLY="Nur Ergebnis"
|
|||||||
COM_SPORTSMANAGER_GAME_NUMBER="Spiel %d"
|
COM_SPORTSMANAGER_GAME_NUMBER="Spiel %d"
|
||||||
COM_SPORTSMANAGER_LABEL_GAME_NUMBER="Spiel Nr"
|
COM_SPORTSMANAGER_LABEL_GAME_NUMBER="Spiel Nr"
|
||||||
COM_SPORTSMANAGER_LABEL_GAME_TITLE="Spieltag Titel"
|
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_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_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"
|
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"
|
||||||
@@ -1070,4 +1088,31 @@ COM_SPORTSMANAGER_NOT_VALID_TIME="Ungültige Uhrzeit"
|
|||||||
COM_SPORTSMANAGER_REALLY_MATCH_RESCHEDULING="Willst Du diesen Spielverlegung wirklich entfernen?"
|
COM_SPORTSMANAGER_REALLY_MATCH_RESCHEDULING="Willst Du diesen Spielverlegung wirklich entfernen?"
|
||||||
COM_SPORTSMANAGER_REST_DAYS="Ruhetage"
|
COM_SPORTSMANAGER_REST_DAYS="Ruhetage"
|
||||||
COM_SPORTSMANAGER_TRAINING_DAYS="Trainingstage"
|
COM_SPORTSMANAGER_TRAINING_DAYS="Trainingstage"
|
||||||
COM_SPORTSMANAGER_NOT_ACTUALIZED_DATA="Nicht aktualisierte Daten"
|
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_MEMBERS="Team members"
|
||||||
COM_SPORTSMANAGER_TEAM_MEMBERS2="Club members"
|
COM_SPORTSMANAGER_TEAM_MEMBERS2="Club members"
|
||||||
COM_SPORTSMANAGER_MEMBERS="Members"
|
COM_SPORTSMANAGER_MEMBERS="Members"
|
||||||
|
COM_SPORTSMANAGER_MEMBER="Member"
|
||||||
COM_SPORTSMANAGER_ACTIVE_MEMBERS="Active members"
|
COM_SPORTSMANAGER_ACTIVE_MEMBERS="Active members"
|
||||||
COM_SPORTSMANAGER_TEAMS="Teams"
|
COM_SPORTSMANAGER_TEAMS="Teams"
|
||||||
COM_SPORTSMANAGER_CURRENT_TEAMS="Current 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_ADD_INDIVIDUAL_COMPETITION="Add individual competition"
|
||||||
COM_SPORTSMANAGER_INDIVIDUAL_COMPETITION="Individual competition"
|
COM_SPORTSMANAGER_INDIVIDUAL_COMPETITION="Individual competition"
|
||||||
COM_SPORTSMANAGER_INDIVIDUAL_COMPETITIONS="Individual competitions"
|
COM_SPORTSMANAGER_INDIVIDUAL_COMPETITIONS="Individual competitions"
|
||||||
COM_SPORTSMANAGER_ASSOCIATION_BODIES="Association bodies"
|
|
||||||
COM_SPORTSMANAGER_GAME="Game"
|
COM_SPORTSMANAGER_GAME="Game"
|
||||||
COM_SPORTSMANAGER_GAMES="Games"
|
COM_SPORTSMANAGER_GAMES="Games"
|
||||||
COM_SPORTSMANAGER_GAMES_SHORTCUT="G"
|
COM_SPORTSMANAGER_GAMES_SHORTCUT="G"
|
||||||
@@ -157,6 +157,7 @@ COM_SPORTSMANAGER_DEFEAT="Defeat"
|
|||||||
COM_SPORTSMANAGER_DEFEATS="Defeats"
|
COM_SPORTSMANAGER_DEFEATS="Defeats"
|
||||||
COM_SPORTSMANAGER_DEFEATS_SHORTCUT="F"
|
COM_SPORTSMANAGER_DEFEATS_SHORTCUT="F"
|
||||||
COM_SPORTSMANAGER_GOALS="Goals"
|
COM_SPORTSMANAGER_GOALS="Goals"
|
||||||
|
COM_SPORTSMANAGER_GOALS_SHORTCUT="G"
|
||||||
COM_SPORTSMANAGER_SETS="Sets"
|
COM_SPORTSMANAGER_SETS="Sets"
|
||||||
COM_SPORTSMANAGER_POINT="Point"
|
COM_SPORTSMANAGER_POINT="Point"
|
||||||
COM_SPORTSMANAGER_POINTS="Points"
|
COM_SPORTSMANAGER_POINTS="Points"
|
||||||
@@ -169,9 +170,9 @@ COM_SPORTSMANAGER_GAME_POINTS="Game points"
|
|||||||
COM_SPORTSMANAGER_GAME_POINTS_SHORTCUT="GP"
|
COM_SPORTSMANAGER_GAME_POINTS_SHORTCUT="GP"
|
||||||
COM_SPORTSMANAGER_SUFFIX_ONE_TEAM=" (one team)"
|
COM_SPORTSMANAGER_SUFFIX_ONE_TEAM=" (one team)"
|
||||||
COM_SPORTSMANAGER_SUFFIX_TEAMS_TOGETHER=" (teams together)"
|
COM_SPORTSMANAGER_SUFFIX_TEAMS_TOGETHER=" (teams together)"
|
||||||
COM_SPORTSMANAGER_DIFFERENCE="Difference"
|
COM_SPORTSMANAGER_DIFFERENCE="Goal difference"
|
||||||
COM_SPORTSMANAGER_DIFFERENCE_IN_POINTS="Difference in points"
|
COM_SPORTSMANAGER_DIFFERENCE_IN_POINTS="Difference in game points"
|
||||||
COM_SPORTSMANAGER_POINTS_RATIO="Points ratio"
|
COM_SPORTSMANAGER_POINTS_RATIO="Game points ratio"
|
||||||
COM_SPORTSMANAGER_SCHEDULE_DATE="Appointment date"
|
COM_SPORTSMANAGER_SCHEDULE_DATE="Appointment date"
|
||||||
COM_SPORTSMANAGER_TEAM_HOME="Home"
|
COM_SPORTSMANAGER_TEAM_HOME="Home"
|
||||||
COM_SPORTSMANAGER_TEAM_VISITOR="Visitor"
|
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_REJECT_SHIFT="Reject shift"
|
||||||
COM_SPORTSMANAGER_TO="until"
|
COM_SPORTSMANAGER_TO="until"
|
||||||
COM_SPORTSMANAGER_PLAYER_STATISTICS="Player statistics"
|
COM_SPORTSMANAGER_PLAYER_STATISTICS="Player statistics"
|
||||||
COM_SPORTSMANAGER_PERFORMANCE_INDEX_SHORTCUT="PI"
|
|
||||||
COM_SPORTSMANAGER_WON="won"
|
COM_SPORTSMANAGER_WON="won"
|
||||||
COM_SPORTSMANAGER_LOST="lost"
|
COM_SPORTSMANAGER_LOST="lost"
|
||||||
COM_SPORTSMANAGER_RATE="Rate"
|
COM_SPORTSMANAGER_RATE="Winning rate"
|
||||||
COM_SPORTSMANAGER_RATE_SHORTCUT="R"
|
COM_SPORTSMANAGER_RATE_SHORTCUT="R"
|
||||||
COM_SPORTSMANAGER_NO_CLUB="No club"
|
COM_SPORTSMANAGER_NO_CLUB="No club"
|
||||||
COM_SPORTSMANAGER_RATING="Rating"
|
COM_SPORTSMANAGER_RATING="Rating"
|
||||||
@@ -500,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_2_POINTS="Win: 2 points, draw: 1 point"
|
||||||
COM_SPORTSMANAGER_WIN_3_POINTS="Win: 3 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_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_GENERALLY="Generally"
|
||||||
COM_SPORTSMANAGER_TYPE="Type"
|
COM_SPORTSMANAGER_TYPE="Type"
|
||||||
COM_SPORTSMANAGER_ELO_MIN="Elo min."
|
COM_SPORTSMANAGER_ELO_MIN="Elo min."
|
||||||
@@ -550,9 +552,22 @@ COM_SPORTSMANAGER_NO_RATING="No rating"
|
|||||||
COM_SPORTSMANAGER_TEAM_COMPETITIONS="Team competitions"
|
COM_SPORTSMANAGER_TEAM_COMPETITIONS="Team competitions"
|
||||||
COM_SPORTSMANAGER_TABLE_SUMMARY="Table rating"
|
COM_SPORTSMANAGER_TABLE_SUMMARY="Table rating"
|
||||||
COM_SPORTSMANAGER_HEAD_TO_HEAD_RECORD="Head-to-head record"
|
COM_SPORTSMANAGER_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_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_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="Individual statistics of all games"
|
||||||
COM_SPORTSMANAGER_INDIVIDUAL_STATISTICS_SINGLES="Individual statistics of singles games"
|
COM_SPORTSMANAGER_INDIVIDUAL_STATISTICS_SINGLES="Individual statistics of singles games"
|
||||||
COM_SPORTSMANAGER_INDIVIDUAL_STATISTICS_DOUBLES="Individual statistics of doubles games"
|
COM_SPORTSMANAGER_INDIVIDUAL_STATISTICS_DOUBLES="Individual statistics of doubles games"
|
||||||
@@ -900,6 +915,9 @@ COM_SPORTSMANAGER_RESULT_ONLY="Result only"
|
|||||||
COM_SPORTSMANAGER_GAME_NUMBER="Game %d"
|
COM_SPORTSMANAGER_GAME_NUMBER="Game %d"
|
||||||
COM_SPORTSMANAGER_LABEL_GAME_NUMBER="Game nr"
|
COM_SPORTSMANAGER_LABEL_GAME_NUMBER="Game nr"
|
||||||
COM_SPORTSMANAGER_LABEL_GAME_TITLE="Gameday title"
|
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_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_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"
|
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"
|
||||||
@@ -1070,4 +1088,31 @@ COM_SPORTSMANAGER_NOT_VALID_TIME="Not valid time"
|
|||||||
COM_SPORTSMANAGER_REALLY_MATCH_RESCHEDULING="Do you really want to remove this match rescheduling?"
|
COM_SPORTSMANAGER_REALLY_MATCH_RESCHEDULING="Do you really want to remove this match rescheduling?"
|
||||||
COM_SPORTSMANAGER_REST_DAYS="Rest days"
|
COM_SPORTSMANAGER_REST_DAYS="Rest days"
|
||||||
COM_SPORTSMANAGER_TRAINING_DAYS="Training days"
|
COM_SPORTSMANAGER_TRAINING_DAYS="Training days"
|
||||||
COM_SPORTSMANAGER_NOT_ACTUALIZED_DATA="Data not updated"
|
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"
|
||||||
+119
-13
@@ -526,6 +526,7 @@ return new class () implements InstallerScriptInterface
|
|||||||
. "\n `bestenliste_id` int(11) NOT NULL DEFAULT '0',"
|
. "\n `bestenliste_id` int(11) NOT NULL DEFAULT '0',"
|
||||||
. "\n `spieler_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 `spieler_2_id` int(11) DEFAULT NULL,"
|
||||||
|
. "\n `team_id` INT(11) DEFAULT NULL,"
|
||||||
. "\n `siege` smallint(6) DEFAULT NULL,"
|
. "\n `siege` smallint(6) DEFAULT NULL,"
|
||||||
. "\n `unentschieden` smallint(6) DEFAULT NULL,"
|
. "\n `unentschieden` smallint(6) DEFAULT NULL,"
|
||||||
. "\n `niederlagen` smallint(6) DEFAULT NULL,"
|
. "\n `niederlagen` smallint(6) DEFAULT NULL,"
|
||||||
@@ -722,6 +723,18 @@ return new class () implements InstallerScriptInterface
|
|||||||
$db->setQuery( $query );
|
$db->setQuery( $query );
|
||||||
if (!$db->execute()) { die($db->stderr(true)); }
|
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` ("
|
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_teamansprechpartner` ("
|
||||||
. "\n `kontaktperson_id` int(11) NOT NULL AUTO_INCREMENT,"
|
. "\n `kontaktperson_id` int(11) NOT NULL AUTO_INCREMENT,"
|
||||||
. "\n `team_id` int(11) NOT NULL DEFAULT '0',"
|
. "\n `team_id` int(11) NOT NULL DEFAULT '0',"
|
||||||
@@ -777,6 +790,7 @@ return new class () implements InstallerScriptInterface
|
|||||||
. "\n `spielpunkte_bedingung` tinyint(4) NOT NULL DEFAULT '0',"
|
. "\n `spielpunkte_bedingung` tinyint(4) NOT NULL DEFAULT '0',"
|
||||||
. "\n `spielernamen` tinyint(4) NOT NULL DEFAULT '0',"
|
. "\n `spielernamen` tinyint(4) NOT NULL DEFAULT '0',"
|
||||||
. "\n `heimtausch` 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 `modus` varchar(200) NOT NULL DEFAULT '',"
|
||||||
. "\n `status` tinyint(4) NOT NULL DEFAULT '0',"
|
. "\n `status` tinyint(4) NOT NULL DEFAULT '0',"
|
||||||
. "\n PRIMARY KEY (`teamspiel_modus_id`)"
|
. "\n PRIMARY KEY (`teamspiel_modus_id`)"
|
||||||
@@ -1049,6 +1063,7 @@ return new class () implements InstallerScriptInterface
|
|||||||
. "\n `erster_tag` date NOT NULL DEFAULT '0000-00-00',"
|
. "\n `erster_tag` date NOT NULL DEFAULT '0000-00-00',"
|
||||||
. "\n `letzter_tag` date DEFAULT NULL,"
|
. "\n `letzter_tag` date DEFAULT NULL,"
|
||||||
. "\n `elo_wertung` tinyint(4) DEFAULT NULL,"
|
. "\n `elo_wertung` tinyint(4) DEFAULT NULL,"
|
||||||
|
. "\n `explizite_strafen` tinyint(4) DEFAULT '0',"
|
||||||
. "\n `logo_url` TINYTEXT NOT NULL,"
|
. "\n `logo_url` TINYTEXT NOT NULL,"
|
||||||
. "\n `ticker_logo_url` TINYTEXT NOT NULL,"
|
. "\n `ticker_logo_url` TINYTEXT NOT NULL,"
|
||||||
. "\n `status` tinyint(4) NOT NULL DEFAULT '0',"
|
. "\n `status` tinyint(4) NOT NULL DEFAULT '0',"
|
||||||
@@ -1134,7 +1149,7 @@ return new class () implements InstallerScriptInterface
|
|||||||
. "\n ) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;";
|
. "\n ) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;";
|
||||||
$db->setQuery( $query );
|
$db->setQuery( $query );
|
||||||
if (!$db->execute()) { die($db->stderr(true)); }
|
if (!$db->execute()) { die($db->stderr(true)); }
|
||||||
|
|
||||||
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_verstoesse` ("
|
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_verstoesse` ("
|
||||||
. "\n `verstoesse_id` int(11) NOT NULL AUTO_INCREMENT,"
|
. "\n `verstoesse_id` int(11) NOT NULL AUTO_INCREMENT,"
|
||||||
. "\n `regelwerke_id` int(11) NOT NULL DEFAULT 0,"
|
. "\n `regelwerke_id` int(11) NOT NULL DEFAULT 0,"
|
||||||
@@ -1150,7 +1165,7 @@ return new class () implements InstallerScriptInterface
|
|||||||
. "\n ) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;";
|
. "\n ) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;";
|
||||||
$db->setQuery( $query );
|
$db->setQuery( $query );
|
||||||
if (!$db->execute()) { die($db->stderr(true)); }
|
if (!$db->execute()) { die($db->stderr(true)); }
|
||||||
|
|
||||||
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_ordnungsstrafen` ("
|
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_ordnungsstrafen` ("
|
||||||
. "\n `ordnungsstrafen_id` int(11) NOT NULL AUTO_INCREMENT,"
|
. "\n `ordnungsstrafen_id` int(11) NOT NULL AUTO_INCREMENT,"
|
||||||
. "\n `verstoesse_id` int(11) NOT NULL DEFAULT 0,"
|
. "\n `verstoesse_id` int(11) NOT NULL DEFAULT 0,"
|
||||||
@@ -1168,7 +1183,7 @@ return new class () implements InstallerScriptInterface
|
|||||||
. "\n ) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;";
|
. "\n ) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;";
|
||||||
$db->setQuery( $query );
|
$db->setQuery( $query );
|
||||||
if (!$db->execute()) { die($db->stderr(true)); }
|
if (!$db->execute()) { die($db->stderr(true)); }
|
||||||
|
|
||||||
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_email_vorlagen` ("
|
$query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_email_vorlagen` ("
|
||||||
. "\n `email_vorlagen_id` int(11) NOT NULL AUTO_INCREMENT,"
|
. "\n `email_vorlagen_id` int(11) NOT NULL AUTO_INCREMENT,"
|
||||||
. "\n `vorlage` varchar(64) NOT NULL,"
|
. "\n `vorlage` varchar(64) NOT NULL,"
|
||||||
@@ -1183,12 +1198,83 @@ return new class () implements InstallerScriptInterface
|
|||||||
. "\n ) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;";
|
. "\n ) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;";
|
||||||
$db->setQuery( $query );
|
$db->setQuery( $query );
|
||||||
if (!$db->execute()) { die($db->stderr(true)); }
|
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.';";
|
$query = "INSERT IGNORE #__sportsmanager_einstellungen SET name = 'verbands_kuerzel', wert = 'tbe.';";
|
||||||
$db->setQuery( $query );
|
$db->setQuery( $query );
|
||||||
if (!$db->execute()) { die($db->stderr(true)); }
|
if (!$db->execute()) { die($db->stderr(true)); }
|
||||||
|
|
||||||
$query = "INSERT IGNORE #__sportsmanager_einstellungen SET name = 'datenbank_version', wert = '116';";
|
$query = "INSERT IGNORE #__sportsmanager_einstellungen SET name = 'datenbank_version', wert = '120';";
|
||||||
$db->setQuery( $query );
|
$db->setQuery( $query );
|
||||||
if (!$db->execute()) { die($db->stderr(true)); }
|
if (!$db->execute()) { die($db->stderr(true)); }
|
||||||
|
|
||||||
@@ -1219,11 +1305,11 @@ return new class () implements InstallerScriptInterface
|
|||||||
$query = "INSERT IGNORE #__sportsmanager_einstellungen SET name = 'turnierbaum_zeigen', wert = '0';";
|
$query = "INSERT IGNORE #__sportsmanager_einstellungen SET name = 'turnierbaum_zeigen', wert = '0';";
|
||||||
$db->setQuery( $query );
|
$db->setQuery( $query );
|
||||||
if (!$db->execute()) { die($db->stderr(true)); }
|
if (!$db->execute()) { die($db->stderr(true)); }
|
||||||
|
|
||||||
$query = "INSERT IGNORE #__sportsmanager_einstellungen SET name = 'ordnungsstrafen_verwenden', wert = '0';";
|
$query = "INSERT IGNORE #__sportsmanager_einstellungen SET name = 'ordnungsstrafen_verwenden', wert = '0';";
|
||||||
$db->setQuery( $query );
|
$db->setQuery( $query );
|
||||||
if (!$db->execute()) { die($db->stderr(true)); }
|
if (!$db->execute()) { die($db->stderr(true)); }
|
||||||
|
|
||||||
$query = "INSERT IGNORE #__sportsmanager_einstellungen SET name = 'spalte_mitglieder_zeigen', wert = '1';";
|
$query = "INSERT IGNORE #__sportsmanager_einstellungen SET name = 'spalte_mitglieder_zeigen', wert = '1';";
|
||||||
$db->setQuery( $query );
|
$db->setQuery( $query );
|
||||||
if (!$db->execute()) { die($db->stderr(true)); }
|
if (!$db->execute()) { die($db->stderr(true)); }
|
||||||
@@ -1236,7 +1322,7 @@ return new class () implements InstallerScriptInterface
|
|||||||
. "\n VALUES ('Beliebig', '0', '0', '0', '1', '3', '0');";
|
. "\n VALUES ('Beliebig', '0', '0', '0', '1', '3', '0');";
|
||||||
$db->setQuery($query);
|
$db->setQuery($query);
|
||||||
if (!$db->execute()) { die($db->stderr(true)); }
|
if (!$db->execute()) { die($db->stderr(true)); }
|
||||||
|
|
||||||
$query = "INSERT IGNORE INTO `#__sportsmanager_email_vorlagen` (`email_vorlagen_id`, `vorlage`) VALUES (NULL, 'Ordnungsstrafe');";
|
$query = "INSERT IGNORE INTO `#__sportsmanager_email_vorlagen` (`email_vorlagen_id`, `vorlage`) VALUES (NULL, 'Ordnungsstrafe');";
|
||||||
$db->setQuery($query);
|
$db->setQuery($query);
|
||||||
if (!$db->execute()) { die($db->stderr(true)); }
|
if (!$db->execute()) { die($db->stderr(true)); }
|
||||||
@@ -1244,7 +1330,7 @@ return new class () implements InstallerScriptInterface
|
|||||||
$query = "INSERT IGNORE INTO `#__sportsmanager_email_vorlagen` (`email_vorlagen_id`, `vorlage`) VALUES (NULL, 'Spielverlegung');";
|
$query = "INSERT IGNORE INTO `#__sportsmanager_email_vorlagen` (`email_vorlagen_id`, `vorlage`) VALUES (NULL, 'Spielverlegung');";
|
||||||
$db->setQuery($query);
|
$db->setQuery($query);
|
||||||
if (!$db->execute()) { die($db->stderr(true)); }
|
if (!$db->execute()) { die($db->stderr(true)); }
|
||||||
|
|
||||||
$query = "INSERT #__sportsmanager_rangliste_system"
|
$query = "INSERT #__sportsmanager_rangliste_system"
|
||||||
. "\n SET systembezeichnung = 'Klostermann/Wahle (1 Punkt für letzten Platz)',"
|
. "\n SET systembezeichnung = 'Klostermann/Wahle (1 Punkt für letzten Platz)',"
|
||||||
. "\n status = '1',"
|
. "\n status = '1',"
|
||||||
@@ -1677,6 +1763,10 @@ return new class () implements InstallerScriptInterface
|
|||||||
$db->setQuery( $query );
|
$db->setQuery( $query );
|
||||||
if (!$db->execute()) { die($db->stderr(true)); }
|
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`;";
|
$query = "DROP TABLE IF EXISTS `#__sportsmanager_turnier`;";
|
||||||
$db->setQuery( $query );
|
$db->setQuery( $query );
|
||||||
if (!$db->execute()) { die($db->stderr(true)); }
|
if (!$db->execute()) { die($db->stderr(true)); }
|
||||||
@@ -1732,21 +1822,37 @@ return new class () implements InstallerScriptInterface
|
|||||||
$query = "DROP TABLE IF EXISTS `#__sportsmanager_verteiler`;";
|
$query = "DROP TABLE IF EXISTS `#__sportsmanager_verteiler`;";
|
||||||
$db->setQuery( $query );
|
$db->setQuery( $query );
|
||||||
if (!$db->execute()) { die($db->stderr(true)); }
|
if (!$db->execute()) { die($db->stderr(true)); }
|
||||||
|
|
||||||
$query = "DROP TABLE IF EXISTS `#__sportsmanager_regelwerke`;";
|
$query = "DROP TABLE IF EXISTS `#__sportsmanager_regelwerke`;";
|
||||||
$db->setQuery( $query );
|
$db->setQuery( $query );
|
||||||
if (!$db->execute()) { die($db->stderr(true)); }
|
if (!$db->execute()) { die($db->stderr(true)); }
|
||||||
|
|
||||||
$query = "DROP TABLE IF EXISTS `#__sportsmanager_verstoesse`;";
|
$query = "DROP TABLE IF EXISTS `#__sportsmanager_verstoesse`;";
|
||||||
$db->setQuery( $query );
|
$db->setQuery( $query );
|
||||||
if (!$db->execute()) { die($db->stderr(true)); }
|
if (!$db->execute()) { die($db->stderr(true)); }
|
||||||
|
|
||||||
$query = "DROP TABLE IF EXISTS `#__sportsmanager_ordnungsstrafen`;";
|
$query = "DROP TABLE IF EXISTS `#__sportsmanager_ordnungsstrafen`;";
|
||||||
$db->setQuery( $query );
|
$db->setQuery( $query );
|
||||||
if (!$db->execute()) { die($db->stderr(true)); }
|
if (!$db->execute()) { die($db->stderr(true)); }
|
||||||
|
|
||||||
$query = "DROP TABLE IF EXISTS `#__sportsmanager_email_vorlagen`;";
|
$query = "DROP TABLE IF EXISTS `#__sportsmanager_email_vorlagen`;";
|
||||||
$db->setQuery( $query );
|
$db->setQuery( $query );
|
||||||
if (!$db->execute()) { die($db->stderr(true)); }
|
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