<?php session_start(); require '../../../functions.php'; getUserStatus($_SESSION['uid']); if (!isset($_SESSION['loggedin'])) { die(header("Location: ../../../?return=support/tickets/details?id=" . $_GET['id'])); } $ticketData = getTicketData($_GET['id']); if (sizeof($ticketData) == 0) { die(header("Location: ../")); } $error = false; ?> <!DOCTYPE html> <html> <head> <title><?php echo $_SESSION['panel']; ?> 1fx. # ServerPanel</title> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> <link rel="stylesheet" href="../../../css/font-awesome.min.css"> <link rel="stylesheet" href="../../../css/simple-line-icons.css"> <link rel="stylesheet" href="../../../css/animate.min.css"> <link rel="stylesheet" href="../../../css/whirl.css"> <link rel="stylesheet" href="../../../css/bootstrap.css"> <link rel="stylesheet" href="../../../css/app.css"> <link rel="stylesheet" href="../../../css/select2.css"> <link id="autoloaded-stylesheet" rel="stylesheet" href="../../../css/<?php
// ID vor Injections sichern if (isset($_POST['booknow']) && isset($_POST['seats']) && is_array($_POST['seats']) && isset($_POST['user_id']) && isset($_POST['user_hash'])) { settype($_POST['user_id'], "integer"); // ID vor Injections sichern secureSQL(&$_POST['user_hash']); // Hash vor Injections sichern // Alle markierten Sitze durchgehen... foreach ($_POST['seats'] as $key => $value) { settype($_POST['seats'][$key], "integer"); // ... und vor Injections sichern } // Benutzerdaten aus der Datenbank laden $user_data = $sql->getData("user", "*", "WHERE `user_id` = '" . $_POST['user_id'] . "' AND `user_hash` = '" . $_POST['user_hash'] . "'", 1); // Daten aus DB lesen // Ticket Daten für die gewählte Show un den eingeloggten User laden $ticket_data = getTicketData($_GET['id'], $user_data['user_id']); // Template laden $theTemplate = new Template("booking.tpl"); // Wenn der Benutzer existiert (erneute Abfrage soll Manipulation verhindern // Und wenn es keine überschneidungen mit bereits reservierten, gekauften oder nicht für diesen Benutzer blockierten Plätzen gibt if ($sql->wasGetSuccessful($user_data) && count(array_intersect($_POST['seats'], $ticket_data[0])) == 0 && count(array_intersect($_POST['seats'], $ticket_data[1])) == 0 && count(array_intersect($_POST['seats'], $ticket_data[2])) == 0) { // Ticket-Daten in DB speichern $sql->setData("tickets", "user_id,show_id,ticket_seats,ticket_sold", array($user_data['user_id'], $_GET['id'], implode(",", $_POST['seats']), 0)); // Bestätigungs Template laden $theTemplate->load("BOOKING_END"); $theTemplate->clearTags(); $theTemplate->tag("prename", $user_data['user_prename']); // Vorname einfügen $theTemplate->tag("lastname", $user_data['user_lastname']); // Nachname einfügen $theTemplate->tag("email", $user_data['user_email']);
public function setStates($show_id, $user_id) { $ticket_data = getTicketData($show_id, $user_id); // Die Ticket Daten einlesen // Jedes Elemnt durchgehen foreach ($this->screen_data as $aLine) { foreach ($aLine as $aSeat) { if ($aSeat->isSeat()) { // Wenn wir auf einen Sitz treffen $theSeatNumber = $aSeat->getNumber(); if (in_array($theSeatNumber, $ticket_data[0])) { // nachschauen, ob er reserviet ist $aSeat->setState(1); } elseif (in_array($theSeatNumber, $ticket_data[1])) { // nachschauen, ob er verkauft ist $aSeat->setState(2); } elseif (in_array($theSeatNumber, $ticket_data[2])) { // nachschauen, ob er blockiert ist $aSeat->setState(3); } } } } }