Inital
This commit is contained in:
@@ -0,0 +1,80 @@
|
||||
<?php
|
||||
session_start();
|
||||
require_once("inc/config.inc.php");
|
||||
require_once("inc/functions.inc.php");
|
||||
//Überprüfe, dass der User eingeloggt ist
|
||||
//Der Aufruf von check_user() muss in alle internen Seiten eingebaut sein
|
||||
$user = check_user();
|
||||
?>
|
||||
|
||||
<?php include 'header.php'; ?>
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<h2>Stempelkarten-System</h2>
|
||||
|
||||
<?php
|
||||
// Überprüfen, ob eine Benutzer-ID in der Session vorhanden ist
|
||||
if (!isset($_SESSION['userid'])) {
|
||||
die("Kein Benutzer angemeldet.");
|
||||
}
|
||||
|
||||
if ($_SERVER["REQUEST_METHOD"] == "POST") {
|
||||
$employee_id = $_POST['employee_id'];
|
||||
$datum = $_POST['datum'];
|
||||
$buchungen = $_POST['buchungen'];
|
||||
$deleted_entries = $_POST['deleted_entries']; // IDs der zu löschenden Einträge
|
||||
|
||||
// Überprüfen, ob alle Termineinträge für denselben Tag sind
|
||||
foreach ($buchungen as $timestamp_id => $buchung) {
|
||||
if (date('Y-m-d', strtotime($buchung['timestamp_datetime'])) !== $datum) {
|
||||
die("Fehler: Nicht alle Termineinträge sind für denselben Tag.");
|
||||
}
|
||||
}
|
||||
|
||||
try {
|
||||
$pdo->beginTransaction();
|
||||
|
||||
// Löschvorgänge durchführen
|
||||
foreach ($deleted_entries as $deleted_id) {
|
||||
$delete_query = "DELETE FROM timestamps WHERE timestamp_id = :timestamp_id AND employee_id = :employee_id";
|
||||
$stmt = $pdo->prepare($delete_query);
|
||||
$stmt->bindParam(':timestamp_id', $deleted_id, PDO::PARAM_INT);
|
||||
$stmt->bindParam(':employee_id', $employee_id, PDO::PARAM_INT);
|
||||
$stmt->execute();
|
||||
}
|
||||
|
||||
// Speichern oder Aktualisieren der Buchungen
|
||||
foreach ($buchungen as $timestamp_id => $buchung) {
|
||||
if (strpos($timestamp_id, 'new_') !== false) {
|
||||
// Neue Buchung hinzufügen
|
||||
$insert_query = "INSERT INTO timestamps (employee_id, timestamp_type, timestamp_datetime) VALUES (:employee_id, :timestamp_type, :timestamp_datetime)";
|
||||
$stmt = $pdo->prepare($insert_query);
|
||||
} else {
|
||||
// Bestehende Buchung aktualisieren
|
||||
$update_query = "UPDATE timestamps SET timestamp_type = :timestamp_type, timestamp_datetime = :timestamp_datetime WHERE timestamp_id = :timestamp_id AND employee_id = :employee_id";
|
||||
$stmt = $pdo->prepare($update_query);
|
||||
$stmt->bindParam(':timestamp_id', $timestamp_id, PDO::PARAM_INT);
|
||||
}
|
||||
|
||||
$stmt->bindParam(':employee_id', $employee_id, PDO::PARAM_INT);
|
||||
$stmt->bindParam(':timestamp_type', $buchung['timestamp_type']);
|
||||
$stmt->bindParam(':timestamp_datetime', $buchung['timestamp_datetime']);
|
||||
$stmt->execute();
|
||||
}
|
||||
|
||||
$pdo->commit();
|
||||
echo "Änderungen erfolgreich gespeichert.";
|
||||
} catch(PDOException $e) {
|
||||
$pdo->rollBack();
|
||||
echo "Datenbankfehler: " . $e->getMessage();
|
||||
}
|
||||
} else {
|
||||
die("Ungültige Anfrage.");
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php include 'footer.php'; ?>
|
||||
Reference in New Issue
Block a user