diff --git a/src/structure/components/com_sportsmanager/admin.php b/src/structure/components/com_sportsmanager/admin.php index 7b7efba..5692c41 100644 --- a/src/structure/components/com_sportsmanager/admin.php +++ b/src/structure/components/com_sportsmanager/admin.php @@ -123,7 +123,6 @@ function CSVfromArray($rows,$dateiname) $data = ""; $trennzeichen = ";"; - $spalte = 0; $header = ""; $header .= implode(';', array_keys($rows[0])); @@ -11979,10 +11978,10 @@ function adminBegegnungenExportForm(): void } $query .= " t5.saisonbezeichnung AS Saison, - t4.bezeichnung AS Liga, t1.zeitpunkt AS Spielstart, t2.teamname AS Heim, t3.teamname AS Gast, - t1.spieltag AS Spieltag_Nr, t1.spiel_nr AS Spiel_Nr, t1.heim_punkte AS Heim_Tore, - t1.gast_punkte AS Gast_Tore, t1.heim_spielpunkte AS Heim_Satzpunkte, - t1.gast_spielpunkte AS Gast_Satzpunkte + t4.bezeichnung AS Liga, t1.spieltag AS Spieltag_Nr, t1.spiel_nr AS Spiel_Nr, + t1.zeitpunkt AS Spielstart, '' AS verlegt_auf, t2.teamname AS Heim, t3.teamname AS Gast, + t1.heim_punkte AS Heim_Tore, t1.gast_punkte AS Gast_Tore, + t1.heim_spielpunkte AS Heim_Satzpunkte, t1.gast_spielpunkte AS Gast_Satzpunkte FROM #__sportsmanager_begegnung AS t1 LEFT JOIN #__sportsmanager_team AS t2 ON t1.heim_team_id = t2.team_id LEFT JOIN #__sportsmanager_team AS t3 ON t1.gast_team_id = t3.team_id @@ -11991,9 +11990,39 @@ function adminBegegnungenExportForm(): void WHERE t4.veranstaltung_id = " . $veranstaltungId . " ORDER BY t4.veranstaltung_id, t1.spieltag, t1.spiel_nr, t1.zeitpunkt; "; + $rows = loadObjectList($db, $query); + + // Spielverlegungen + foreach ($rows as $value) { - $rows = loadObjectList($db, $query); - $dateiname = "Spielplan " . $veranstaltung->bezeichnung; + $beantragt = []; + $genehmigt = []; + + // Spielverlegung vorgeschlagen + $query = " + SELECT t1.zeitpunkt AS Termin_alt + FROM #__sportsmanager_begegnung_historie AS t1 + WHERE begegnung_id = " . $value->ID . " + AND aktion IN (2) + ORDER BY eingetragen ASC LIMIT 1; + "; + $beantragt = loadObjectList($db, $query); + if (!empty($beantragt)) + $value->Spielstart = $beantragt[0]->Termin_alt; + + // Spielverlegung vorgeschlagen + $query = " + SELECT t1.zeitpunkt AS Termin_neu + FROM #__sportsmanager_begegnung_historie AS t1 + WHERE begegnung_id = " . $value->ID . " + AND aktion IN (1) + ORDER BY eingetragen DESC LIMIT 1; + "; + $genehmigt = loadObjectList($db, $query); + if (!empty($genehmigt)) + $value->verlegt_auf = $genehmigt[0]->Termin_neu; + } + $dateiname = "Spielplan " . $veranstaltung->bezeichnung; } if (!isset($rows) or count($rows) == 0) { @@ -12025,8 +12054,7 @@ function adminBegegnungenExportForm(): void LEFT JOIN #__users AS t2 ON t1.user_id = t2.id WHERE begegnung_id = " . $value->ID . " AND aktion IN (6) - ORDER BY eingetragen DESC - LIMIT 1; + ORDER BY eingetragen DESC LIMIT 1; "; $Bestaetigt = loadObjectList($db, $query); if (!empty($Bestaetigt)) { @@ -12044,8 +12072,7 @@ function adminBegegnungenExportForm(): void LEFT JOIN #__users AS t2 ON t1.user_id = t2.id WHERE begegnung_id = " . $value->ID . " AND aktion IN (7) - ORDER BY eingetragen DESC - LIMIT 1; + ORDER BY eingetragen DESC LIMIT 1; "; $Bestaetigt = loadObjectList($db, $query); if (!empty($Bestaetigt)) { @@ -12063,8 +12090,7 @@ function adminBegegnungenExportForm(): void LEFT JOIN #__users AS t2 ON t1.user_id = t2.id WHERE begegnung_id = " . $value->ID . " AND aktion IN (8) - ORDER BY eingetragen DESC - LIMIT 1; + ORDER BY eingetragen DESC LIMIT 1; "; $Moderator = loadObjectList($db, $query); if (!empty($Moderator)) { diff --git a/src/structure/script.php b/src/structure/script.php index 7ec37e9..f427f68 100644 --- a/src/structure/script.php +++ b/src/structure/script.php @@ -1097,16 +1097,19 @@ return new class () implements InstallerScriptInterface if (!$db->execute()) { die($db->stderr(true)); } $query = "CREATE TABLE IF NOT EXISTS `#__sportsmanager_verschieberegel` (" - . "\n `verschieberegel_id` int(11) NOT NULL AUTO_INCREMENT," + . "\n `verschieberegel_id` int(11) NOT NULL AUTO_INCREMENT," . "\n `bezeichnung` varchar(50) NOT NULL DEFAULT ''," - . "\n `initial_ohne_termin` tinyint(1) NOT NULL DEFAULT '0'," - . "\n `keine_gegenvorschlaege` tinyint(1) NOT NULL DEFAULT '0'," + . "\n `initial_ohne_termin` tinyint(1) NOT NULL DEFAULT '0'," + . "\n `keine_gegenvorschlaege` tinyint(1) NOT NULL DEFAULT '0'," . "\n `vorlaufzeit_tage` tinyint(4) NOT NULL DEFAULT '0'," . "\n `termine_minimal` tinyint(4) NOT NULL DEFAULT '0'," . "\n `termine_maximal` tinyint(4) NOT NULL DEFAULT '0'," - . "\n `ablehnen` tinyint(1) NOT NULL DEFAULT '0'," - . "\n PRIMARY KEY (`verschieberegel_id`)" - . "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;"; + . "\n `ablehnen` tinyint(1) NOT NULL DEFAULT '0'," + . "\n `begruendung_erforderlich` int(1) NOT NULL DEFAULT 0," + . "\n `vereine_berechtigt` int(1) NOT NULL DEFAULT 1," + . "\n `verband_berechtigt` int(1) NOT NULL DEFAULT 0," + . "\n PRIMARY KEY (`verschieberegel_id`)" + . "\n) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;"; $db->setQuery( $query ); if (!$db->execute()) { die($db->stderr(true)); } @@ -1181,7 +1184,7 @@ return new class () implements InstallerScriptInterface $db->setQuery( $query ); if (!$db->execute()) { die($db->stderr(true)); } - $query = "INSERT IGNORE #__sportsmanager_einstellungen SET name = 'datenbank_version', wert = '114';"; + $query = "INSERT IGNORE #__sportsmanager_einstellungen SET name = 'datenbank_version', wert = '115';"; $db->setQuery( $query ); if (!$db->execute()) { die($db->stderr(true)); } @@ -1234,6 +1237,10 @@ return new class () implements InstallerScriptInterface $db->setQuery($query); if (!$db->execute()) { die($db->stderr(true)); } + $query = "INSERT IGNORE INTO `#__sportsmanager_email_vorlagen` (`email_vorlagen_id`, `vorlage`) VALUES (NULL, 'Spielverlegung');"; + $db->setQuery($query); + if (!$db->execute()) { die($db->stderr(true)); } + $query = "INSERT #__sportsmanager_rangliste_system" . "\n SET systembezeichnung = 'Klostermann/Wahle (1 Punkt für letzten Platz)'," . "\n status = '1',"