Merge pull request #66 from Deutscher-Tischfussballbund/bug/mail_duplication

mail duplication
This commit is contained in:
MarvinF
2025-05-05 22:47:19 +02:00
committed by GitHub
2 changed files with 57 additions and 35 deletions
@@ -5217,7 +5217,7 @@ function adminKategorien(): void
$kategorien[5] = array();
$kategorien[6] = array();
foreach ($rows as $row)
$kategorien[$row->typ][$row->nummer] = $row->bezeichnung;
@@ -9943,9 +9943,13 @@ function adminSaveBegegnungSpielplan(): void
}
$rows = $db->loadObjectList();
$mailer = Factory::getContainer()->get(MailerFactoryInterface::class)->createMailer();
$mailer->setSender($mailfrom, $fromname);
$mailer->setSubject($subject);
$mailer->setBody($body);
foreach ($rows as $row) {
$mailer->sendMail($mailfrom, $fromname, $row->email, $subject, $body);
$mailer->addBcc($row->email);
}
$mailer->send();
}
begegnungChanged($begegnung, $begegnung_alt, $modus, $heim_team, $gast_team, $spiele);
@@ -10274,9 +10278,13 @@ function adminBegegnungSpielplanBestaetigen(): void
}
$rows = $db->loadObjectList();
$mailer = Factory::getContainer()->get(MailerFactoryInterface::class)->createMailer();
$mailer->setSender($mailfrom, $fromname);
$mailer->setSubject($subject);
$mailer->setBody($body);
foreach ($rows as $row) {
$mailer->sendMail($mailfrom, $fromname, $row->email, $subject, $body);
$mailer->addBcc($row->email);
}
$mailer->send();
if (isJson()) {
begegnungSpielplan();
@@ -11213,8 +11221,8 @@ function adminBegegnungenExportForm(): void
$veranstaltung = $rows[0];
//Alle Ligen einer Saison ermitteln
$query = "SELECT * FROM #__sportsmanager_veranstaltung
WHERE saison_id = " . $veranstaltung->saison_id . "
$query = "SELECT * FROM #__sportsmanager_veranstaltung
WHERE saison_id = " . $veranstaltung->saison_id . "
AND #__sportsmanager_veranstaltung.bezeichnung NOT IN ('Schiedsrichter')
ORDER BY #__sportsmanager_veranstaltung.reihenfolge;";
$db->setQuery($query);
@@ -11224,7 +11232,7 @@ function adminBegegnungenExportForm(): void
$rows = $db->loadObjectList();
if (count($rows) < 1) die("Wrong id!");
$saison = $rows;
HTML_sportsmanager_admin::adminBegegnungenExport($veranstaltung,$saison);
}
@@ -11260,8 +11268,8 @@ function adminBegegnungenExportForm(): void
$dateiname = "";
if ($export == "spieler") {
$query = "
SELECT t5.bezeichnung AS Veranstaltung, t2.vereinsname AS Verein, t1.teamname AS Team,
t4.spielernr AS Passnummer, t4.nachname AS Nachname, t4.vorname AS Vorname, t4.geburtsjahr AS Geburtsjahr,
SELECT t5.bezeichnung AS Veranstaltung, t2.vereinsname AS Verein, t1.teamname AS Team,
t4.spielernr AS Passnummer, t4.nachname AS Nachname, t4.vorname AS Vorname, t4.geburtsjahr AS Geburtsjahr,
t6.saisonbezeichnung AS Saison, t3.erster_spieltag AS Spielberechtigt_von, t3.letzter_spieltag AS Spielberechtigt_bis
FROM #__sportsmanager_team AS t1
LEFT JOIN #__sportsmanager_veranstaltung AS t5 ON t1.veranstaltung_id = t5.veranstaltung_id
@@ -11284,10 +11292,10 @@ function adminBegegnungenExportForm(): void
if ($export == "spielplan" or $export == "spielberichte") {
$query = "
SELECT t1.begegnung_id AS ID, 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.heim_punkte AS Heim_Tore, t1.gast_punkte AS Gast_Tore,
t4.bezeichnung AS Liga, t1.zeitpunkt AS Spielstart, t2.teamname AS Heim, t3.teamname AS Gast,
t1.spieltag AS Spieltag_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
FROM #__sportsmanager_begegnung AS t1
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
LEFT JOIN #__sportsmanager_veranstaltung AS t4 ON t2.veranstaltung_id = t4.veranstaltung_id
@@ -11326,7 +11334,7 @@ function adminBegegnungenExportForm(): void
foreach ($rows as $value) {
// letze Änderung
$query = "
SELECT t1.eingetragen AS gespeichert_um, t2.name AS gespeichert_von
@@ -11337,16 +11345,16 @@ function adminBegegnungenExportForm(): void
ORDER BY eingetragen DESC
LIMIT 1;
";
$letzterEintrag = null;
$db->setQuery($query);
if ($db->execute()) {
$letzterEintrag = $db->loadObjectList();
}
$value->gespeichert_um = $letzterEintrag[0]->gespeichert_um;
$value->gespeichert_von = $letzterEintrag[0]->gespeichert_von;
// Spielbericht
$query = "
SELECT
@@ -11355,13 +11363,13 @@ function adminBegegnungenExportForm(): void
t5.spielernr AS Pass_Gast1, t6.spielernr AS Pass_Gast2,
t1.teamspiel_heim_punkte AS Heim_Tore, t1.teamspiel_gast_punkte AS Gast_Tore,
t1.teamspiel_heim_spielpunkte AS Heim_Punkte, t1.teamspiel_gast_spielpunkte AS Gast_Punkte
FROM #__sportsmanager_teamspiel AS t1
FROM #__sportsmanager_teamspiel AS t1
LEFT JOIN #__sportsmanager_begegnung AS t2 ON t1.begegnung_id = t2.begegnung_id
LEFT JOIN #__sportsmanager_spieler AS t3 ON t1.heim_spieler_1_id = t3.spieler_id
LEFT JOIN #__sportsmanager_spieler AS t4 ON t1.heim_spieler_2_id = t4.spieler_id
LEFT JOIN #__sportsmanager_spieler AS t5 ON t1.gast_spieler_1_id = t5.spieler_id
LEFT JOIN #__sportsmanager_spieler AS t6 ON t1.gast_spieler_2_id = t6.spieler_id
WHERE t1.begegnung_id = " . $value->ID . "
WHERE t1.begegnung_id = " . $value->ID . "
ORDER BY t1.teamspiel_nummer;
";
@@ -11392,7 +11400,7 @@ function adminBegegnungenExportForm(): void
}
$dateiname = "Spielberichte " . $veranstaltung->bezeichnung;
}
$dateiname .= ".csv";
$dateiname = bereinigterDateiname($dateiname);
ob_end_clean(); // Wegen UTF-8-Zeichen, die in der ausgabe vorhanden sind
@@ -16348,12 +16356,6 @@ function termineEmailBenachrichtigung($termin_aktion_id, $ueberarbeiten = false)
$from = $app->getCfg('mailfrom');
$fromName = $app->getCfg('fromname');
$mode = 1;
$cc = null;
$bcc = null;
$attachment = null;
$replyTo = null;
$replyToName = null;
if ($terminaktion->status == 2) {
$subject = "Termin " . $aktion[$terminaktion->typ] . " beantragt: " . $terminaktion->bezeichnung . " am " . FormatierterTermin($terminaktion->erster_tag, $terminaktion->letzter_tag, true);
$body = "<p>Das " . htmlentities_utf8($aktion[$terminaktion->typ]) . " des folgenden Termins wurde beantragt und wird nun von den Moderatoren gepr&uuml;ft. Sobald der Termin bearbeitet wurde, wird eine E-Mail-Benachrichtigung verschickt.</p>";
@@ -16363,17 +16365,16 @@ function termineEmailBenachrichtigung($termin_aktion_id, $ueberarbeiten = false)
}
$body .= "<table>\r\n" . $termin_beschreibung . $termin_moderationsstatus . "</table>\r\n";
$mailer = Factory::getContainer()->get(MailerFactoryInterface::class)->createMailer();
$mailer->setSender($from, $fromName);
$mailer->setSubject($subject);
$mailer->isHtml(true);
$mailer->setBody($body);
foreach ($benachrichtigung_emails as $email)
$mailer->sendMail($from, $fromName, $email, $subject, $body, $mode, $cc, $bcc, $attachment, $replyTo, $replyToName);
$mailer->addBcc($email);
$mailer->send();
$from = $app->getCfg('mailfrom');
$fromName = $app->getCfg('fromname');
$mode = 1;
$cc = null;
$bcc = null;
$attachment = null;
$replyTo = null;
$replyToName = null;
if ($terminaktion->status == 2) {
$subject = "Termin " . $aktion[$terminaktion->typ] . " beantragt von " . $terminaktion->aktion_user_name . ": " . $terminaktion->bezeichnung . " am " . FormatierterTermin($terminaktion->erster_tag, $terminaktion->letzter_tag, true);
$body = "<p>Termin " . htmlentities_utf8($aktion[$terminaktion->typ]) . " beantragt:</p>\r\n";
@@ -16385,12 +16386,25 @@ function termineEmailBenachrichtigung($termin_aktion_id, $ueberarbeiten = false)
$body = "<p>Termin " . htmlentities_utf8($aktion[$terminaktion->typ]) . " abgelehnt:</p>";
}
$body .= "<table>\r\n" . $termin_beschreibung . $termin_moderationsstatus . "</table>\r\n";
$mailer = Factory::getContainer()->get(MailerFactoryInterface::class)->createMailer();
$mailer->setSender($from, $fromName);
$mailer->setSubject($subject);
$mailer->isHtml(true);
$mailer->setBody($body);
foreach ($benachrichtigung_moderatoren_informieren as $email)
$mailer->sendMail($from, $fromName, $email, $subject, $body, $mode, $cc, $bcc, $attachment, $replyTo, $replyToName);
$mailer->addBcc($email);
$mailer->send();
$body .= "<p>Bitte <a href=\"" . SportsManagerURL('&task=admin_termin_details&nur_beantragte=1&id=' . $terminaktion->termin_aktion_id, -1) . "\">hier</a> klicken, um den Termin zu moderieren.</p>\r\n";
$mailer = Factory::getContainer()->get(MailerFactoryInterface::class)->createMailer();
$mailer->setSender($from, $fromName);
$mailer->setSubject($subject);
$mailer->isHtml(true);
$mailer->setBody($body);
foreach ($benachrichtigung_moderatoren_aendern as $email)
$mailer->sendMail($from, $fromName, $email, $subject, $body, $mode, $cc, $bcc, $attachment, $replyTo, $replyToName);
$mailer->addBcc($email);
$mailer->send();
return true;
}
@@ -4562,9 +4562,13 @@ function begegnungVerlegen(): void
}
$rows = $db->loadObjectList();
$mailer = Factory::getContainer()->get(MailerFactoryInterface::class)->createMailer();
$mailer->setSender($mailfrom, $fromname);
$mailer->setSubject($subject);
$mailer->setBody($body);
foreach ($rows as $row) {
$mailer->sendMail($mailfrom, $fromname, $row->email, $subject, $body);
$mailer->addBcc($row->email);
}
$mailer->send();
begegnungVerlegenNotify($begegnung, $rows, $vorschlagendes_team_id, $heim_team, $gast_team);
@@ -4711,9 +4715,13 @@ function begegnungVerlegen(): void
}
$rows = $db->loadObjectList();
$mailer = Factory::getContainer()->get(MailerFactoryInterface::class)->createMailer();
$mailer->setSender($mailfrom, $fromname);
$mailer->setSubject($subject);
$mailer->setBody($body);
foreach ($rows as $row) {
$mailer->sendMail($mailfrom, $fromname, $row->email, $subject, $body);
$mailer->addBcc($row->email);
}
$mailer->send();
if (isJson()) {
JSON_sportsmanager::JSON([]);