diff --git a/src/structure/components/com_sportsmanager/admin.php b/src/structure/components/com_sportsmanager/admin.php
index 090a1e7..7b7efba 100644
--- a/src/structure/components/com_sportsmanager/admin.php
+++ b/src/structure/components/com_sportsmanager/admin.php
@@ -112,6 +112,30 @@ function renderTemplate($template, $vars = []): string
);
}
+function CSVfromArray($rows,$dateiname)
+{
+ $dateiname = bereinigterDateiname($dateiname);
+ ob_end_clean(); // Wegen UTF-8-Zeichen, die in der ausgabe vorhanden sind
+ Header("Content-Type: text/x-csv");
+ Header('Expires: ' . gmdate('D, d M Y H:i:s') . ' GMT');
+ Header('Content-Disposition: attachment; filename="' . $dateiname . '"');
+ Header("Pragma: no-cache");
+
+ $data = "";
+ $trennzeichen = ";";
+ $spalte = 0;
+ $header = "";
+
+ $header .= implode(';', array_keys($rows[0]));
+ foreach ($rows as $row) {
+ $data .= implode(';', $row)."\n";
+ }
+
+ echo $header . "\n" . utf8_decode(trim($data));
+
+ die();
+}
+
function adminUebersicht(): void
{
$db = getDatabase();
@@ -4898,6 +4922,285 @@ function adminEditSpielverlegung(): void
redirectSportsManagerURL('&task=admin_spielverlegungen');
}
+#[NoReturn] function adminExportSpielverlegungen(): void
+{
+ $db = getDatabase();
+ global $params;
+ $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
+
+ if (!benutzerZugriff("verschieberegeln_aendern"))
+ keinZugriff(true);
+
+ $filter_status = $jInput->get('filter_status', '', 'RAW');
+ $filter_saison_id = $jInput->get('filter_saison_id', 0, 'INT');
+ if ($filter_saison_id == 0)
+ $filter_saison_id = $jInput->cookie->get('sportsmanager_filter_saison_id', 0, 'INT');
+
+ $query = "SELECT saison_id, saisonbezeichnung"
+ . "\n FROM #__sportsmanager_saison"
+ . "\n ORDER BY saisonbezeichnung DESC";
+ $saisons = loadObjectList($db, $query);
+
+ if (empty($filter_saison_id))
+ $filter_saison_id = $saisons[0]->saison_id;
+
+ if (empty($filter_status))
+ $filter_status = "offen,genehmigt,abgelehnt";
+
+ $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.team_id as beantragt_verein, t5.bezeichnung AS Liga, t2.spieltag AS Spieltag_Nr,"
+ . "\n t3.teamname AS Heim, t4.teamname AS Gast, t6.teamname AS beantragt_von, 'offen' AS status"
+ . "\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_team AS t3 ON t3.team_id = t2.heim_team_id"
+ . "\n LEFT JOIN #__sportsmanager_team AS t4 ON t4.team_id = t2.gast_team_id"
+ . "\n LEFT JOIN #__sportsmanager_veranstaltung AS t5 ON t5.veranstaltung_id = t4.veranstaltung_id"
+ . "\n LEFT JOIN #__sportsmanager_team AS t6 ON t6.team_id = t1.team_id"
+ . "\n WHERE t1.aktion = 2"
+ . "\n AND t5.saison_id = '$filter_saison_id'"
+ . "\n ORDER BY t1.begegnung_id, t1.zeitpunkt ASC;";
+ $spielverlegungen = loadObjectList($db, $query);
+
+ $last_id = "";
+ foreach ($spielverlegungen as $key => $spielverlegung) {
+ if ($spielverlegung->begegnung_id == $last_id) {
+ unset($spielverlegungen[$key]);
+ } else {
+ $last_id = $spielverlegung->begegnung_id;
+
+ $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 FROM #__sportsmanager_begegnung_historie AS t1"
+ . "\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 ORDER BY t1.zeitpunkt DESC LIMIT 1;";
+
+ $genehmigt = loadObjectList($db, $query);
+
+ if (!empty($genehmigt)) {
+ $spielverlegung->genehmigt_id = $genehmigt[0]->genehmigt_id;
+ $spielverlegung->genehmigt = $genehmigt[0]->genehmigt;
+ $spielverlegung->Termin_neu = $genehmigt[0]->Termin_neu;
+ $spielverlegung->genehmigt_von = $genehmigt[0]->genehmigt_von;
+ $spielverlegung->genehmigt_verein = $genehmigt[0]->genehmigt_verein;
+ $spielverlegung->status = "genehmigt";
+ } else {
+ $spielverlegung->genehmigt_id = "";
+ $spielverlegung->genehmigt = "";
+ $spielverlegung->Termin_neu = "";
+ $spielverlegung->genehmigt_von = "";
+ $spielverlegung->genehmigt_verein = "";
+ }
+
+ $query = "SELECT t1.begegnung_historie_id AS abgelehnt_id, t1.eingetragen AS abgelehnt,"
+ . "\n t1.user_id AS abgelehnt_von, t1.team_id as abgelehnt_verein,"
+ . "\n t1.kommentar AS Begruendung_abgelehnt"
+ . "\n FROM #__sportsmanager_begegnung_historie AS t1"
+ . "\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 ORDER BY t1.zeitpunkt DESC LIMIT 1;";
+
+ $abgelehnt = loadObjectList($db, $query);
+
+ if (!empty($abgelehnt)) {
+ $spielverlegung->abgelehnt_id = $abgelehnt[0]->abgelehnt_id;
+ $spielverlegung->abgelehnt = $abgelehnt[0]->abgelehnt;
+ $spielverlegung->abgelehnt_von = $abgelehnt[0]->abgelehnt_von;
+ $spielverlegung->abgelehnt_verein = $abgelehnt[0]->abgelehnt_verein;
+ $spielverlegung->Begruendung_abgelehnt = $abgelehnt[0]->Begruendung_abgelehnt;
+ $spielverlegung->status = "abgelehnt";
+ } else {
+ $spielverlegung->abgelehnt_id = "";
+ $spielverlegung->abgelehnt = "";
+ $spielverlegung->abgelehnt_von = "";
+ $spielverlegung->abgelehnt_verein = "";
+ $spielverlegung->Begruendung_abgelehnt = "";
+ }
+ }
+ }
+
+ $rows = [];
+ $zeile = 0;
+ foreach ($spielverlegungen AS $spielverlegung)
+ {
+ $rows[$zeile]['begegnung_id'] = $spielverlegung->begegnung_id;
+ $rows[$zeile]['Liga'] = $spielverlegung->Liga;
+ $rows[$zeile]['Spieltag_Nr'] = $spielverlegung->Spieltag_Nr;
+ $rows[$zeile]['Termin_alt'] = $spielverlegung->Termin_alt;
+ $rows[$zeile]['Termin_neu'] = $spielverlegung->Termin_neu;
+ $rows[$zeile]['Heim'] = $spielverlegung->Heim;
+ $rows[$zeile]['Gast'] = $spielverlegung->Gast;
+ $rows[$zeile]['Begruendung'] = $spielverlegung->Begruendung_beantragt;
+ $rows[$zeile]['beantragt_von'] = $spielverlegung->beantragt_von;
+ $zeile++;
+ }
+
+ CSVfromArray($rows,"Spielverlegungen.csv");
+}
+
+function adminSpielverlegungMailen(): void
+{
+ $db = getDatabase();
+ $app = Factory::getContainer()->get(SiteApplication::class);
+ $jInput = $app->input;
+
+ if (!benutzerZugriff("verschieberegeln_aendern"))
+ keinZugriff(true);
+
+ $user_id = isExternalDatabase() ? 0 : (isJson() ? getUserID() : $app->getIdentity()->id);
+ $query = "SELECT name, email FROM #__users WHERE id = '$user_id';";
+ $Benutzer = loadObjectList($db, $query);
+
+ $begegnung_id = $jInput->get('id', 0, 'INT');
+ $beantragt_id = 0;
+ $genehmigt_id = 0;
+
+ if (empty($begegnung_id))
+ redirectSportsManagerURL('&task=admin_spielverlegungen', 'Missing id');
+
+ if ($jInput->get('cancel', false, 'BOOL'))
+ redirectSportsManagerURL('&task=admin_spielverlegungen');
+
+ $query = "SELECT *"
+ . "\n FROM #__sportsmanager_begegnung_historie AS t1"
+ . "\n WHERE begegnung_id = '$begegnung_id' AND aktion = '2'"
+ . "\n ORDER BY eingetragen ASC LIMIT 1;";
+ $ergebnis = loadObjectList($db, $query);
+ if (!empty($ergebnis))
+ $beantragt_id = $ergebnis[0]->begegnung_historie_id;
+
+ $query = "SELECT *"
+ . "\n FROM #__sportsmanager_begegnung_historie AS t1"
+ . "\n WHERE begegnung_id = '$begegnung_id' AND aktion = '1'"
+ . "\n ORDER BY eingetragen DESC LIMIT 1;";
+ $ergebnis = loadObjectList($db, $query);
+ if (!empty($ergebnis))
+ $genehmigt_id = $ergebnis[0]->begegnung_historie_id;
+
+ $beantragt = [];
+ if (!empty($beantragt_id)){
+ $query = "SELECT"
+ . "\n CONCAT(t3.teamname, ' - ', t4.teamname, ' (', t5.bezeichnung, ')') AS Begegnung,"
+ . "\n t2.heim_team_id, t2.gast_team_id, t7.verein_id AS heim_verein_id, t8.verein_id AS gast_verein_id,"
+ . "\n IF (ISNULL(t1.verantwortlich_team_id), 0, verantwortlich_team_id) AS beantragt_von_id,"
+ . "\n t2.begegnung_id AS begegnung_id, t5.bezeichnung AS Liga, t3.teamname AS Heim, t4.teamname AS Gast,"
+ . "\n t1.zeitpunkt AS Termin_alt, t1.begegnung_historie_id AS beantragt_id, t6.teamname AS beantragt_von,"
+ . "\n t1.eingetragen AS beantragt_am, t1.kommentar AS Begruendung_beantragt,"
+ . "\n t1.team_id AS beantragt_verein, 'offen' AS status,"
+ . "\n if (t2.spieltag_titel = '', CONCAT(t2.spieltag, '. Spieltag'), t2.spieltag_titel) AS Spieltag "
+ . "\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_team AS t3 ON t3.team_id = t2.heim_team_id"
+ . "\n LEFT JOIN #__sportsmanager_team AS t4 ON t4.team_id = t2.gast_team_id"
+ . "\n LEFT JOIN #__sportsmanager_veranstaltung AS t5 ON t5.veranstaltung_id = t4.veranstaltung_id"
+ . "\n LEFT JOIN #__sportsmanager_team AS t6 ON t6.team_id = t1.team_id"
+ . "\n LEFT JOIN #__sportsmanager_verein AS t7 ON t7.verein_id = t3.verein_id"
+ . "\n LEFT JOIN #__sportsmanager_verein AS t8 ON t8.verein_id = t4.verein_id"
+ . "\n WHERE t1.aktion = 2"
+ . "\n AND t1.begegnung_historie_id = '$beantragt_id'";
+ $beantragt = loadObjectList($db, $query);
+ $spielverlegung = $beantragt[0];
+ } else
+ if ($begegnung_id != 0){
+ $query = "SELECT"
+ . "\n CONCAT(t3.teamname, ' - ', t4.teamname, ' (', t5.bezeichnung, ')') AS Begegnung,"
+ . "\n t2.begegnung_id AS begegnung_id, t5.bezeichnung AS Liga, t3.teamname AS Heim,"
+ . "\n t4.teamname AS Gast, t2.zeitpunkt AS Termin_alt,"
+ . "\n t2.heim_team_id, t2.gast_team_id"
+ . "\n FROM #__sportsmanager_begegnung AS t2"
+ . "\n LEFT JOIN #__sportsmanager_team AS t3 ON t3.team_id = t2.heim_team_id"
+ . "\n LEFT JOIN #__sportsmanager_team AS t4 ON t4.team_id = t2.gast_team_id"
+ . "\n LEFT JOIN #__sportsmanager_veranstaltung AS t5 ON t5.veranstaltung_id = t4.veranstaltung_id"
+ . "\n WHERE t2.begegnung_id = '$begegnung_id'";
+ $beantragt = loadObjectList($db, $query);
+ $spielverlegung = $beantragt[0];
+ $spielverlegung->beantragt_id = "";
+ $spielverlegung->beantragt_von = "";
+ $spielverlegung->beantragt_von_id = 0;
+ $spielverlegung->beantragt_am = "";
+ $spielverlegung->Begruendung_beantragt = "";
+ $spielverlegung->beantragt_verein = "";
+ $spielverlegung->status = "offen";
+ }
+
+ if (empty($spielverlegung))
+ redirectSportsManagerURL('&task=admin_spielverlegungen', 'Wrong id');
+
+ $genehmigt = [];
+ if (!empty($genehmigt_id)){
+ $query = "SELECT t1.begegnung_historie_id AS genehmigt_id, t1.eingetragen AS genehmigt_am,"
+ . "\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 LEFT JOIN #__sportsmanager_begegnung AS t2 ON t2.begegnung_id = t1.begegnung_id"
+ . "\n WHERE t1.begegnung_historie_id = '$genehmigt_id'";
+ $genehmigt = loadObjectList($db, $query);
+ }
+ if (!empty($genehmigt)) {
+ $spielverlegung->genehmigt_id = $genehmigt[0]->genehmigt_id;
+ $spielverlegung->genehmigt_am = $genehmigt[0]->genehmigt_am;
+ $spielverlegung->Termin_neu = $genehmigt[0]->Termin_neu;
+ $spielverlegung->genehmigt_von = $genehmigt[0]->genehmigt_von;
+ $spielverlegung->genehmigt_verein = $genehmigt[0]->genehmigt_verein;
+ $spielverlegung->status = "genehmigt";
+ } else {
+ $spielverlegung->genehmigt_id = "";
+ $spielverlegung->genehmigt_am = "";
+ $spielverlegung->Termin_neu = "";
+ $spielverlegung->genehmigt_verein = "";
+ $spielverlegung->genehmigt_von = "";
+ }
+
+
+ $query = "SELECT nachname, vorname, email"
+ . "\n FROM #__sportsmanager_vereinsansprechpartner"
+ . "\n WHERE verein_id IN ('$spielverlegung->heim_verein_id', '$spielverlegung->gast_verein_id')"
+ . "\n GROUP BY email"
+ . "\n ORDER BY nachname, vorname;";
+ $vereinsansprechpartner = loadObjectList($db, $query);
+
+ $var["Ansprechpartner"] = "";
+ $to = "";
+
+ foreach ($vereinsansprechpartner AS $ansprechpartner){
+ if ($var["Ansprechpartner"] == "")
+ $var["Ansprechpartner"] = $ansprechpartner->vorname . " " . $ansprechpartner->nachname;
+ else
+ $var["Ansprechpartner"] .= ", " . $ansprechpartner->vorname . " " . $ansprechpartner->nachname;
+ if ($to == "")
+ $to = $ansprechpartner->email;
+ else
+ $to .= ";" . $ansprechpartner->email;
+ }
+
+ $var['Heim'] = $spielverlegung->Heim;
+ $var['Gast'] = $spielverlegung->Gast;
+ $var['Liga'] = $spielverlegung->Liga;
+ $var['Spieltag'] = $spielverlegung->Spieltag;
+ $var['Antragsteller'] = $spielverlegung->beantragt_von;
+ $var['Alter_Termin'] = (new DateTime($spielverlegung->Termin_alt))->format("d.m.Y H:i");
+ $var['Neuer_Termin'] = $spielverlegung->Termin_neu ? (new DateTime($spielverlegung->Termin_neu))->format("d.m.Y H:i") : 'offen';
+ $var['Begruendung'] = $spielverlegung->Begruendung_beantragt;
+ $var['Absender'] = $Benutzer[0]->name;
+
+ $query = "SELECT * FROM #__sportsmanager_email_vorlagen WHERE vorlage = 'Spielverlegung';";
+ $vorlagen = loadObjectList($db, $query);
+ $template = $vorlagen[0]->email_text;
+
+ $cc = $vorlagen[0]->cc;
+ $bcc = $vorlagen[0]->bcc;
+ $subject = "Spielverlegung " . $spielverlegung->Heim . " gegen " . $spielverlegung->Gast;
+ $message = renderTemplate($template, $var);
+ $backtomail = "admin_spielverlegungen_mailen&id=" . $spielverlegung->begegnung_id;
+ $backtosender = "admin_spielverlegungen";
+
+ $vorlage = new stdClass();
+ $vorlage->id = $spielverlegung->spielverlegung_id;
+ $vorlage->name = 'Spielverlegung';
+
+ HTML_sportsmanager_admin::adminMailto($to,$cc,$bcc,$subject,$message,$backtomail,$backtosender,$vorlage);
+}
+
function adminVerschiebenModi(): void
{
$db = getDatabase();
@@ -7211,7 +7514,8 @@ function adminEditEmailVorlage($vorlage): void
$back = 'admin_ordnungsstrafen';
}
if ($vorlage == 'Spielverlegung'){
- $vars = "Alter_Termin, Neuer_Termin";
+ $vars = "Ansprechpartner, Heim, Gast, Liga, Spieltag, Antragsteller,
+
Alter_Termin, Neuer_Termin, Begruendung, Absender";
$back = 'admin_spielverlegungen';
}
HTML_sportsmanager_admin::adminEditEmailVorlage($vorlage,$row,$vars,$back);
diff --git a/src/structure/components/com_sportsmanager/sportsmanager.php b/src/structure/components/com_sportsmanager/sportsmanager.php
index 25bb641..05de63e 100644
--- a/src/structure/components/com_sportsmanager/sportsmanager.php
+++ b/src/structure/components/com_sportsmanager/sportsmanager.php
@@ -227,6 +227,12 @@ if ($task == "spielerbild") {
case 'admin_spielverlegung_remove';
adminRemoveSpielverlegung();
break;
+ case 'admin_spielverlegungen_export':
+ adminExportSpielverlegungen();
+ break;
+ case 'admin_spielverlegung_mailen';
+ adminSpielverlegungMailen();
+ break;
case 'admin_kategorien':
adminKategorien();
break;
@@ -2496,7 +2502,7 @@ function begegnungenAnzeigen($veranstaltung, $verein_id, $spielort_id, $zeitfens
. "\n (SELECT vorschlagendes_team_id FROM #__sportsmanager_unbestaetigtes_ergebnis AS tt1 WHERE tt1.begegnung_id = t1.begegnung_id LIMIT 1) AS unbestaetigtes_ergebnis_team_id,"
. "\n (SELECT IF(aktion NOT IN (0, 3, 4), NULL, tt1.eingetragen) FROM #__sportsmanager_begegnung_historie AS tt1 USE INDEX (begegnung_id) WHERE tt1.begegnung_id = t1.begegnung_id ORDER BY begegnung_historie_id DESC LIMIT 1) AS verlegung_eingetragen,"
. "\n (SELECT verantwortlich_team_id FROM #__sportsmanager_begegnung_historie AS tt1 USE INDEX (begegnung_id) WHERE tt1.begegnung_id = t1.begegnung_id ORDER BY begegnung_historie_id DESC LIMIT 1) AS verantwortlich_team_id,"
- . "\n IF(NOT ISNULL(t6.verschieberegel_id) AND (t6.vorlaufzeit_tage = 0 OR DATEDIFF(zeitpunkt, CURDATE()) >= t6.vorlaufzeit_tage), 1, 0) AS verschieberegel_erfuellt"
+ . "\n IF(NOT ISNULL(t6.verschieberegel_id) AND t6.vereine_berechtigt = 1 AND (t6.vorlaufzeit_tage = 0 OR DATEDIFF(zeitpunkt, CURDATE()) >= t6.vorlaufzeit_tage), 1, 0) AS verschieberegel_erfuellt"
. "\n FROM #__sportsmanager_begegnung AS t1"
. "\n LEFT JOIN #__sportsmanager_spielort AS s1 ON t1.spielort_id = s1.spielort_id"
. "\n LEFT JOIN #__sportsmanager_team AS t2 ON t1.heim_team_id = t2.team_id"
@@ -2516,7 +2522,7 @@ function begegnungenAnzeigen($veranstaltung, $verein_id, $spielort_id, $zeitfens
. "\n (SELECT vorschlagendes_team_id FROM #__sportsmanager_unbestaetigtes_ergebnis AS tt1 WHERE tt1.begegnung_id = t1.begegnung_id LIMIT 1) AS unbestaetigtes_ergebnis_team_id,"
. "\n (SELECT IF(aktion NOT IN (0, 3, 4), NULL, tt1.eingetragen) FROM #__sportsmanager_begegnung_historie AS tt1 USE INDEX (begegnung_id) WHERE tt1.begegnung_id = t1.begegnung_id ORDER BY begegnung_historie_id DESC LIMIT 1) AS verlegung_eingetragen,"
. "\n (SELECT verantwortlich_team_id FROM #__sportsmanager_begegnung_historie AS tt1 USE INDEX (begegnung_id) WHERE tt1.begegnung_id = t1.begegnung_id ORDER BY begegnung_historie_id DESC LIMIT 1) AS verantwortlich_team_id,"
- . "\n IF(NOT ISNULL(t6.verschieberegel_id) AND (t6.vorlaufzeit_tage = 0 OR DATEDIFF(zeitpunkt, CURDATE()) >= t6.vorlaufzeit_tage), 1, 0) AS verschieberegel_erfuellt"
+ . "\n IF(NOT ISNULL(t6.verschieberegel_id) AND t6.vereine_berechtigt = 1 AND (t6.vorlaufzeit_tage = 0 OR DATEDIFF(zeitpunkt, CURDATE()) >= t6.vorlaufzeit_tage), 1, 0) AS verschieberegel_erfuellt"
. "\n FROM #__sportsmanager_begegnung AS t1"
. "\n LEFT JOIN #__sportsmanager_spielort AS s1 ON t1.spielort_id = s1.spielort_id"
. "\n LEFT JOIN #__sportsmanager_team AS t2 ON t1.heim_team_id = t2.team_id"
@@ -2537,7 +2543,7 @@ function begegnungenAnzeigen($veranstaltung, $verein_id, $spielort_id, $zeitfens
. "\n (SELECT vorschlagendes_team_id FROM #__sportsmanager_unbestaetigtes_ergebnis AS tt1 WHERE tt1.begegnung_id = t1.begegnung_id LIMIT 1) AS unbestaetigtes_ergebnis_team_id,"
. "\n (SELECT IF(aktion NOT IN (0, 3, 4), NULL, tt1.eingetragen) FROM #__sportsmanager_begegnung_historie AS tt1 USE INDEX (begegnung_id) WHERE tt1.begegnung_id = t1.begegnung_id ORDER BY begegnung_historie_id DESC LIMIT 1) AS verlegung_eingetragen,"
. "\n (SELECT verantwortlich_team_id FROM #__sportsmanager_begegnung_historie AS tt1 USE INDEX (begegnung_id) WHERE tt1.begegnung_id = t1.begegnung_id ORDER BY begegnung_historie_id DESC LIMIT 1) AS verantwortlich_team_id,"
- . "\n IF(NOT ISNULL(t6.verschieberegel_id) AND (t6.vorlaufzeit_tage = 0 OR DATEDIFF(zeitpunkt, CURDATE()) >= t6.vorlaufzeit_tage), 1, 0) AS verschieberegel_erfuellt"
+ . "\n IF(NOT ISNULL(t6.verschieberegel_id) AND t6.vereine_berechtigt = 1 AND (t6.vorlaufzeit_tage = 0 OR DATEDIFF(zeitpunkt, CURDATE()) >= t6.vorlaufzeit_tage), 1, 0) AS verschieberegel_erfuellt"
. "\n FROM #__sportsmanager_begegnung AS t1"
. "\n LEFT JOIN #__sportsmanager_team AS t2 ON t1.heim_team_id = t2.team_id"
. "\n LEFT JOIN #__sportsmanager_team AS t3 ON t1.gast_team_id = t3.team_id"
@@ -2564,7 +2570,7 @@ function begegnungenAnzeigen($veranstaltung, $verein_id, $spielort_id, $zeitfens
. "\n (SELECT IF(aktion NOT IN (0, 3, 4), NULL, tt1.eingetragen) FROM #__sportsmanager_begegnung_historie AS tt1 USE INDEX (begegnung_id) WHERE tt1.begegnung_id = t1.begegnung_id ORDER BY begegnung_historie_id DESC LIMIT 1) AS verlegung_eingetragen,"
. "\n (SELECT verantwortlich_team_id FROM #__sportsmanager_begegnung_historie AS tt1 USE INDEX (begegnung_id) WHERE tt1.begegnung_id = t1.begegnung_id ORDER BY begegnung_historie_id DESC LIMIT 1) AS verantwortlich_team_id,"
//
- . "\n IF(NOT ISNULL(t6.verschieberegel_id) AND (t6.vorlaufzeit_tage = 0 OR DATEDIFF(zeitpunkt, CURDATE()) >= t6.vorlaufzeit_tage), 1, 0) AS verschieberegel_erfuellt"
+ . "\n IF(NOT ISNULL(t6.verschieberegel_id) AND t6.vereine_berechtigt = 1 AND (t6.vorlaufzeit_tage = 0 OR DATEDIFF(zeitpunkt, CURDATE()) >= t6.vorlaufzeit_tage), 1, 0) AS verschieberegel_erfuellt"
. "\n FROM #__sportsmanager_begegnung AS t1"
. "\n LEFT JOIN #__sportsmanager_team AS t2 ON t1.heim_team_id = t2.team_id"
. "\n LEFT JOIN #__sportsmanager_team AS t3 ON t1.gast_team_id = t3.team_id"
diff --git a/src/structure/components/com_sportsmanager/views/sportsmanager/view_admin.php b/src/structure/components/com_sportsmanager/views/sportsmanager/view_admin.php
index 7bab22d..23059c6 100644
--- a/src/structure/components/com_sportsmanager/views/sportsmanager/view_admin.php
+++ b/src/structure/components/com_sportsmanager/views/sportsmanager/view_admin.php
@@ -6991,7 +6991,7 @@ class HTML_sportsmanager_admin
echo "";
?>
-
+
">
+ if (benutzerZugriff("verschieberegeln_aendern")){ ?>