142 lines
4.5 KiB
PHP
142 lines
4.5 KiB
PHP
<?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"; ?>
|