diff --git a/Controller/EventController.php b/Controller/EventController.php index 90fd27f..fbe201d 100644 --- a/Controller/EventController.php +++ b/Controller/EventController.php @@ -6,62 +6,59 @@ use Blog\Model\EventModel; class EventController { - protected $view; - protected $eventModel; + private $model; + private $view; public function __construct($view) { - $this->eventModel = new EventModel(); + $this->model = new EventModel(); $this->view = $view; } public function showEvents() { - $events = $this->eventModel->getEvents(); + $events = $this->model->getEvents(); $this->view->setVars([ - "events" => $events - ]); - } - - public function getEvent() { - $ausstellungid = $_GET['ausstellungid']; - $event = $this->eventModel->getEvent($ausstellungid); - $this->view->setVars([ - "event" => $event - ]); - } - - 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'], + 'events' => $events ]); } 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'], - ); + $data = [ + 'name' => $_POST['name'] ?? null, + 'beschreibung' => $_POST['beschreibung'] ?? null, + 'standortid' => $_POST['standortid'] ?? null, + 'datum_von' => $_POST['datum_von'] ?? null, + 'datum_bis' => $_POST['datum_bis'] ?? null, + 'max_tickets' => $_POST['max_tickets'] ?? null, + 'preis' => $_POST['preis'] ?? null + ]; - $this->eventModel->createEvent($event); - $this->view->setVars([ - "name" => $_POST['name'], - ]); + $this->model->createEvent($data); + $this->view->setVars(['event' => $data]); + exit; } + public function editEventForm() { + $id = $_GET['ausstellungid']; + $event = $this->model->getEvent($id); + $this->view->setVars(['event' => $event]); + } + + public function updateEvent($id, $data) { + $id = $_POST['ausstellungid']; + $data = [ + 'standortid' => $_POST['standortid'] ?? null, + 'datum_von' => $_POST['datum_von'] ?? null, + 'datum_bis' => $_POST['datum_bis'] ?? null, + 'name' => $_POST['name'] ?? null, + 'beschreibung' => $_POST['beschreibung'] ?? null, + 'max_tickets' => $_POST['max_tickets'] ?? null, + 'preis' => $_POST['preis'] ?? null + ]; + $this->model->updateEvent($id, $data); + } + + public function deleteEvent($id) { + $this->model->deleteEvent($id); + $this->view->setVars(['id' => $id]); + } } \ No newline at end of file diff --git a/Controller/GutscheinController.php b/Controller/GutscheinController.php new file mode 100644 index 0000000..859a3d1 --- /dev/null +++ b/Controller/GutscheinController.php @@ -0,0 +1,57 @@ +model = new GutscheinModel(); + $this->view = $view; + } + + public function showGutscheine() { + $gutscheine = $this->model->getGutscheine(); + $this->view->setVars(['gutscheine' => $gutscheine]); + } + + public function createGutschein() { + $data = [ + 'code' => $_POST['code'] ?? null, + 'rabatt' => $_POST['rabatt'] ?? null, + 'eventid' => $_POST['eventid'] ?? null, + 'gültigkeit' => $_POST['gültigkeit'] ?? null + ]; + $erg = $this->model->createGutschein($data); + $this->view->setVars(['gutschein' => $erg]); + exit; + } + + public function editGutscheinForm() { + $id = $_GET['gutscheinid']; + if ($id) { + $gutschein = $this->model->getGutschein($id); + $this->view->setVars(['gutschein' => $gutschein]); + } + } + + public function updateGutschein() { + $id = $_POST['gutscheinid']; + $data = [ + 'code' => $_POST['code'] ?? null, + 'rabatt' => $_POST['rabatt'] ?? null, + 'eventid' => $_POST['eventid'] ?? null, + 'gültigkeit' => $_POST['gültigkeit'] ?? null + ]; + $this->model->updateGutschein($id, $data); + } + + public function deleteGutschein() { + $id = $_GET['gutscheinid'] ?? null; + $this->model->deleteGutschein($id); + } +} \ No newline at end of file diff --git a/Controller/NewsController.php b/Controller/NewsController.php index a7999a3..a2c7620 100644 --- a/Controller/NewsController.php +++ b/Controller/NewsController.php @@ -6,38 +6,48 @@ use Blog\Model\NewsModel; class NewsController { - protected $view; - protected $newsModel; + private $model; + private $view; public function __construct($view) { - $this->newsModel = new NewsModel(); + $this->model = new NewsModel(); $this->view = $view; } public function showNews() { - $news = $this->newsModel->getNews(); - $this->view->setVars([ - "news" => $news - ]); + $news = $this->model->getNews(); + $this->view->setVars(['news' => $news]); } public function createNews() { - $news = [ - "name" => $_POST['name'], - "beschreibung" => $_POST['beschreibung'], - "datum" => $_POST['datum'] + $data = [ + 'name' => $_POST['name'], + 'beschreibung' => $_POST['beschreibung'], + 'datum' => $_POST['datum'], ]; - $this->newsModel->createNews($news); - $this->view->setVars([ - "name" => $_POST['name'] - ]); + $erg = $this->model->createNews($data); + $this->view->setVars(['news' => $erg]); + exit; + } + + public function editNewsForm() { + $id = $_GET['newsid']; + $news = $this->model->getNewsById($id); + $this->view->setVars(['news' => $news]); + } + + public function updateNews() { + $id = $_POST['newsid'] ?? null; + $data = [ + 'name' => $_POST['name'], + 'beschreibung' => $_POST['beschreibung'], + 'datum' => $_POST['datum'], + ]; + $this->model->updateNews($id, $data); } public function deleteNews() { - $newsId = $_POST['newsid']; - $this->newsModel->deleteNews($newsId); - $this->view->setVars([ - "deleted" => $newsId - ]); + $id = $_GET['newsid'] ?? null; + $this->model->deleteNews($id); } } \ No newline at end of file diff --git a/Controller/StandortController.php b/Controller/StandortController.php index 13b6f6e..9bbcaaa 100644 --- a/Controller/StandortController.php +++ b/Controller/StandortController.php @@ -6,19 +6,56 @@ use Blog\Model\StandortModel; class StandortController { - protected $view; - protected $standortModel; + private $model; + private $view; public function __construct($view) { - $this->standortModel = new StandortModel(); + $this->model = new StandortModel(); $this->view = $view; } public function showStandorte() { - $this -> standortModel -> getStandorte(); - $this->view->setVars([ - "standorte" => $this->standortModel->getStandorte() - ]); + $standorte = $this->model->getStandorte(); + $this->view->setVars(['standorte' => $standorte]); } + public function createStandort() { + $data = [ + 'straße' => $_POST['straße'], + 'hausnr' => $_POST['hausnr'], + 'postleitzahl' => $_POST['postleitzahl'], + 'ort' => $_POST['ort'], + 'land' => $_POST['land'], + 'tel' => $_POST['tel'], + 'email' => $_POST['email'] + ]; + $erg = $this->model->createStandort($data); + $this->view->setVars(['standort' => $erg]); + } + + public function editStandortForm() { + $id = $_GET['standortid']; + $standort = $this->model->getStandort($id); + $this->view->setVars(['standort' => $standort]); + } + + public function updateStandort() { + $id = $_POST['standortid']; + $data = [ + 'straße' => $_POST['straße'], + 'hausnr' => $_POST['hausnr'], + 'postleitzahl' => $_POST['postleitzahl'], + 'ort' => $_POST['ort'], + 'land' => $_POST['land'], + 'tel' => $_POST['tel'], + 'email' => $_POST['email'] + ]; + $erg = $this->model->updateStandort($id, $data); + $this->view->setVars(['standort' => $erg]); + } + + public function deleteStandort() { + $id = $_GET['standortid'] ?? null; + $this->model->deleteStandort($id); + } } \ No newline at end of file diff --git a/Controller/TicketController.php b/Controller/TicketController.php index f4017d5..8ed3023 100644 --- a/Controller/TicketController.php +++ b/Controller/TicketController.php @@ -2,43 +2,38 @@ namespace Blog\Controller; -use Blog\Model\EventModel; use Blog\Model\TicketModel; class TicketController { - protected $view; - protected $ticketModel; - protected $eventModel; + private $ticketModel; + private $view; public function __construct($view) { $this->ticketModel = new TicketModel(); - $this->eventModel = new EventModel(); $this->view = $view; } - + + public function showTickets() { + $tickets = $this->ticketModel->getTickets(); + $this->view->setVars(['tickets' => $tickets]); + } + 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] - ] - ); + $data = [ + 'userid' => $_POST['userid'], + 'eventid' => $_POST['eventid'], + 'kaufdatum' => date('Y-m-d'), + 'gültigkeitsdatum' => $_POST['gültigkeitsdatum'] + ]; + $erg = $this->ticketModel->buyTicket($data); + $this->view->setVars(['ticket' => $erg]); } - public function hasTicket() { - $userId = $_GET["userId"]; - $eventId = $_GET["eventId"]; - $erg = $this->ticketModel->hasTicket($userId, $eventId); - echo json_encode($erg, JSON_UNESCAPED_UNICODE); + public function deleteTicket() { + $ticketid = $_GET['ticketid'] ?? null; + if ($ticketid) { + $this->ticketModel->deleteTicket($ticketid); + } } - } \ No newline at end of file diff --git a/Model/EventModel.php b/Model/EventModel.php index 1693528..4e2ad48 100644 --- a/Model/EventModel.php +++ b/Model/EventModel.php @@ -8,89 +8,82 @@ class EventModel extends Database { public function getEvents() { $pdo = $this->linkDB(); - $sql = "SELECT * from ausstellung ORDER BY datum_von DESC;"; - + $sql = "SELECT * FROM ausstellung ORDER BY datum_von DESC;"; try { $sth = $pdo->prepare($sql); $sth->execute(); - $erg = $sth->fetchAll(\PDO::FETCH_ASSOC); - return $erg; + return $sth->fetchAll(\PDO::FETCH_ASSOC); } catch (PDOException $e) { - new \Blog\Library\ErrorMsg("Fehler beim Lesen der Daten.", $e); - die; - } - } - - public function updateEvent($event) { - $pdo = $this->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); + new \Blog\Library\ErrorMsg("Fehler beim Lesen der Events.", $e); die; } } public function getEvent($id) { $pdo = $this->linkDB(); - $sql = "SELECT * FROM `ausstellung` WHERE `ausstellungid` = :eventId;"; - $params = array("eventId" => $id); - + $sql = "SELECT * FROM ausstellung WHERE ausstellungid = :id;"; + try { + $sth = $pdo->prepare($sql); + $sth->execute([":id" => $id]); + return $sth->fetch(\PDO::FETCH_ASSOC); + } catch (PDOException $e) { + new \Blog\Library\ErrorMsg("Fehler beim Lesen des Events.", $e); + die; + } + } + + public function updateEvent($id, $data) { + $pdo = $this->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 = :id;"; + $params = [ + ":standortid" => $data['standortid'], + ":datum_von" => $data['datum_von'], + ":datum_bis" => $data['datum_bis'], + ":name" => $data['name'], + ":beschreibung" => $data['beschreibung'], + ":max_tickets" => $data['max_tickets'], + ":preis" => $data['preis'], + ":id" => $id + ]; try { $sth = $pdo->prepare($sql); $sth->execute($params); - $erg = $sth->fetchAll(\PDO::FETCH_ASSOC); - return $erg; } catch (PDOException $e) { - new \Blog\Library\ErrorMsg("Fehler beim Schreiben der Daten.", $e); + new \Blog\Library\ErrorMsg("Fehler beim Aktualisieren des Events.", $e); + die; + } + } + + public function createEvent($data) { + $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 = [ + ":standortid" => $data['standortid'], + ":datum_von" => $data['datum_von'], + ":datum_bis" => $data['datum_bis'], + ":name" => $data['name'], + ":beschreibung" => $data['beschreibung'], + ":max_tickets" => $data['max_tickets'], + ":preis" => $data['preis'] + ]; + try { + $sth = $pdo->prepare($sql); + $sth->execute($params); + return $sth; + } catch (PDOException $e) { + new \Blog\Library\ErrorMsg("Fehler beim Erstellen des Events.", $e); + die; + } + } + + public function deleteEvent($id) { + $pdo = $this->linkDB(); + $sql = "DELETE FROM ausstellung WHERE ausstellungid = :id;"; + try { + $sth = $pdo->prepare($sql); + $sth->execute([":id" => $id]); + } catch (PDOException $e) { + new \Blog\Library\ErrorMsg("Fehler beim Löschen des Events.", $e); die; } } diff --git a/Model/GutscheinModel.php b/Model/GutscheinModel.php new file mode 100644 index 0000000..e9ba8a5 --- /dev/null +++ b/Model/GutscheinModel.php @@ -0,0 +1,86 @@ +linkDB(); + $sql = "SELECT * FROM gutschein ORDER BY gültigkeit DESC;"; + try { + $sth = $pdo->prepare($sql); + $sth->execute(); + return $sth->fetchAll(\PDO::FETCH_ASSOC); + } catch (PDOException $e) { + new \Blog\Library\ErrorMsg("Fehler beim Lesen der Gutscheine.", $e); + die; + } + } + + public function getGutschein($id) { + $pdo = $this->linkDB(); + $sql = "SELECT * FROM gutschein WHERE gutscheinid = :id;"; + $params = [":id" => $id]; + try { + $sth = $pdo->prepare($sql); + $sth->execute($params); + return $sth->fetch(\PDO::FETCH_ASSOC); + } catch (PDOException $e) { + new \Blog\Library\ErrorMsg("Fehler beim Lesen des Gutscheins.", $e); + die; + } + } + + public function createGutschein($data) { + $pdo = $this->linkDB(); + $sql = "INSERT INTO gutschein (code, rabatt, eventid, gültigkeit) VALUES (:code, :rabatt, :eventid, :gültigkeit);"; + $params = [ + ":code" => $data['code'], + ":rabatt" => $data['rabatt'], + ":eventid" => $data['eventid'], + ":gültigkeit" => $data['gültigkeit'] + ]; + try { + $sth = $pdo->prepare($sql); + $sth->execute($params); + return $sth; + } catch (PDOException $e) { + new \Blog\Library\ErrorMsg("Fehler beim Erstellen des Gutscheins.", $e); + die; + } + } + + public function updateGutschein($id, $data) { + $pdo = $this->linkDB(); + $sql = "UPDATE gutschein SET code = :code, rabatt = :rabatt, eventid = :eventid, gültigkeit = :gültigkeit WHERE gutscheinid = :id;"; + $params = [ + ":code" => $data['code'], + ":rabatt" => $data['rabatt'], + ":eventid" => $data['eventid'], + ":gültigkeit" => $data['gültigkeit'], + ":id" => $id + ]; + try { + $sth = $pdo->prepare($sql); + $sth->execute($params); + } catch (PDOException $e) { + new \Blog\Library\ErrorMsg("Fehler beim Aktualisieren des Gutscheins.", $e); + die; + } + } + + public function deleteGutschein($id) { + $pdo = $this->linkDB(); + $sql = "DELETE FROM gutschein WHERE gutscheinid = :id;"; + $params = [":id" => $id]; + try { + $sth = $pdo->prepare($sql); + $sth->execute($params); + } catch (PDOException $e) { + new \Blog\Library\ErrorMsg("Fehler beim Löschen des Gutscheins.", $e); + die; + } + } +} \ No newline at end of file diff --git a/Model/NewsModel.php b/Model/NewsModel.php index da61f97..5d5833d 100644 --- a/Model/NewsModel.php +++ b/Model/NewsModel.php @@ -6,14 +6,46 @@ use PDOException; class NewsModel extends Database { + public function getNewsById($newsId) { + $pdo = $this->linkDB(); + $sql = "SELECT * FROM news WHERE newsid = :newsid;"; + $params = [":newsid" => $newsId]; + try { + $sth = $pdo->prepare($sql); + $sth->execute($params); + return $sth->fetch(\PDO::FETCH_ASSOC); + } catch (PDOException $e) { + new \Blog\Library\ErrorMsg("Fehler beim Lesen der News.", $e); + die; + } + } + + public function updateNews($newsId, $news) { + $pdo = $this->linkDB(); + $sql = "UPDATE news SET name = :name, beschreibung = :beschreibung, datum = :datum WHERE newsid = :newsid;"; + $params = [ + ":name" => $news['titel'], + ":beschreibung" => $news['inhalt'], + ":datum" => $news['datum'], + ":newsid" => $newsId + ]; + try { + $sth = $pdo->prepare($sql); + $sth->execute($params); + return $sth; + } catch (PDOException $e) { + new \Blog\Library\ErrorMsg("Fehler beim Aktualisieren der News.", $e); + die; + } + } + public function getNews() { $pdo = $this->linkDB(); $sql = "SELECT * FROM news ORDER BY datum DESC;"; try { $sth = $pdo->prepare($sql); $sth->execute(); - $erg = $sth->fetchAll(\PDO::FETCH_ASSOC); - return $erg; + return $sth->fetchAll(\PDO::FETCH_ASSOC); } catch (PDOException $e) { new \Blog\Library\ErrorMsg("Fehler beim Lesen der News.", $e); die; @@ -22,10 +54,10 @@ class NewsModel extends Database { public function createNews($news) { $pdo = $this->linkDB(); - $sql = "INSERT INTO news (`name`, `beschreibung`, `datum`) VALUES (:titel, :inhalt, :datum);"; + $sql = "INSERT INTO news (name, beschreibung, datum) VALUES (:name, :beschreibung, :datum);"; $params = [ - ":name" => $news['name'], - ":beschreibung" => $news['beschreibung'], + ":name" => $news['titel'], + ":beschreibung" => $news['inhalt'], ":datum" => $news['datum'] ]; try { diff --git a/Model/StandortModel.php b/Model/StandortModel.php index c4f08d9..8bbce96 100644 --- a/Model/StandortModel.php +++ b/Model/StandortModel.php @@ -8,14 +8,95 @@ class StandortModel extends Database { public function getStandorte() { $pdo = $this->linkDB(); - $sql = "SELECT * from standort ORDER BY ort;"; - + $sql = "SELECT * FROM Standort ORDER BY standortid ASC;"; try { $sth = $pdo->prepare($sql); $sth->execute(); return $sth->fetchAll(\PDO::FETCH_ASSOC); } catch (PDOException $e) { - new \Blog\Library\ErrorMsg("Fehler beim Lesen der Daten.", $e); + new \Blog\Library\ErrorMsg("Fehler beim Lesen der Standorte.", $e); + die; + } + } + + public function getStandort($standortid) { + $pdo = $this->linkDB(); + $sql = "SELECT * FROM Standort WHERE standortid = :standortid;"; + $params = [":standortid" => $standortid]; + try { + $sth = $pdo->prepare($sql); + $sth->execute($params); + return $sth->fetch(\PDO::FETCH_ASSOC); + } catch (PDOException $e) { + new \Blog\Library\ErrorMsg("Fehler beim Lesen des Standorts.", $e); + die; + } + } + + public function createStandort($data) { + $pdo = $this->linkDB(); + $sql = "INSERT INTO Standort (straße, hausnr, postleitzahl, ort, land, tel, email) + VALUES (:straße, :hausnr, :postleitzahl, :ort, :land, :tel, :email);"; + $params = [ + ":straße" => $data['straße'], + ":hausnr" => $data['hausnr'], + ":postleitzahl" => $data['postleitzahl'], + ":ort" => $data['ort'], + ":land" => $data['land'], + ":tel" => $data['tel'], + ":email" => $data['email'] + ]; + try { + $sth = $pdo->prepare($sql); + $sth->execute($params); + return $pdo->lastInsertId(); + } catch (PDOException $e) { + new \Blog\Library\ErrorMsg("Fehler beim Anlegen des Standorts.", $e); + die; + } + } + + public function updateStandort($standortid, $data) { + $pdo = $this->linkDB(); + $sql = "UPDATE Standort SET + straße = :straße, + hausnr = :hausnr, + postleitzahl = :postleitzahl, + ort = :ort, + land = :land, + tel = :tel, + email = :email + WHERE standortid = :standortid;"; + $params = [ + ":straße" => $data['straße'], + ":hausnr" => $data['hausnr'], + ":postleitzahl" => $data['postleitzahl'], + ":ort" => $data['ort'], + ":land" => $data['land'], + ":tel" => $data['tel'], + ":email" => $data['email'], + ":standortid" => $standortid + ]; + try { + $sth = $pdo->prepare($sql); + $sth->execute($params); + return $sth->rowCount(); + } catch (PDOException $e) { + new \Blog\Library\ErrorMsg("Fehler beim Aktualisieren des Standorts.", $e); + die; + } + } + + public function deleteStandort($standortid) { + $pdo = $this->linkDB(); + $sql = "DELETE FROM Standort WHERE standortid = :standortid;"; + $params = [":standortid" => $standortid]; + try { + $sth = $pdo->prepare($sql); + $sth->execute($params); + return $sth->rowCount(); + } catch (PDOException $e) { + new \Blog\Library\ErrorMsg("Fehler beim Löschen des Standorts.", $e); die; } } diff --git a/Model/TicketModel.php b/Model/TicketModel.php index e37628b..1d6f23a 100644 --- a/Model/TicketModel.php +++ b/Model/TicketModel.php @@ -6,45 +6,66 @@ use PDOException; class TicketModel extends Database { - public function buyTicket($values) { - $sql = "INSERT INTO ticket (`userId`, `eventId`, `kaufdatum`, `gueltigkeitsdatum`) VALUES ( - :userId, :eventId, :kaufdatum, :gueltigkeitsdatum);"; - + public function getTickets() { $pdo = $this->linkDB(); - $params = array( - ":userId" => $values['userId'], - ":eventId" => $values['eventId'], - ":kaufdatum" => $values['kaufdatum'], - ":gueltigkeitsdatum" => $values['gueltigkeitsdatum'] - ); - + $sql = "SELECT * FROM Ticket ORDER BY ticketid ASC;"; try { $sth = $pdo->prepare($sql); - $sth->execute($params); + $sth->execute(); + return $sth->fetchAll(\PDO::FETCH_ASSOC); } catch (PDOException $e) { - new \Blog\Library\ErrorMsg("Fehler beim Schreiben der Daten.", $e); + new \Blog\Library\ErrorMsg("Fehler beim Lesen der Tickets.", $e); die; } - - return true; } - public function hasTicket($userId, $eventId) { - $sql = "SELECT * FROM ticket WHERE userId = :userId AND eventId = :eventId"; - + public function buyTicket($data) { $pdo = $this->linkDB(); - $params = array( - ":userId" => $userId, - ":eventId" => $eventId, - ); - + $sql = "INSERT INTO Ticket (userid, eventid, kaufdatum, gültigkeitsdatum) + VALUES (:userid, :eventid, :kaufdatum, :gültigkeitsdatum);"; + $params = [ + ":userid" => $data['userid'], + ":eventid" => $data['eventid'], + ":kaufdatum" => $data['kaufdatum'], + ":gültigkeitsdatum" => $data['gültigkeitsdatum'] + ]; try { $sth = $pdo->prepare($sql); $sth->execute($params); - return $sth->fetchAll(\PDO::FETCH_ASSOC); - + return $pdo->lastInsertId(); } catch (PDOException $e) { - new \Blog\Library\ErrorMsg("Fehler beim Lesen der Daten.", $e); + new \Blog\Library\ErrorMsg("Fehler beim Kauf des Tickets.", $e); + die; + } + } + + public function hasTicket($userid, $eventid) { + $pdo = $this->linkDB(); + $sql = "SELECT COUNT(*) as count FROM Ticket WHERE userid = :userid AND eventid = :eventid;"; + $params = [ + ":userid" => $userid, + ":eventid" => $eventid + ]; + try { + $sth = $pdo->prepare($sql); + $sth->execute($params); + return $sth->fetch(\PDO::FETCH_ASSOC); + } catch (PDOException $e) { + new \Blog\Library\ErrorMsg("Fehler bei der Ticketprüfung.", $e); + die; + } + } + + public function deleteTicket($ticketid) { + $pdo = $this->linkDB(); + $sql = "DELETE FROM Ticket WHERE ticketid = :ticketid;"; + $params = [":ticketid" => $ticketid]; + try { + $sth = $pdo->prepare($sql); + $sth->execute($params); + return $sth->rowCount(); + } catch (PDOException $e) { + new \Blog\Library\ErrorMsg("Fehler beim Löschen des Tickets.", $e); die; } } diff --git a/Views/Event/createEvent.phtml b/Views/Event/createEvent.phtml index 93a0db1..b0376d4 100644 --- a/Views/Event/createEvent.phtml +++ b/Views/Event/createEvent.phtml @@ -4,7 +4,7 @@ include dirname(__DIR__).'/header.phtml';

Das Event "" wurde erfolgreich erstellt!

- Weiter + Weiter
diff --git a/Views/Event/deleteEvent.phtml b/Views/Event/deleteEvent.phtml new file mode 100644 index 0000000..4a7ce55 --- /dev/null +++ b/Views/Event/deleteEvent.phtml @@ -0,0 +1,12 @@ + + +
+

Das Event mit der id"" wurde erfolgreich gelöscht!

+ Weiter +
+ + + + \ No newline at end of file diff --git a/Views/Event/updateEvent.phtml b/Views/Event/updateEvent.phtml index 48f2d78..32c1acf 100644 --- a/Views/Event/updateEvent.phtml +++ b/Views/Event/updateEvent.phtml @@ -4,7 +4,7 @@ include dirname(__DIR__).'/header.phtml';

Das Event mit der ID "" wurde erfolgreich bearbeitet!

- Weiter + Weiter
diff --git a/Views/Gutschein/createGutschein.phtml b/Views/Gutschein/createGutschein.phtml new file mode 100644 index 0000000..6d85614 --- /dev/null +++ b/Views/Gutschein/createGutschein.phtml @@ -0,0 +1 @@ +echo "create gutschein" \ No newline at end of file diff --git a/Views/Gutschein/showGutscheine.phtml b/Views/Gutschein/showGutscheine.phtml new file mode 100644 index 0000000..6824976 --- /dev/null +++ b/Views/Gutschein/showGutscheine.phtml @@ -0,0 +1,35 @@ + + +

Alle Gutscheine

+ Neuen Gutschein anlegen + + + + + + + + + + + + + + + + + + + + + + +
CodeRabatt (%)Event-IDGültig bisAktionen
+ Bearbeiten | + Löschen +
+ +

Keine Gutscheine vorhanden.

+ + + \ No newline at end of file diff --git a/Views/Ticket/hasTicket.phtml b/Views/Ticket/hasTicket.phtml deleted file mode 100644 index c076676..0000000 --- a/Views/Ticket/hasTicket.phtml +++ /dev/null @@ -1,11 +0,0 @@ - - -
-

TEST

-
- - - - \ No newline at end of file