Dateien nach "/" hochladen

This commit is contained in:
2026-03-05 15:31:07 +01:00
parent 4e2b8ac7dd
commit ecbb565e2b
5 changed files with 840 additions and 0 deletions
+142
View File
@@ -0,0 +1,142 @@
<?php
include "functions.php";
include "header.php";
include "headerline.php";
include "nav.php";
?>
<!-- Banner -->
<section id="banner">
<div class="content">
<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;
use PHPMailer\PHPMailer\Exception;
require 'PHPMailer/src/Exception.php';
require 'PHPMailer/src/PHPMailer.php';
require 'PHPMailer/src/SMTP.php';
// Funktion zum Berechnen des Gesamtstands
function berechneGesamtstand($mitarbeiterID, $conn) {
// Kosten aus Kaffeeverbrauch abrufen
$sqlKosten = "SELECT SUM(Kosten) AS GesamtKosten FROM kl_Kaffeeverbrauch WHERE MitarbeiterID = ?";
$paramsKosten = array($mitarbeiterID);
$stmtKosten = sqlsrv_query($conn, $sqlKosten, $paramsKosten);
if ($stmtKosten === false) {
die(print_r(sqlsrv_errors(), true));
}
$rowKosten = sqlsrv_fetch_array($stmtKosten, SQLSRV_FETCH_ASSOC);
$gesamtKosten = $rowKosten['GesamtKosten'];
// Einzahlungen abrufen
$sqlEinzahlungen = "SELECT SUM(Betrag) AS GesamtEinzahlungen FROM kl_Einzahlungen WHERE MitarbeiterID = ?";
$paramsEinzahlungen = array($mitarbeiterID);
$stmtEinzahlungen = sqlsrv_query($conn, $sqlEinzahlungen, $paramsEinzahlungen);
if ($stmtEinzahlungen === false) {
die(print_r(sqlsrv_errors(), true));
}
$rowEinzahlungen = sqlsrv_fetch_array($stmtEinzahlungen, SQLSRV_FETCH_ASSOC);
$gesamtEinzahlungen = $rowEinzahlungen['GesamtEinzahlungen'];
// Gesamtstand berechnen (Kosten - Einzahlungen)
$gesamtstand = $gesamtKosten - $gesamtEinzahlungen;
return $gesamtstand;
}
// SQL-Abfrage für alle Mitarbeiter
$sqlMitarbeiter = "SELECT MitarbeiterID, Name, Email FROM kl_Mitarbeiter WHERE aktiv='1'";
$stmtMitarbeiter = sqlsrv_query($conn, $sqlMitarbeiter);
// E-Mail-Versand für jeden Mitarbeiter
while ($row = sqlsrv_fetch_array($stmtMitarbeiter, SQLSRV_FETCH_ASSOC)) {
$mitarbeiterID = $row['MitarbeiterID'];
$name = trim($row['Name']);
$email = $row['Email'];
// Gesamtstand berechnen
$gesamtstand = berechneGesamtstand($mitarbeiterID, $conn);
$stand = abs($gesamtstand);
$body = "Hallo $name,<br><br>";
if($gesamtstand > 0){
$body .= "hier ist dein aktueller negativer Kaffeekassenstand. <br>
Bitte zahle folgenden Betrag in die Kaffeekasse ein: {$stand} Euro.<br>
<br>Es kann nur noch per Paypal bezahlt werden.<br>
Dein Link: https://www.paypal.me/kaffeekassesb3/{$stand}<br>
<b>Bezahle immer über die Freunde-Funktion von Paypal. Ansonsten stellen wir 20% des eingezahlten Betrags als Gebühr in Rechnung.</b><br>
";
}else{
$body .= "hier ist dein aktuelles Guthaben in der Kaffeeliste: {$stand} Euro.<br>
<br>";
}
$body .= "
Deinen aktuellen Stand findest du auch hier: <a href='https://kaffeeliste.arge.aok/'>https://kaffeeliste.arge.aok/</a><br>
<br>
<b>Hast du Fragen oder Probleme? Dann lies immer zu erst unsere <a href=https://kaffeeliste.arge.aok/faq.php>FAQs</a>. Danke! </b><br>
<br>
Vielen Dank!<br>
Deine Kaffeekasse<br>
<br>
Dein Guthaben ist auf dem nächsten Ausdruck der Kaffeeliste einsehbar. Um die Umwelt zu schonen erfolgt ein neuer Ausdruck erst, wenn die Liste voll ist.<br>
";
// PHPMailer initialisieren
$mail = new PHPMailer(true);
try {
//Server settings
$mail->SMTPDebug = SMTP::DEBUG_OFF; // Disable debugging
$mail->Timeout = 120;
$mail->isSMTP();
$mail->Host = 'smtpv.aoknds.aok'; // SMTP server
## Hier wird absichtlich keine Authentifizierung genutzt.
#$mail->SMTPAuth = true;
#$mail->Username = ''; // SMTP username
#$mail->Password = ''; // SMTP password
#$mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS; // Enable TLS encryption; `PHPMailer::ENCRYPTION_SMTPS` also accepted
#$mail->Port = 587; // TCP port to connect to
//Recipients
$mail->setFrom('kaffeelistesb3@nds.aok.de', 'Kaffeeliste ARGE');
$mail->addAddress($email, $name); // Add a recipient
// Content
$mail->isHTML(true); // Set email format to HTML
$mail->Subject = "Kaffeeliste ARGE - Dein Stand";
$mail->Body = utf8_decode($body);
$mail->send();
echo "E-Mail erfolgreich an $name gesendet.<br>";
} catch (Exception $e) {
echo "E-Mail konnte nicht gesendet werden. Fehler: {$mail->ErrorInfo}<br>";
}
}
?>
</div>
</section>
<?php include "footer.php"; ?>