From 6a133b7e15bda6fb0715722751f8f157bac9705b Mon Sep 17 00:00:00 2001
From: Bitha17 <16521076@mahasiswa.itb.ac.id>
Date: Wed, 4 Oct 2023 22:08:25 +0700
Subject: [PATCH] adding router and request handlers to controllers

---
 app/Controllers/EventController.php  | 10 ++++++++++
 app/Controllers/TicketController.php | 10 ++++++++++
 app/Controllers/UserController.php   | 17 +++++++++++++++++
 app/router.php                       | 24 ++++++++++++++++++++++++
 4 files changed, 61 insertions(+)
 create mode 100644 app/router.php

diff --git a/app/Controllers/EventController.php b/app/Controllers/EventController.php
index 7e43171..f5b19aa 100644
--- a/app/Controllers/EventController.php
+++ b/app/Controllers/EventController.php
@@ -54,5 +54,15 @@ class EventController {
         }
     }
 
+    public function handleRequest() {
+        if (isset($_GET['action'])) {
+            if ($_GET['action'] === 'purchaseTicket') {
+                
+            } else {
+                // Handle other actions here, if needed
+            }
+        }
+    }
+
 }
 ?>
\ No newline at end of file
diff --git a/app/Controllers/TicketController.php b/app/Controllers/TicketController.php
index 8e65e81..b275ad9 100644
--- a/app/Controllers/TicketController.php
+++ b/app/Controllers/TicketController.php
@@ -32,5 +32,15 @@ class TicketController {
         
         include(__DIR__ . '/../Views/pembelian/pembelian.php');
     }
+
+    public function handleRequest() {
+        if (isset($_GET['action'])) {
+            if ($_GET['action'] === 'purchaseTicket') {
+                
+            } else {
+                // Handle other actions here, if needed
+            }
+        }
+    }
 }
 ?>
diff --git a/app/Controllers/UserController.php b/app/Controllers/UserController.php
index f644678..c4f59a2 100644
--- a/app/Controllers/UserController.php
+++ b/app/Controllers/UserController.php
@@ -65,5 +65,22 @@ class UserController {
         }
     }
 
+    public function handleRequest() {
+        if (isset($_POST['userAction'])) {
+            if ($_POST['userAction'] === 'login') {
+                unset($_POST['userAction']);
+                $emailOrUsername = $_POST['loginIdentifier'];
+                $password = $_POST['loginPassword'];
+                if (filter_var($emailOrUsername, FILTER_VALIDATE_EMAIL)){
+                    echo $this->loginByEmail($emailOrUsername, $password);
+                } else {
+                    echo $this->loginByUsername($emailOrUsername,$password);
+                }
+            } else {
+                // Handle other actions here, if needed
+            }
+        }
+    }
+
 }
 ?>
diff --git a/app/router.php b/app/router.php
new file mode 100644
index 0000000..3239b92
--- /dev/null
+++ b/app/router.php
@@ -0,0 +1,24 @@
+<?php
+
+require_once './Controllers/PembelianController.php';
+require_once './Controllers/TicketController.php';
+require_once './Controllers/UserController.php';
+require_once './Controllers/EventController.php';
+
+$eventController = new EventController();
+$pembelianController = new PembelianController();
+$ticketController = new TicketController();
+$userController = new UserController();
+
+if ($_SERVER["REQUEST_METHOD"] == "POST") {
+    if (isset($_POST["eventAction"])) {
+        $eventController->handleRequest();
+    } elseif (isset($_POST["ticketAction"])) {
+        $ticketController->handleRequest();
+    } elseif (isset($_POST["userAction"])) {
+        $userController->handleRequest();
+    } elseif (isset($_POST["purchaseAction"])) {
+        $pembelianController->handleRequest();
+    }
+}
+?>
\ No newline at end of file
-- 
GitLab