<?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"; ?>

