fix: send mails only when at least one email address is given

This commit is contained in:
Marvin Flock
2025-05-13 22:55:45 +02:00
parent 67c91c65ab
commit 8638311065
2 changed files with 66 additions and 52 deletions
@@ -9942,14 +9942,16 @@ function adminSaveBegegnungSpielplan(): void
abortWithError($db->stderr(true)); abortWithError($db->stderr(true));
} }
$rows = $db->loadObjectList(); $rows = $db->loadObjectList();
$mailer = Factory::getContainer()->get(MailerFactoryInterface::class)->createMailer(); if(!empty($rows)) {
$mailer->setSender($mailfrom, $fromname); $mailer = Factory::getContainer()->get(MailerFactoryInterface::class)->createMailer();
$mailer->setSubject($subject); $mailer->setSender($mailfrom, $fromname);
$mailer->setBody($body); $mailer->setSubject($subject);
foreach ($rows as $row) { $mailer->setBody($body);
$mailer->addBcc($row->email); foreach ($rows as $row) {
$mailer->addBcc($row->email);
}
$mailer->send();
} }
$mailer->send();
} }
begegnungChanged($begegnung, $begegnung_alt, $modus, $heim_team, $gast_team, $spiele); begegnungChanged($begegnung, $begegnung_alt, $modus, $heim_team, $gast_team, $spiele);
@@ -10277,14 +10279,16 @@ function adminBegegnungSpielplanBestaetigen(): void
abortWithError($db->stderr(true)); abortWithError($db->stderr(true));
} }
$rows = $db->loadObjectList(); $rows = $db->loadObjectList();
$mailer = Factory::getContainer()->get(MailerFactoryInterface::class)->createMailer(); if(!empty($rows)) {
$mailer->setSender($mailfrom, $fromname); $mailer = Factory::getContainer()->get(MailerFactoryInterface::class)->createMailer();
$mailer->setSubject($subject); $mailer->setSender($mailfrom, $fromname);
$mailer->setBody($body); $mailer->setSubject($subject);
foreach ($rows as $row) { $mailer->setBody($body);
$mailer->addBcc($row->email); foreach ($rows as $row) {
$mailer->addBcc($row->email);
}
$mailer->send();
} }
$mailer->send();
if (isJson()) { if (isJson()) {
begegnungSpielplan(); begegnungSpielplan();
@@ -16364,14 +16368,16 @@ function termineEmailBenachrichtigung($termin_aktion_id, $ueberarbeiten = false)
$body = "<p>Das " . htmlentities_utf8($aktion[$terminaktion->typ]) . " des folgenden Termins wurde " . ($terminaktion->status == 0 ? ($ueberarbeiten ? "in &uuml;berarbeiteter Form akzeptiert" : "akzeptiert") : "abgelehnt") . ".</p>"; $body = "<p>Das " . htmlentities_utf8($aktion[$terminaktion->typ]) . " des folgenden Termins wurde " . ($terminaktion->status == 0 ? ($ueberarbeiten ? "in &uuml;berarbeiteter Form akzeptiert" : "akzeptiert") : "abgelehnt") . ".</p>";
} }
$body .= "<table>\r\n" . $termin_beschreibung . $termin_moderationsstatus . "</table>\r\n"; $body .= "<table>\r\n" . $termin_beschreibung . $termin_moderationsstatus . "</table>\r\n";
$mailer = Factory::getContainer()->get(MailerFactoryInterface::class)->createMailer(); if(!empty($benachrichtigung_emails)) {
$mailer->setSender($from, $fromName); $mailer = Factory::getContainer()->get(MailerFactoryInterface::class)->createMailer();
$mailer->setSubject($subject); $mailer->setSender($from, $fromName);
$mailer->isHtml(true); $mailer->setSubject($subject);
$mailer->setBody($body); $mailer->isHtml(true);
foreach ($benachrichtigung_emails as $email) $mailer->setBody($body);
$mailer->addBcc($email); foreach ($benachrichtigung_emails as $email)
$mailer->send(); $mailer->addBcc($email);
$mailer->send();
}
$from = $app->getCfg('mailfrom'); $from = $app->getCfg('mailfrom');
$fromName = $app->getCfg('fromname'); $fromName = $app->getCfg('fromname');
@@ -16386,24 +16392,28 @@ function termineEmailBenachrichtigung($termin_aktion_id, $ueberarbeiten = false)
$body = "<p>Termin " . htmlentities_utf8($aktion[$terminaktion->typ]) . " abgelehnt:</p>"; $body = "<p>Termin " . htmlentities_utf8($aktion[$terminaktion->typ]) . " abgelehnt:</p>";
} }
$body .= "<table>\r\n" . $termin_beschreibung . $termin_moderationsstatus . "</table>\r\n"; $body .= "<table>\r\n" . $termin_beschreibung . $termin_moderationsstatus . "</table>\r\n";
$mailer = Factory::getContainer()->get(MailerFactoryInterface::class)->createMailer(); if(!empty($benachrichtigung_moderatoren_informieren)) {
$mailer->setSender($from, $fromName); $mailer = Factory::getContainer()->get(MailerFactoryInterface::class)->createMailer();
$mailer->setSubject($subject); $mailer->setSender($from, $fromName);
$mailer->isHtml(true); $mailer->setSubject($subject);
$mailer->setBody($body); $mailer->isHtml(true);
foreach ($benachrichtigung_moderatoren_informieren as $email) $mailer->setBody($body);
$mailer->addBcc($email); foreach ($benachrichtigung_moderatoren_informieren as $email)
$mailer->send(); $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"; $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(); if(!empty($benachrichtigung_moderatoren_aendern)) {
$mailer->setSender($from, $fromName); $mailer = Factory::getContainer()->get(MailerFactoryInterface::class)->createMailer();
$mailer->setSubject($subject); $mailer->setSender($from, $fromName);
$mailer->isHtml(true); $mailer->setSubject($subject);
$mailer->setBody($body); $mailer->isHtml(true);
foreach ($benachrichtigung_moderatoren_aendern as $email) $mailer->setBody($body);
$mailer->addBcc($email); foreach ($benachrichtigung_moderatoren_aendern as $email)
$mailer->send(); $mailer->addBcc($email);
$mailer->send();
}
return true; return true;
} }
@@ -4561,14 +4561,16 @@ function begegnungVerlegen(): void
abortWithError($db->stderr(true)); abortWithError($db->stderr(true));
} }
$rows = $db->loadObjectList(); $rows = $db->loadObjectList();
$mailer = Factory::getContainer()->get(MailerFactoryInterface::class)->createMailer(); if(!empty($rows)) {
$mailer->setSender($mailfrom, $fromname); $mailer = Factory::getContainer()->get(MailerFactoryInterface::class)->createMailer();
$mailer->setSubject($subject); $mailer->setSender($mailfrom, $fromname);
$mailer->setBody($body); $mailer->setSubject($subject);
foreach ($rows as $row) { $mailer->setBody($body);
$mailer->addBcc($row->email); foreach ($rows as $row) {
$mailer->addBcc($row->email);
}
$mailer->send();
} }
$mailer->send();
begegnungVerlegenNotify($begegnung, $rows, $vorschlagendes_team_id, $heim_team, $gast_team); begegnungVerlegenNotify($begegnung, $rows, $vorschlagendes_team_id, $heim_team, $gast_team);
@@ -4714,14 +4716,16 @@ function begegnungVerlegen(): void
abortWithError($db->stderr(true)); abortWithError($db->stderr(true));
} }
$rows = $db->loadObjectList(); $rows = $db->loadObjectList();
$mailer = Factory::getContainer()->get(MailerFactoryInterface::class)->createMailer(); if(!empty($rows)) {
$mailer->setSender($mailfrom, $fromname); $mailer = Factory::getContainer()->get(MailerFactoryInterface::class)->createMailer();
$mailer->setSubject($subject); $mailer->setSender($mailfrom, $fromname);
$mailer->setBody($body); $mailer->setSubject($subject);
foreach ($rows as $row) { $mailer->setBody($body);
$mailer->addBcc($row->email); foreach ($rows as $row) {
$mailer->addBcc($row->email);
}
$mailer->send();
} }
$mailer->send();
if (isJson()) { if (isJson()) {
JSON_sportsmanager::JSON([]); JSON_sportsmanager::JSON([]);