Compare commits

...

2 Commits

Author SHA1 Message Date
rxf
75a6988248 Führungsdaten bei den Anmeldunge bis 14.11. blockiert
dosendmail mit gmx und logdatei
Sondermeldung in rot
2025-10-22 15:08:49 +02:00
rxf
e42d9c9b32 anmeld.js: Fehlermeldung, wenn mail nich gesendet wurde 2025-10-20 11:10:36 +02:00
8 changed files with 125 additions and 49 deletions

View File

@@ -93,6 +93,7 @@
$enddatum = new DateTime('now'); $enddatum = new DateTime('now');
$enddatum->modify($monthstoadd); $enddatum->modify($monthstoadd);
$enddatum = $enddatum->format('Ymd'); $enddatum = $enddatum->format('Ymd');
$datum_heute = 20251114; //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
$sql_sel = "SELECT * FROM fdatum1 where datum >='$datum_heute' && datum <= '$enddatum' order by datum ASC"; $sql_sel = "SELECT * FROM fdatum1 where datum >='$datum_heute' && datum <= '$enddatum' order by datum ASC";
$result = mysqli_query($db, $sql_sel) or die(mysqli_error($db)); $result = mysqli_query($db, $sql_sel) or die(mysqli_error($db));
while ($row = mysqli_fetch_assoc($result)) { while ($row = mysqli_fetch_assoc($result)) {
@@ -381,12 +382,17 @@
erhalten Sie eine Anmeldebestätigung per e-mail. Diese bitte unbedingt zur Führung erhalten Sie eine Anmeldebestätigung per e-mail. Diese bitte unbedingt zur Führung
ausgedruckt oder in digitaler Form mitbringen! ausgedruckt oder in digitaler Form mitbringen!
<div style="text-align:center;"><strong>Ohne die mitgebrachte Anmeldebestätigung erfolgt <!-- <div style="text-align:center;"><strong>Ohne die mitgebrachte Anmeldebestätigung erfolgt
k e i n Einlass.</strong></div> k e i n Einlass.</strong></div>
-->
</p> </p>
<p> <p>
<?PHP echo $stern_error_msg ?> <?PHP echo $stern_error_msg ?>
</p> </p>
<p class="sondermeldung">
Unsere Sternwarte bleibt bis voraussichtlich 14. November 2025 wegen neuer technischer Einrichtung
geschlossen. <br />Bis dahin können keine Führungen durchgeführt werden.
</p>
<strong>Anmeldung:</strong> <strong>Anmeldung:</strong>
<span class="textklein">(Alle Felder mit '*' müssen ausgefüllt werden)</span><br /> <span class="textklein">(Alle Felder mit '*' müssen ausgefüllt werden)</span><br />
<br /> <br />
@@ -478,7 +484,7 @@
<p> <p>
Hinweis zum Datenschutz: <a href="" id="dschu">Datenschutzerklärung</a> Hinweis zum Datenschutz: <a href="" id="dschu">Datenschutzerklärung</a>
</p> </p>
<p class="lastchange">Letzte Änderungen: 2024-05-22 rxf</p> <p class="lastchange">Letzte Änderungen: 2025-10-22 rxf</p>
</form> </form>
</div> </div>

View File

@@ -465,4 +465,12 @@ textarea {
#maxpro { #maxpro {
margin-left: 20px; margin-left: 20px;
}
.sondermeldung {
font-weight: bold;
border: 2px rgb(229, 162, 61) solid;
color: red;
padding: 5px;
width: 90%;
} }

View File

@@ -63,6 +63,14 @@ if ($typ == 'regular') {
</div> </div>
</dialog> </dialog>
<!-- Error Dialog -->
<dialog id="errordialog">
<p id="errortext"></p>
<div id="errorbutton">
<button id="errordialog-ok">OK</button>
</div>
</dialog>
<!-- Info unter Tabelle --> <!-- Info unter Tabelle -->
<div id="author"> <div id="author">
<div> <div>

View File

@@ -274,14 +274,20 @@ Beobachtergruppe Sternwarte Welzheim`
} }
bodyText = bodytext.replace("{absagegrund}", absagegrund); bodyText = bodytext.replace("{absagegrund}", absagegrund);
await fetchFromDbase({ const mailRet = await fetchFromDbase({
cmd: 'SENDMYMAIL', cmd: 'SENDMYMAIL',
to: ['rexfue@gmail.com'], to: ['rexfue@gmail.com'],
betreff: betreff, betreff: betreff,
body: bodyText, body: bodyText,
bcc: liste.emails bcc: liste.emails
}); });
console.log("Gesendet an: ", liste.emails) if (mailRet.error) {
$('#errortext').innerHTML = mailRet.errortext
$('#errordialog-ok').addEventListener('click', () => $('#errordialog').close())
$('#errordialog').showModal();
}
console.log("Mailret: ", mailRet, "Gesendet an: ", liste.emails)
$('#absagen').innerHTML = 'Absage<br />wurde gesendet'; $('#absagen').innerHTML = 'Absage<br />wurde gesendet';
$('#absagedialog').close(); $('#absagedialog').close();
}); });

View File

@@ -1,12 +1,15 @@
// VersiosNummern und -Geschichte // VersiosNummern und -Geschichte
const VERSION="1.8.0"; const VERSION="1.8.1";
const VDATE="2025-10-17"; const VDATE="2025-10-20";
/* History /* History
Rev. Datum Entwickler Rev. Datum Entwickler
1.8.1 2025-10-19 rxf
- Errormeldung, wenn bei 'anmeld.js' die Abmeldung nicht rausgeht
1.8.0 2025-10-17 rxf 1.8.0 2025-10-17 rxf
- intern Anmeldung kann nun mit Datum versehen werden (in der URL: &dateum=true), dass wird die - intern Anmeldung kann nun mit Datum versehen werden (in der URL: &dateum=true), dass wird die
Abmeldungn mit dem Datum versehen und es kann auch schon füher abgemeldet werden. Abmeldungn mit dem Datum versehen und es kann auch schon füher abgemeldet werden.

View File

@@ -1,8 +1,7 @@
<?php <?php
use PHPMailer\PHPMailer\PHPMailer; use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception; use PHPMailer\PHPMailer\Exception;
use PHPMailer\PHPMailer\SMTP;
require 'vendor/autoload.php'; require 'vendor/autoload.php';
@@ -12,49 +11,83 @@ function sendmail($subject, $from, $body, $cc=[], $bcc=[], $to=[]) {
$ret = []; $ret = [];
$ret['error'] = false; $ret['error'] = false;
$mail = new PHPMailer(true);
$mail = new PHPMailer();
$mail->CharSet = 'utf-8'; try {
$mail->isSMTP(); // Debug-Einstellungen
$mail->SMTPDebug = SMTP::DEBUG_SERVER;
if ($develop == 'true') { $mail->Debugoutput = function($str, $level) {
$mail->Host = 'mailhog'; file_put_contents(__DIR__ . '/phpmailer_debug.log',
$mail->Port = 1025; date('Y-m-d H:i:s') . " [Level $level] $str\n", FILE_APPEND);
} else { };
$mail->SMTPAuth = true;
$mail->Host = "mail.gmx.de"; // Basis-Einstellungen
$mail->Port = "587"; $mail->CharSet = 'UTF-8';
$mail->SMTPSecure = "tls"; $mail->isSMTP();
$mail->Username = "sternwarte.welzheim@gmx.de";
$mail->Password = "WhSW92g!vP"; if ($develop == 'true') {
} $mail->Host = 'mailhog';
$mail->setFrom("sternwarte.welzheim@gmx.de", 'Sternwarte-Welzheim'); $mail->Port = 1025;
$mail->SMTPAuth = false;
if (count($to) != 0) { } else {
foreach ($to as $t) { // GMX Einstellungen
$mail->addAddress($t); $mail->Host = 'smtp.gmx.com'; // ✅ Korrekter Host
$mail->Port = 465;
$mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS;
$mail->SMTPAuth = true;
$mail->Username = 'sternwarte.welzheim@gmx.de';
$mail->Password = '4NT&%nH9&5wz'; // ✅ Tippfehler korrigiert
// Optional: Zusätzliche Authentifizierung
$mail->AuthType = 'LOGIN';
// Optional: Timeout erhöhen
$mail->Timeout = 60;
} }
}
$mail->Subject = $subject; // Absender
$mail->Body = $body; $mail->setFrom('sternwarte.welzheim@gmx.de', 'Sternwarte-Welzheim');
if (count($cc) != 0) {
foreach ($cc as $c) { // Empfänger
$mail->addCC($c); if (count($to) != 0) {
foreach ($to as $t) {
$mail->addAddress($t);
}
} }
}
if(count($bcc) != 0) { // CC
foreach ($bcc as $bc) { if (count($cc) != 0) {
$mail->addBCC($bc); foreach ($cc as $c) {
$mail->addCC($c);
}
} }
}
$mail->addReplyTo($from); // BCC
if (count($bcc) != 0) {
foreach ($bcc as $bc) {
if (!$mail->send()) { $mail->addBCC($bc);
}
}
// Reply-To
if (!empty($from)) {
$mail->addReplyTo($from);
}
// Inhalt
$mail->Subject = $subject;
$mail->isHTML(false); // Oder true, je nach Bedarf
$mail->Body = $body;
// Senden
$mail->send();
$ret['oktext'] = 'Mail erfolgreich versendet';
} catch (Exception $e) {
$ret['error'] = true; $ret['error'] = true;
$ret['errortext'] = $mail->ErrorInfo; $ret['errortext'] = "Mailer Error: {$mail->ErrorInfo}";
error_log("PHPMailer Error: " . $e->getMessage());
} }
return $ret; return $ret;
} }
?>

View File

@@ -269,6 +269,11 @@ einer unserer freien Mitarbeiter/-innen die Sonderführung außerhalb unserer
<p> <p>
<a name="form">&nbsp;</a><?PHP echo $stern_error_msg ?></p> <a name="form">&nbsp;</a><?PHP echo $stern_error_msg ?></p>
<p> <p>
<p class="sondermeldung">
Unsere Sternwarte bleibt bis voraussichtlich 14. November 2025 wegen neuer technischer Einrichtung
geschlossen. <br />Bis dahin können keine Führungen durchgeführt werden.
</p>
<strong>Unverbindliche Anfrage zu einer Sonderführung auf der <strong>Unverbindliche Anfrage zu einer Sonderführung auf der
Sternwarte Welzheim</strong><br/> Sternwarte Welzheim</strong><br/>
<div id="formular" class="fltrt"> <div id="formular" class="fltrt">
@@ -436,6 +441,7 @@ einer unserer freien Mitarbeiter/-innen die Sonderführung außerhalb unserer
); );
// Heute // Heute
$timestamp = time(); // jetzt (heute) $timestamp = time(); // jetzt (heute)
$timestamp = 1762001873; //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
$timestamp1 = $timestamp + 1209600; // 14 Tage weiter $timestamp1 = $timestamp + 1209600; // 14 Tage weiter
// 365 Tage in die Zukunft... // 365 Tage in die Zukunft...
for ($i = 0; $i < 365; $i++) { for ($i = 0; $i < 365; $i++) {
@@ -508,7 +514,7 @@ einer unserer freien Mitarbeiter/-innen die Sonderführung außerhalb unserer
<p><br/><br/>Hinweis zum Datenschutz: <p><br/><br/>Hinweis zum Datenschutz:
<a href="" id="dschu">Datenschutzerklärung</a></p> <a href="" id="dschu">Datenschutzerklärung</a></p>
<p class="lastchange">Letzte Änderungen: 2023-10-04 rxf</p> <p class="lastchange">Letzte Änderungen: 2025-10-22 rxf</p>
</form> </form>
</div> </div>
<? <?

View File

@@ -97,6 +97,7 @@
$enddatum = new DateTime('now'); $enddatum = new DateTime('now');
$enddatum->modify($monthstoadd); $enddatum->modify($monthstoadd);
$enddatum = $enddatum->format('Ymd'); $enddatum = $enddatum->format('Ymd');
$datum_heute = 20251114; //<<<<<<<<<<<<<<<<<<<<<<<<<
$sql_sel = "SELECT * FROM sonnedatum where datum >='$datum_heute' && datum <= '$enddatum' order by datum ASC"; $sql_sel = "SELECT * FROM sonnedatum where datum >='$datum_heute' && datum <= '$enddatum' order by datum ASC";
$result = mysqli_query($db, $sql_sel) or die(mysqli_error($db)); $result = mysqli_query($db, $sql_sel) or die(mysqli_error($db));
while ($row = mysqli_fetch_assoc($result)) { while ($row = mysqli_fetch_assoc($result)) {
@@ -381,6 +382,11 @@
<p> <p>
<?PHP echo $stern_error_msg ?> <?PHP echo $stern_error_msg ?>
</p> </p>
<p class="sondermeldung">
Unsere Sternwarte bleibt bis voraussichtlich 14. November 2025 wegen neuer technischer Einrichtung
geschlossen. <br />Bis dahin können keine Führungen durchgeführt werden.
</p>
<strong>Anmeldung:</strong> <strong>Anmeldung:</strong>
<span class="textklein">(Alle Felder mit '*' müssen ausgefüllt werden)</span><br /> <span class="textklein">(Alle Felder mit '*' müssen ausgefüllt werden)</span><br />
<br /> <br />
@@ -465,7 +471,7 @@
<p> <p>
Hinweis zum Datenschutz: <a href="" id="dschu">Datenschutzerklärung</a> Hinweis zum Datenschutz: <a href="" id="dschu">Datenschutzerklärung</a>
</p> </p>
<p class="lastchange">Letzte Änderungen: 2024-09-19 rxf</p> <p class="lastchange">Letzte Änderungen: 2025-10-22 rxf</p>
</form> </form>
</div> </div>