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
+148
View File
@@ -0,0 +1,148 @@
<?php
include "functions.php";
include "header.php";
include "headerline.php";
include "nav.php";
?>
<!-- Banner -->
<section id="banner">
<div class="content">
<?php
if(checkKaffeelisteAdmin($conn, $mailadress)){
// Funktion zum Berechnen der Gesamtausgabe und Gesamtstriche pro Mitarbeiter
function berechneGesamtausgabe($mitarbeiterID, $conn) {
// Gesamtausgabe für Kaffeeverbrauch pro Mitarbeiter
$sqlAusgabe = "SELECT SUM(Kosten) AS Gesamtausgabe FROM kl_Kaffeeverbrauch WHERE MitarbeiterID = ?";
$stmtAusgabe = sqlsrv_query($conn, $sqlAusgabe, array($mitarbeiterID));
$rowAusgabe = sqlsrv_fetch_array($stmtAusgabe, SQLSRV_FETCH_ASSOC);
$gesamtausgabe = $rowAusgabe['Gesamtausgabe'];
return $gesamtausgabe;
}
// Funktion zum Berechnen der Gesamtstriche pro Mitarbeiter
function berechneGesamtstriche($mitarbeiterID, $conn) {
// Gesamtstriche pro Mitarbeiter
$sqlStriche = "SELECT SUM(AnzahlStriche) AS Gesamtstriche FROM kl_Kaffeeverbrauch WHERE MitarbeiterID = ?";
$stmtStriche = sqlsrv_query($conn, $sqlStriche, array($mitarbeiterID));
$rowStriche = sqlsrv_fetch_array($stmtStriche, SQLSRV_FETCH_ASSOC);
$gesamtstriche = $rowStriche['Gesamtstriche'];
return $gesamtstriche;
}
// Funktion zum Berechnen der Gesamteinzahlungen pro Mitarbeiter
function berechneGesamteinzahlungen($mitarbeiterID, $conn) {
// Gesamteinzahlungen pro Mitarbeiter
$sqlEinzahlungen = "SELECT SUM(Betrag) AS Gesamteinzahlungen FROM kl_Einzahlungen WHERE MitarbeiterID = ?";
$stmtEinzahlungen = sqlsrv_query($conn, $sqlEinzahlungen, array($mitarbeiterID));
$rowEinzahlungen = sqlsrv_fetch_array($stmtEinzahlungen, SQLSRV_FETCH_ASSOC);
$gesamteinzahlungen = $rowEinzahlungen['Gesamteinzahlungen'];
return $gesamteinzahlungen;
}
// Mitglieder aus der Datenbank abrufen
$sqlMitglieder = "SELECT MitarbeiterID, Name, Email FROM kl_Mitarbeiter WHERE aktiv = 1 ORDER BY Name";
$stmtMitglieder = sqlsrv_query($conn, $sqlMitglieder);
?>
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Kaffeeliste - Aktive Mitarbeiter mit Gesamtstand</title>
</head>
<body>
<h2>Aktive Mitarbeiter mit Gesamtstand</h2>
<br>
<ul class="actions">
<li>
<form action="exportKaffeeliste.php" method="get">
<button type="submit">Kaffeeliste exportieren</button>
</form>
</li>
<li>
<form action="letzteneintraege.php" method="get">
<button type="submit">Letzten Einträge</button>
</form>
</li>
<li>
<form action="csvupload.php" method="get">
<button type="submit">CSV Upload</button>
</form>
</li>
</ul>
<br>
<table border="1" class="table table-striped table-bordered">
<tr>
<th>Name</th>
<th>E-Mail</th>
<th>Aktueller Stand</th>
<th>Gesamtausgabe (€)</th>
<th>Gesamtstriche</th>
<th>Gesamteinzahlungen</th>
</tr>
<?php
while ($row = sqlsrv_fetch_array($stmtMitglieder, SQLSRV_FETCH_ASSOC)) {
$mitarbeiterID = $row['MitarbeiterID'];
$name = $row['Name'];
$email = $row['Email'];
$gesamtausgabe = berechneGesamtausgabe($mitarbeiterID, $conn);
$gesamtstriche = berechneGesamtstriche($mitarbeiterID, $conn);
$gesamteinzahlungen = berechneGesamteinzahlungen($mitarbeiterID, $conn);
$differenztemp = $gesamteinzahlungen - $gesamtausgabe;
$differenz = number_format($differenztemp, 2, ',', '.');
$gesamtausgabe = number_format($gesamtausgabe, 2, ',', '.');
$gesamteinzahlungen = number_format($gesamteinzahlungen, 2, ',', '.');
$gesamtstriche = number_format($gesamtstriche, 0, ',', '.');
echo "<tr>";
echo "<td><a href=teilnehmerauswertung.php?user_id=$mitarbeiterID>{$name}</a></td>";
echo "<td>{$email}</td>";
echo "<td>{$differenz} €</td>";
echo "<td>{$gesamtausgabe} €</td>";
echo "<td>{$gesamtstriche}</td>";
echo "<td>{$gesamteinzahlungen} €</td>";
echo "</tr>";
}
?>
</table>
<br><br>
<form action="mailversenden.php" method="get">
<button type="submit">Info-Mail versenden</button>
</form>
<?php
}else{
echo "<h2>Kein Zugriff</h2>";
}
?>
</div>
</section>
<?php include "footer.php"; ?>
+238
View File
@@ -0,0 +1,238 @@
<?php
include "functions.php";
include "header.php";
include "headerline.php";
include "nav.php";
?>
<!-- Banner -->
<section id="banner">
<div class="content">
<?php
if(checkKaffeelisteAdmin($conn, $mailadress)){
// Funktion zum Berechnen der Gesamtausgabe und Gesamtstriche pro Mitarbeiter
function berechneGesamtausgabe($mitarbeiterID, $conn) {
// Gesamtausgabe für Kaffeeverbrauch pro Mitarbeiter
$sqlAusgabe = "SELECT SUM(Kosten) AS Gesamtausgabe FROM kl_Kaffeeverbrauch WHERE MitarbeiterID = ?";
$stmtAusgabe = sqlsrv_query($conn, $sqlAusgabe, array($mitarbeiterID));
$rowAusgabe = sqlsrv_fetch_array($stmtAusgabe, SQLSRV_FETCH_ASSOC);
$gesamtausgabe = $rowAusgabe['Gesamtausgabe'];
return $gesamtausgabe;
}
// Funktion zum Berechnen der Gesamtstriche pro Mitarbeiter
function berechneGesamtstriche($mitarbeiterID, $conn) {
// Gesamtstriche pro Mitarbeiter
$sqlStriche = "SELECT SUM(AnzahlStriche) AS Gesamtstriche FROM kl_Kaffeeverbrauch WHERE MitarbeiterID = ?";
$stmtStriche = sqlsrv_query($conn, $sqlStriche, array($mitarbeiterID));
$rowStriche = sqlsrv_fetch_array($stmtStriche, SQLSRV_FETCH_ASSOC);
$gesamtstriche = $rowStriche['Gesamtstriche'];
return $gesamtstriche;
}
// Funktion zum Berechnen der Gesamteinzahlungen pro Mitarbeiter
function berechneGesamteinzahlungen($mitarbeiterID, $conn) {
// Gesamteinzahlungen pro Mitarbeiter
$sqlEinzahlungen = "SELECT SUM(Betrag) AS Gesamteinzahlungen FROM kl_Einzahlungen WHERE MitarbeiterID = ?";
$stmtEinzahlungen = sqlsrv_query($conn, $sqlEinzahlungen, array($mitarbeiterID));
$rowEinzahlungen = sqlsrv_fetch_array($stmtEinzahlungen, SQLSRV_FETCH_ASSOC);
$gesamteinzahlungen = $rowEinzahlungen['Gesamteinzahlungen'];
return $gesamteinzahlungen;
}
// Funktion zum Löschen einer Einzahlung
function loescheEinzahlung($einzahlungID, $conn) {
try {
$sql = "DELETE FROM kl_Einzahlungen WHERE EinzahlungsID = ?";
$params = array($einzahlungID);
$stmt = sqlsrv_query($conn, $sql, $params);
if ($stmt === false) {
throw new Exception(print_r(sqlsrv_errors(), true));
}
return true; // Erfolgreich gelöscht
} catch (Exception $e) {
return $e->getMessage(); // Fehlermeldung zurückgeben
}
}
// Überprüfen, ob ein Löschvorgang angefordert wurde
if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST["aktion"]) && $_POST["aktion"] == "loescheneinzahlung") {
$einzahlungID = $_POST["einzahlungID"];
$ergebnis = loescheEinzahlung($einzahlungID, $conn);
if ($ergebnis === true) {
echo "Einzahlung erfolgreich gelöscht.";
} else {
echo "Fehler: $ergebnis";
}
}
// SQL-Abfrage für die letzten 100 Einzahlungen
$sqlEinzahlungen = "SELECT TOP 100 kl_Mitarbeiter.Name AS MitarbeiterName, kl_Einzahlungen.EinzahlungsID, kl_Einzahlungen.Betrag, kl_Einzahlungen.Datum
FROM kl_Einzahlungen
JOIN kl_Mitarbeiter ON kl_Einzahlungen.MitarbeiterID = kl_Mitarbeiter.MitarbeiterID
ORDER BY kl_Einzahlungen.Datum DESC";
$stmtEinzahlungen = sqlsrv_query($conn, $sqlEinzahlungen);
?>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Letzte 100 Einzahlungen</title>
</head>
<h2>Letzte 100 Einzahlungen</h2>
<table border="1" class="table table-striped">
<tr>
<th>Name des Mitarbeiters</th>
<th>Betrag</th>
<th>Datum</th>
<th>Aktion</th>
</tr>
<?php
while ($row = sqlsrv_fetch_array($stmtEinzahlungen, SQLSRV_FETCH_ASSOC)) {
$einzahlungID = $row['EinzahlungsID'];
$mitarbeiterName = $row['MitarbeiterName'];
$betrag = $row['Betrag'];
$datum = $row['Datum']->format('Y-m-d H:i:s'); // Das Format kann angepasst werden
$betrag = number_format($betrag, 2, ',', '.');
echo "<tr>";
echo "<td>{$mitarbeiterName}</td>";
echo "<td>{$betrag}</td>";
echo "<td>{$datum}</td>";
echo "<td>";
echo "<form method='post' action='{$_SERVER["PHP_SELF"]}'>";
echo "<input type='hidden' name='aktion' value='loescheneinzahlung'>";
echo "<input type='hidden' name='einzahlungID' value='{$einzahlungID}'>";
echo "<button type='submit'>Löschen</button>";
echo "</form>";
echo "</td>";
echo "</tr>";
}
?>
</table>
<br><br>
<?php
// Funktion zum Löschen eines Strich-Eintrags
function loescheStrichEintrag($strichID, $conn) {
try {
$sql = "DELETE FROM kl_Kaffeeverbrauch WHERE VerbrauchID = ?";
$params = array($strichID);
$stmt = sqlsrv_query($conn, $sql, $params);
if ($stmt === false) {
throw new Exception(print_r(sqlsrv_errors(), true));
}
return true; // Erfolgreich gelöscht
} catch (Exception $e) {
return $e->getMessage(); // Fehlermeldung zurückgeben
}
}
// Überprüfen, ob ein Löschvorgang angefordert wurde
if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST["aktion"]) && $_POST["aktion"] == "loeschen") {
$strichID = $_POST["strichID"];
$ergebnis = loescheStrichEintrag($strichID, $conn);
if ($ergebnis === true) {
echo "Strich-Eintrag erfolgreich gelöscht.";
} else {
echo "Fehler: $ergebnis";
}
}
// SQL-Abfrage für die letzten 100 Strich-Einträge
$sqlStriche = "SELECT TOP 100 kl_Kaffeeverbrauch.VerbrauchID, kl_Mitarbeiter.Name AS MitarbeiterName, kl_Kaffeeverbrauch.AnzahlStriche, kl_Kaffeeverbrauch.Kosten, kl_Kaffeeverbrauch.Datum
FROM kl_Kaffeeverbrauch
JOIN kl_Mitarbeiter ON kl_Kaffeeverbrauch.MitarbeiterID = kl_Mitarbeiter.MitarbeiterID
ORDER BY kl_Kaffeeverbrauch.Datum DESC";
$stmtStriche = sqlsrv_query($conn, $sqlStriche);
?>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Letzte 100 Strich-Einträge</title>
</head>
<body>
<h2>Letzte 100 Strich-Einträge</h2>
<table border="1" class="table table-striped">
<tr>
<th>Name des Mitarbeiters</th>
<th>Anzahlstriche</th>
<th>Betrag</th>
<th>Datum</th>
<th>Aktion</th>
</tr>
<?php
while ($row = sqlsrv_fetch_array($stmtStriche, SQLSRV_FETCH_ASSOC)) {
$strichID = $row['VerbrauchID'];
$mitarbeiterName = $row['MitarbeiterName'];
$anzahlStriche = $row['AnzahlStriche'];
$betrag = $row['Kosten'];
$datum = $row['Datum']->format('Y-m-d H:i:s'); // Das Format kann angepasst werden
$anzahlStriche = number_format($anzahlStriche, 0, ',', '.');
$betrag = number_format($betrag, 0, ',', '.');
echo "<tr>";
echo "<td>{$mitarbeiterName}</td>";
echo "<td>{$anzahlStriche}</td>";
echo "<td>{$betrag}</td>";
echo "<td>{$datum}</td>";
echo "<td>";
echo "<form method='post' action='{$_SERVER["PHP_SELF"]}'>";
echo "<input type='hidden' name='aktion' value='loeschen'>";
echo "<input type='hidden' name='strichID' value='{$strichID}'>";
echo "<button type='submit'>Löschen</button>";
echo "</form>";
echo "</td>";
echo "</tr>";
}
?>
</table>
</body>
</html>
<?php
}else{
echo "<h2>Kein Zugriff</h2>";
}
?>
</div>
</section>
<?php include "footer.php"; ?>
+50
View File
@@ -0,0 +1,50 @@
<?php
include "functions.php";
include "header.php";
include "headerline.php";
include "nav.php";
?>
<!-- Banner -->
<section id="banner">
<div class="content">
<?php
if(checkKaffeelisteAccess($conn, $mailadress)){
echo "<h2>Kaffeeliste</h2>";
echo "Hallo " . getUserName($conn,$mailadress) . "!<br><br>";
// MitarbeiterID anhand der E-Mail-Adresse abrufen
// Mitglieder aus der Datenbank abrufen
$sqlMitglieder = "SELECT MitarbeiterID, Name, Email FROM kl_Mitarbeiter WHERE aktiv = 1 ORDER BY Name";
$stmtMitglieder = sqlsrv_query($conn, $sqlMitglieder);
while ($row = sqlsrv_fetch_array($stmtMitglieder, SQLSRV_FETCH_ASSOC)) {
$mitarbeiterID = $row['MitarbeiterID'];
$name = $row['Name'];
$email = $row['Email'];
echo "{$email};";
}
}else{
echo "<h2>Sie haben keine Zugang zu dieser Webseite</h2>";
}
?>
</div>
</section>
<?php include "footer.php";
?>
+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"; ?>
+262
View File
@@ -0,0 +1,262 @@
<?php
include "functions.php";
include "header.php";
include "headerline.php";
include "nav.php";
?>
<!-- Banner -->
<section id="banner">
<div class="content">
<?php
if(checkKaffeelisteAdmin($conn, $mailadress)){
// Funktion zum Anlegen, Bearbeiten und Deaktivieren von Mitgliedern
function bearbeiteMitglied($aktion, $mitgliedID, $name, $email, $aktiv, $admin, $conn) {
try {
if ($aktion === 'anlegen') {
$sql = "INSERT INTO kl_Mitarbeiter (Name, Email, aktiv, admin) VALUES (?, ?, ?, ?)";
} elseif ($aktion === 'bearbeitenspeichern') {
$sql = "UPDATE kl_Mitarbeiter SET Name = ?, Email = ?, aktiv = ?, admin = ? WHERE MitarbeiterID = ?";
} elseif ($aktion === 'aktivieren') {
$sql = "UPDATE kl_Mitarbeiter SET aktiv = 1 WHERE MitarbeiterID = ?";
} elseif ($aktion === 'deaktivieren') {
$sql = "UPDATE kl_Mitarbeiter SET aktiv = 0 WHERE MitarbeiterID = ?";
} else {
throw new Exception("Ungültige Aktion.");
}
$params = array($name, $email, $aktiv, $admin);
// Füge die MitarbeiterID nur bei Bearbeitung hinzu
if ($aktion === 'bearbeitenspeichern' ) {
array_push($params, $mitgliedID);
}elseif($aktion === 'aktivieren' || $aktion === 'deaktivieren'){
$params = array($mitgliedID);
}
$stmt = sqlsrv_query($conn, $sql, $params);
if ($stmt === false) {
throw new Exception(print_r(sqlsrv_errors(), true));
}
return true; // Erfolgreich
} catch (Exception $e) {
return $e->getMessage(); // Fehlermeldung zurückgeben
}
}?>
<!-- Formular für das Bearbeiten von Mitgliedern -->
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST["aktion"]) && $_POST["aktion"] === 'bearbeiten') {
$mitgliedID = $_POST["mitgliedID"];
// Informationen des ausgewählten Mitglieds abrufen
$sqlEinzelmitglied = "SELECT * FROM kl_Mitarbeiter WHERE MitarbeiterID = ?";
$stmtEinzelmitglied = sqlsrv_query($conn, $sqlEinzelmitglied, array($mitgliedID));
$einzelmitglied = sqlsrv_fetch_array($stmtEinzelmitglied, SQLSRV_FETCH_ASSOC);
?>
<h3>Bearbeiten von <?php echo $einzelmitglied['Name']; ?></h3>
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>">
<input type="hidden" name="aktion" value="bearbeitenspeichern">
<input type="hidden" name="mitgliedID" value="<?php echo $mitgliedID; ?>">
<label for="name">Name:</label>
<input type="text" name="name" id="name" value="<?php echo $einzelmitglied['Name']; ?>" required>
<label for="email">E-Mail:</label>
<input type="email" name="email" id="email" value="<?php echo $einzelmitglied['Email']; ?>" required>
<br>
<div class="form-check">
<input class="form-check-input" type="checkbox" name="aktiv" id="aktiv" <?php echo $einzelmitglied['aktiv'] ? 'checked' : ''; ?>>
<label class="form-check-label" for="aktiv">Aktiv:</label>
</div>
<div class="form-check">
<input class="form-check-input" type="checkbox" name="admin" id="admin" <?php echo $einzelmitglied['admin'] ? 'checked' : ''; ?>>
<label class="form-check-label" for="admin">Administrator:</label>
</div>
<button type="submit">Speichern</button>
</form>
<?php
}
// Verarbeitung des Formulars, wenn es gesendet wurde
elseif ($_SERVER["REQUEST_METHOD"] == "POST") {
$aktion = $_POST["aktion"];
if ($aktion === 'anlegen' || $aktion === 'bearbeitenspeichern') {
$mitgliedID = isset($_POST["mitgliedID"]) ? $_POST["mitgliedID"] : null;
$name = $_POST["name"];
$email = $_POST["email"];
$aktiv = isset($_POST["aktiv"]) ? 1 : 0;
$admin = isset($_POST["admin"]) ? 1 : 0;
$ergebnis = bearbeiteMitglied($aktion, $mitgliedID, $name, $email, $aktiv, $admin, $conn);
if ($ergebnis === true) {
echo "Aktion erfolgreich durchgeführt.";
} else {
echo "Fehler: $ergebnis";
}
} elseif ($aktion === 'aktivieren') {
$mitgliedID = $_POST["mitgliedID"];
$ergebnis = bearbeiteMitglied('aktivieren', $mitgliedID, null, null, null, null, $conn);
if ($ergebnis === true) {
echo "Mitglied erfolgreich aktiviert.";
} else {
echo "Fehler: $ergebnis";
}
} elseif ($aktion === 'deaktivieren') {
$mitgliedID = $_POST["mitgliedID"];
$ergebnis = bearbeiteMitglied('deaktivieren', $mitgliedID, null, null, null, null, $conn);
if ($ergebnis === true) {
echo "Mitglied erfolgreich deaktiviert.";
} else {
echo "Fehler: $ergebnis";
}
}
}else{
// Mitglieder aus der Datenbank abrufen
$sqlMitglieder = "SELECT MitarbeiterID, Name, Email, aktiv, admin FROM kl_Mitarbeiter ORDER BY Name";
$stmtMitglieder = sqlsrv_query($conn, $sqlMitglieder);
?>
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Kaffeeliste - Mitglieder verwalten</title>
</head>
<body>
<h2>Mitglieder verwalten</h2>
<!-- Formular für das Anlegen und Bearbeiten von Mitgliedern -->
<form method="post" action="<?php # echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>">
<input type="hidden" name="aktion" id="aktion" value="anlegen">
<label for="name">Name:</label>
<input type="text" name="name" id="name" required>
<label for="email">E-Mail:</label>
<input type="email" name="email" id="email" required>
<br>
<div class="form-check">
<input class="form-check-input" type="checkbox" name="aktiv" id="aktiv" checked>
<label class="form-check-label" for="aktiv">Aktiv</label>
</div>
<div class="form-check">
<input class="form-check-input" type="checkbox" name="admin" id="admin" >
<label class="form-check-label" for="admin">Administrator</label>
</div>
<button type="submit">Mitglied anlegen</button>
</form>
<!-- Tabelle zur Anzeige und Bearbeitung von Mitgliedern -->
<table class="table table-striped">
<tr>
<th>Mitglied ID</th>
<th>Name</th>
<th>E-Mail</th>
<th>Aktiv</th>
<th>Administrator</th>
<th>Aktionen</th>
</tr>
<?php
while ($row = sqlsrv_fetch_array($stmtMitglieder, SQLSRV_FETCH_ASSOC)) {
echo '<tr >';
echo "<td>{$row['MitarbeiterID']}</td>";
echo "<td>{$row['Name']}</td>";
echo "<td>{$row['Email']}</td>";
echo "<td>{$row['aktiv']}</td>";
echo "<td>{$row['admin']}</td>";
echo "<td>";
echo '<ul class="actions">
<li>';
echo "<form method='post' action='{$_SERVER["PHP_SELF"]}'>";
echo "<input type='hidden' name='aktion' value='bearbeiten'>";
echo "<input type='hidden' name='mitgliedID' value='{$row['MitarbeiterID']}'>";
echo "<button type='submit'>Bearbeiten</button>";
echo "</form></li><li>";
if ($row['aktiv'] == 1) {
echo "<form method='post' action='{$_SERVER["PHP_SELF"]}'>";
echo "<input type='hidden' name='aktion' value='deaktivieren'>";
echo "<input type='hidden' name='mitgliedID' value='{$row['MitarbeiterID']}'>";
echo "<button type='submit'>Deaktivieren</button>";
echo "</form>";
} else {
echo "<form method='post' action='{$_SERVER["PHP_SELF"]}'>";
echo "<input type='hidden' name='aktion' value='aktivieren'>";
echo "<input type='hidden' name='mitgliedID' value='{$row['MitarbeiterID']}'>";
echo "<button type='submit'>Aktivieren</button>";
echo "</form>";
}
echo "</li></ul></td>";
echo "</tr>";
}
?>
</table>
<?php
}
?>
</body>
</html>
<?php
}else{
echo "<h2>Sie haben keine Zugang zu dieser Webseite</h2>";
}
## Auskommentierung
##<link rel="stylesheet" href="/DataTables/datatables.css" />
?>
</div>
</section>
<script src="/DataTables/datatables.js"></script>
<script>
$(document).ready( function () {
$('#myTable').DataTable();
} );
</script>
<?php include "footer.php"; ?>