Commit 63c7c14e authored by BuildTools's avatar BuildTools
Browse files

added event creation in admin area

parent 83eda0c0
......@@ -34,7 +34,29 @@
</table>
<h2>Alte Einträge Löschen</h2>
<button>Löschen</button><br><br>
<button onclick="deleteOldData();">Löschen</button><br><br>
<h2>Neue Veranstaltung erstellen</h2>
<table>
<tr>
<td><label>Eventbezeichnung</label></td>
<td><input type="text" id="createName"></td>
</tr><tr>
<td><label>Datum</label></td>
<td><input type="date" id="createDate"></td>
</tr><tr>
<td><label>Öffnung</label></td>
<td><input type="time" id="createStartTime"></td>
</tr><tr>
<td><label>Schließung</label></td>
<td><input type="time" id="createEndTime"></td>
</tr><tr>
<td><label>Anzahl der Tische</label></td>
<td><input type="number" id="createTables"></td>
</tr><tr>
<td><input type="submit" onclick="createNewEvent();" value="erstellen"></td>
</tr>
</table>
<a href="/index.php"><h3>Zurück zur Anmeldeseite</h3></a>
</body>
......
......@@ -71,3 +71,36 @@ function endReservation(id) {
xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhttp.send("id=" + reservationData[id]["id"]);
}
function deleteOldData() {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
alert("Es wurden " + this.responseText + " Einträge gelöscht!");
}
};
xhttp.open("POST", "deleteOldEntriesAdmin.php", true);
xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhttp.send();
}
function createNewEvent() {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
console.log(this.responseText);
if (this.responseText == "1") {
alert("Veranstaltung wurde erstellt.");
} else {
alert("Es ist ein Fehler aufgetreten. Vielleicht existiert an diesem Tag schon eine Veranstaltung");
}
}
};
xhttp.open("POST", "createEventAdmin.php", true);
xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhttp.send("name=" + document.getElementById("createName").value +
"&date=" + document.getElementById("createDate").value +
"&open=" + document.getElementById("createStartTime").value +
"&close=" + document.getElementById("createEndTime").value +
"&tables=" + document.getElementById("createTables").value);
}
\ No newline at end of file
<?PHP
if (!isset($_SERVER['PHP_AUTH_USER']) || $_SERVER['PHP_AUTH_USER'] != "z10" || $_SERVER['PHP_AUTH_PW'] != "kruemel") {
header('WWW-Authenticate: Basic realm="My Realm"');
header('HTTP/1.0 401 Unauthorized');
echo "Passwort oder Benutzername falsch";
exit;
}
$user = 'apache';
$pass = 'e164AzpQx564TpJa';
$db = new PDO('mysql:host=localhost;dbname=reservation', $user, $pass);
$statement = $db -> prepare("INSERT INTO opening (event, date, opentime, closetime, tables) VALUES (?, ?, ?, ?, ?)");
echo $statement->execute(array($_POST["name"], $_POST["date"], $_POST["open"], $_POST["close"], $_POST["tables"]));
?>
\ No newline at end of file
<?PHP
if (!isset($_SERVER['PHP_AUTH_USER']) || $_SERVER['PHP_AUTH_USER'] != "z10" || $_SERVER['PHP_AUTH_PW'] != "kruemel") {
header('WWW-Authenticate: Basic realm="My Realm"');
header('HTTP/1.0 401 Unauthorized');
echo "Passwort oder Benutzername falsch";
exit;
}
$user = 'apache';
$pass = 'e164AzpQx564TpJa';
$db = new PDO('mysql:host=localhost;dbname=reservation', $user, $pass);
$statement = $db -> prepare('DELETE FROM client WHERE date <= ? AND username IS NULL');
$statement->execute(array(date("Y-m-d", strtotime("-4 week"))));
echo $statement->rowCount();
?>
\ No newline at end of file
......@@ -4,9 +4,9 @@
$db = new PDO('mysql:host=localhost;dbname=reservation', $user, $pass);
// todo prevent sql injection
$query = 'SELECT tables, opentime, closetime FROM opening WHERE date="' . $_GET["date"] . '"';
$query = 'SELECT tables, opentime, closetime, event FROM opening WHERE date="' . $_GET["date"] . '"';
$result = $db->query($query)->fetch();
$data = array("tables" => $result[0], "open" => $result[1], "close" => $result[2]);
$data = array("tables" => $result[0], "open" => $result[1], "close" => $result[2], "event" => $result[3]);
$query = 'SELECT start, end, tisch FROM reservations WHERE date="' . $_GET["date"] . '" AND ended = 0';
......
......@@ -3,20 +3,20 @@
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<title>Z10 Gast Registrierung</title>
<title>Z10 Gast Reservierung</title>
<link rel="stylesheet" type="text/css" href="styles.css">
<script src="/scripts.js"></script>
</head>
<body onload="onLoad();">
<h2>Z10 Gast Registrierung</h2>
<h2>Z10 Gast Reservierung</h2>
<p id="js-info">Diese Seite benötigt JavaScript um aktuelle Reservierungen anzeigen zu können.</p>
<label>Datum der gewünschten Veranstaltung auswählen</label><br>
<select id="reservationDate" onchange="loadReservations()"></select><br>
<label>Datum und Zeitraum der gewünschten Reservierung auswählen</label><br>
<select id="reservationDate" onchange="loadReservations()"></select><label id="eventNameField"></label><br>
<canvas id="reservations"></canvas>
<p>Auf Grund der Corona Verordnung müssen sich Gäste nun auch bei uns Kontaktdaten hinterlegen. Diese werden nach Ablauf von 3 Wochen wieder gelöscht und werden nicht anderweitig genutzt bla bla bla...</p>
<p>Für eine Reservierung folgendes Formular ausfüllen. Dabei reicht ein Weg (Post/Telefon/Mail) zur Kontaktaufnahme aus.</p>
<p>Für eine Reservierung folgendes Formular ausfüllen. Dabei reicht ein Weg (Post/Telefon/Mail) zur Kontaktaufnahme aus. Wir behalten uns vor, die Reservierung bei unglaubwürdiger Angabe von Daten zu stornieren</p>
<form id="personalData" action="/validateReservation.php" onsubmit="return validateReservation()" method="post">
<label for="Vname">Vorname:</label><br>
......
......@@ -45,6 +45,7 @@ function loadReservations() {
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
reservationData = JSON.parse(this.responseText);
document.getElementById("eventNameField").innerHTML = reservationData["event"];
resetSelection();
updateCanvas();
......@@ -222,7 +223,7 @@ function selectEnd(tablenr, section, openTime, closeTime) {
// reservation between start and end
|| (select.startH - start[0]) * 60 + select.startM - start[1] <= 0 && (select.endH - end[0]) * 60 + select.endM - end[1] >= 0) {
alert("Dieser Zeitraum ist schon reserviert!");
select.endH = -1;
resetSelection();
}
}
}
......
......@@ -36,6 +36,10 @@ select {
color: red;
}
#eventNameField {
padding-left: 10px;
}
.hiddenInput {
visibility: hidden;
width: 0;
......
......@@ -22,7 +22,9 @@
?>
<h2>Die Reservierung wurde für den <?PHP echo $_POST["date"] . " von " . $_POST["startTime"] . " bis " . $_POST["endTime"] . " " ?> angelegt</h2>
<p>Personenbezogene Daten können nun nicht mehr geändert werden. Mit folgendem Code kann jedoch die Reservierung aufgehoben werden: <?PHP echo $code; ?><br>
<p>Personenbezogene Daten können nun nicht mehr geändert werden. Mit folgendem Code kann jedoch die Reservierung aufgehoben werden: <b><?PHP echo $code; ?></b><br>
Die Daten werden automatisch spätestens 3 Wochen nach ihrem letzten Besuch gelöscht. Falls die Reservierung nicht wahr genommen wurde,
besteht die Möglichkeit die Daten schon vorher zu löschen. Kontaktieren Sie uns dazu auf gezi@z10.info</p>
<a href="/index.php"><h3>Zur Homepage</h3></a>
</body>
\ No newline at end of file
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment