Esempio n. 1
0
<?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 
Esempio n. 2
0
 // 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']);
Esempio n. 3
0
 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);
                 }
             }
         }
     }
 }