diff --git a/src/App.php b/src/App.php index c3639bba338624278257f23813ffcd71c634e9a6..01031c1e945b25c7fdc50c7dba167e428324cd5a 100644 --- a/src/App.php +++ b/src/App.php @@ -51,5 +51,7 @@ class App $this->router->addRoute('/my-reviews', ProfileController::class); $this->router->addRoute('/user-dashboard', UserDashboardController::class); $this->router->addRoute('/premium-status', SoapPremiumController::class); + $this->router->addRoute('/register-premium', SoapPremiumController::class); + $this->router->addRoute('/cancel-premium', SoapPremiumController::class); } } diff --git a/src/controllers/SoapPremiumController.php b/src/controllers/SoapPremiumController.php index 9b8d6b3f8594f11945a7beab86661949b64e1cb0..351d1e99a5ec4e3b5958b36d3a947a87377551b0 100644 --- a/src/controllers/SoapPremiumController.php +++ b/src/controllers/SoapPremiumController.php @@ -36,18 +36,34 @@ class SoapPremiumController extends BaseController { protected function post($urlParams) { - if(isset($_POST['email'])){ - $params = ["userId" => $_SESSION['user_id'], "email" => $_POST['email']]; - $result = $this->model->registerPremium($params); - if($result->status == "success"){ - header("Location: /premium-status"); + $uri = Request::getURL(); + + if($uri == '/register-premium'){ + if(isset($_POST['email'])){ + $params = ["userId" => $_SESSION['user_id'], "email" => $_POST['email']]; + $result = $this->model->registerPremium($params); + // if($result->status == "success"){ + header("Location: /premium-status"); + // } + // else{ + // throw new Exception("Invalid Email"); + // } } else{ - throw new Exception("Invalid Email"); + throw new Exception("Invalid URL"); } } - else{ - throw new Exception("Invalid URL"); + + if($uri == '/cancel-premium'){ + $params = ["userId" => $_SESSION['user_id']]; + $result = $this->model->cancelRegister($params); + // if($result->status == "success"){ + $data['premiumCancelMessage'] = $result->responseCancel; + header("Location: /premium-status"); + // } + // else{ + // throw new Exception("Invalid URL"); + // } } } } \ No newline at end of file diff --git a/views/premium-status.php b/views/premium-status.php index 679ae7fdc1802e0fbff27817378565413ee67d49..61b395960e471781bccb1a5af5a639c15dfe6cfb 100644 --- a/views/premium-status.php +++ b/views/premium-status.php @@ -4,9 +4,13 @@ <br> <p>Current: <?php $result = $data["userStatus"]; echo $result;?></p> <br> + <p>Click <a href="/premium-status">here</a> to refresh the page.</p> + <?php if(isset($data["premiumCancelMessage"])) { ?> + <p><?php echo $data["premiumCancelMessage"]; unset($data["premiumCancelMessage"]);?></p> + <?php } ?> <?php if($result == "REJECTED" || $result == "UNREGISTERED") { ?> - <form method="post" action="/premium-status"> + <form method="post" action="/register-premium"> <label for="email">Email:</label> <input type="email" id="email" name="email" required> <button type="submit">Register for Premium</button>