diff --git a/Controller/ContactController.php b/Controller/ContactController.php index 7a24662..de3862e 100644 --- a/Controller/ContactController.php +++ b/Controller/ContactController.php @@ -13,14 +13,12 @@ class ContactController private $labels = array("name" => "Name", "email" => "E-Mail-Adresse", "content" => "Nachricht"); - public function __construct($view) - { + public function __construct($view) { $this->db = new ContactModel(); $this->view = $view; } - public function showContactForm() - { + public function showContactForm() { $this->view->setVars([ 'labels' => $this->labels, 'validData' => $this->validData, @@ -28,12 +26,11 @@ class ContactController ]); } - public function showConfirmation() - { + public function showConfirmation() { } - public function validateForm(){ + public function validateForm() { foreach ($this->labels as $index => $value) { if (!isset($_POST[$index]) || empty($_POST[$index])) { $this->errors[$index] = "Bitte " . $value . " angeben"; diff --git a/Controller/EventController.php b/Controller/EventController.php new file mode 100644 index 0000000..6c22d15 --- /dev/null +++ b/Controller/EventController.php @@ -0,0 +1,52 @@ +eventModel = new EventModel(); + $this->view = $view; + } + + public function updateEvent() { + $event = array( + "ausstellungid" => $_POST['ausstellungid'], + "standortid" => $_POST['standortid'], + "datum_von" => $_POST['datumVon'], + "datum_bis" => $_POST['datumBis'], + "name" => $_POST['name'], + "beschreibung" => $_POST['beschreibung'], + "max_tickets" => $_POST['max_tickets'], + "preis" => $_POST['preis'], + ); + + $this->eventModel->updateEvent($event); + $this->view->setVars([ + "ausstellungid" => $_POST['ausstellungid'], + ]); + } + + public function createEvent() { + $event = array( + "standortid" => $_POST['standortid'], + "datum_von" => $_POST['datumVon'], + "datum_bis" => $_POST['datumBis'], + "name" => $_POST['name'], + "beschreibung" => $_POST['beschreibung'], + "max_tickets" => $_POST['max_tickets'], + "preis" => $_POST['preis'], + ); + + $this->eventModel->createEvent($event); + $this->view->setVars([ + "name" => $_POST['name'], + ]); + } + +} \ No newline at end of file diff --git a/Controller/TicketController.php b/Controller/TicketController.php new file mode 100644 index 0000000..2294e8e --- /dev/null +++ b/Controller/TicketController.php @@ -0,0 +1,42 @@ +ticketModel = new TicketModel(); + $this->eventModel = new EventModel(); + $this->view = $view; + } + + public function buyTicket() { + $userId = $_POST['userId']; + $eventId = $_POST['eventId']; + $gueltigkeitsdatum = $_POST['gueltigkeitsdatum']; + + $values = array("userId" => $userId, + "eventId" => $eventId, + "gueltigkeitsdatum" => $gueltigkeitsdatum); + + $this->ticketModel->buyTicket($values); + $event = $this->eventModel->getEvent($eventId); + $this->view->setVars([ + "event" => $event[0] + ] + ); + } + + private function hasTicket($userId, $eventId, $gueltigkeitsdatum) { + + } + +} \ No newline at end of file diff --git a/Model/EventModel.php b/Model/EventModel.php new file mode 100644 index 0000000..e02fd0e --- /dev/null +++ b/Model/EventModel.php @@ -0,0 +1,86 @@ +linkDB(); + $sql = "UPDATE ausstellung SET + standortid = :standortid, + datum_von = :datum_von, + datum_bis = :datum_bis, + name = :name, + beschreibung = :beschreibung, + max_tickets = :max_tickets, + preis = :preis + WHERE ausstellungid = :ausstellungid;"; + + $params = array( + ":standortid" => $event['standortid'], + ":datum_von" => $event['datum_von'], + ":datum_bis" => $event['datum_bis'], + ":name" => $event['name'], + ":beschreibung" => $event['beschreibung'], + ":max_tickets" => $event['max_tickets'], + ":preis" => $event['preis'], + ":ausstellungid" => $event['ausstellungid'] + ); + + try { + $sth = $pdo->prepare($sql); + $sth->execute($params); + } catch (PDOException $e) { + new \Blog\Library\ErrorMsg("Fehler beim Aktualisieren der Daten.", $e); + die; + } + } + + public function createEvent($event) { + $pdo = $this->linkDB(); + + $sql = "INSERT INTO ausstellung (`standortid`, `datum_von`, `datum_bis`, `name`, `beschreibung`, `max_tickets`, `preis`) VALUES ( + :standortid, :datum_von, :datum_bis, :name, :beschreibung, :max_tickets, :preis);"; + + $params = array( + ":standortid" => $event['standortid'], + ":datum_von" => $event['datum_von'], + ":datum_bis" => $event['datum_bis'], + ":name" => $event['name'], + ":beschreibung" => $event['beschreibung'], + ":max_tickets" => $event['max_tickets'], + ":preis" => $event['preis'] + ); + + try { + $sth = $pdo->prepare($sql); + $sth->execute($params); + return $sth; + } catch (PDOException $e) { + new \Blog\Library\ErrorMsg("Fehler beim Schreiben der Daten.", $e); + die; + } + } + + public function getEvent($id) { + $pdo = $this->linkDB(); + $sql = "SELECT * FROM `ausstellung` WHERE `ausstellungid` = :eventId;"; + $params = array("eventId" => $id); + + try { + $sth = $pdo->prepare($sql); + $sth->execute($params); + $erg = $sth->fetchAll(\PDO::FETCH_ASSOC); + return $erg[0]; + } catch (PDOException $e) { + new \Blog\Library\ErrorMsg("Fehler beim Schreiben der Daten.", $e); + die; + } + } +} \ No newline at end of file diff --git a/Model/TicketModel.php b/Model/TicketModel.php new file mode 100644 index 0000000..1b0ac00 --- /dev/null +++ b/Model/TicketModel.php @@ -0,0 +1,31 @@ +linkDB(); + $params = array( + ":userId" => $values['userId'], + ":eventId" => $values['eventId'], + ":kaufdatum" => $values['kaufdatum'], + ":gueltigkeitsdatum" => $values['gueltigkeitsdatum'] + ); + + try { + $sth = $pdo->prepare($sql); + $sth->execute($params); + } catch (PDOException $e) { + new \Blog\Library\ErrorMsg("Fehler beim Schreiben der Daten.", $e); + die; + } + + return true; + } +} \ No newline at end of file diff --git a/Views/Event/createEvent.phtml b/Views/Event/createEvent.phtml new file mode 100644 index 0000000..93a0db1 --- /dev/null +++ b/Views/Event/createEvent.phtml @@ -0,0 +1,12 @@ + + +
Das Event "" wurde erfolgreich erstellt!
+ Weiter +Das Event mit der ID "" wurde erfolgreich bearbeitet!
+ Weiter +Ihr Ticket für das Event "" wurde erfolgreich gekauft!
+ Weiter +