diff --git a/src/App.php b/src/App.php index 01031c1e945b25c7fdc50c7dba167e428324cd5a..1b49c6116e0b177369f3bfdad4f161a39b5a1873 100644 --- a/src/App.php +++ b/src/App.php @@ -53,5 +53,7 @@ class App $this->router->addRoute('/premium-status', SoapPremiumController::class); $this->router->addRoute('/register-premium', SoapPremiumController::class); $this->router->addRoute('/cancel-premium', SoapPremiumController::class); + $this->router->addRoute('/approve-premium', SoapPremiumController::class); + $this->router->addRoute('/reject-premium', SoapPremiumController::class); } } diff --git a/src/controllers/SoapPremiumController.php b/src/controllers/SoapPremiumController.php index ba6e55888707934f9d17c4545c7f1ae7dcf1131d..d4b84cf3d3f6196553d94c5978ec88441680e7fc 100644 --- a/src/controllers/SoapPremiumController.php +++ b/src/controllers/SoapPremiumController.php @@ -24,7 +24,27 @@ class SoapPremiumController extends BaseController { if($uri == '/premium-status'){ if (isset($_SESSION['role']) and $_SESSION['role'] == 'admin'){ - $data["premium_users"] = $this->model->getAllPremium()->listUserPremium; + $premiumTemp = $this->model->getAllPremium()->listUserPremium; + if(!empty($premiumTemp)){ + if(!is_array($premiumTemp)){ + $premiumTemp = [$premiumTemp]; + } + else{ + $premiumTemp = $premiumTemp; + } + $data["premium_users"] = $premiumTemp; + } + + $pendingTemp = $this->model->getAllPending()->listUserPending; + if(!empty($pendingTemp)){ + if(!is_array($pendingTemp)){ + $pendingTemp = [$pendingTemp]; + } + else{ + $pendingTemp = $pendingTemp; + } + $data["pending_users"] = $pendingTemp; + } parent::render($data, 'premium-status', "layouts/base"); } else{ @@ -75,5 +95,27 @@ class SoapPremiumController extends BaseController { // throw new Exception("Invalid URL"); // } } + elseif($uri == '/approve-premium'){ + $params = ["userId" => $_POST['user_id']]; + $result = $this->model->approvePremium($params); + // if($result->status == "success"){ + $data['premiumAcceptMessage'] = $result->approvalResponse; + header("Location: /premium-status"); + // } + // else{ + // throw new Exception("Invalid URL"); + // } + } + elseif($uri == '/reject-premium'){ + $params = ["userId" => $_POST['user_id']]; + $result = $this->model->rejectPremium($params); + // if($result->status == "success"){ + $data['premiumRejectMessage'] = $result->rejectionResponse; + 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 c3fe987bf6ca5c63a9975278703d8cdeb75c2e57..bfa42f9c2132bd1c49df161763e51ba008ec76aa 100644 --- a/views/premium-status.php +++ b/views/premium-status.php @@ -1,6 +1,6 @@ <?php if (isset($_SESSION['role']) and $_SESSION['role'] == 'admin') { ?> + <!-- ADMIN USERS --> <div class='premium-status-admin'> - <h2 id="goBack"><a class='back-button' href="/admin-dashboard"><?php echo "< Admin Dashboard" ?></a></h2> <table> <thead> <tr> @@ -18,40 +18,46 @@ <input type="hidden" name="user_id" value="<?php echo $user->id; ?>"> <button type="submit">Cancel Premium</button> </form> - <?php } elseif($user->premiumStatus == "PENDING") { ?> - <p>Pending</p> - <?php } else { ?> - <form method="post" action="/register-premium"> - <input type="hidden" name="user_id" value="<?php echo $user->id; ?>"> - <button type="submit">Accept Premium</button> - </form> <?php } ?> </td> </tr> - <?php } else { $user = $data["premium_users"];?> - <tr> - <td><?php echo $user->userEmail; ?></td> - <td> - <?php if($user->premiumStatus == "ACCEPTED") { ?> - <form method="post" action="/cancel-premium"> - <input type="hidden" name="user_id" value="<?php echo $user->id; ?>"> - <button type="submit">Cancel Premium</button> - </form> - <?php } elseif($user->premiumStatus == "PENDING") { ?> - <p>Pending</p> - <?php } else { ?> - <form method="post" action="/register-premium"> - <input type="hidden" name="user_id" value="<?php echo $user->id; ?>"> - <button type="submit">Accept Premium</button> - </form> - <?php } ?> - </td> - </tr> - <?php } ?> + <?php }?> + </tbody> + </table> + <br><p>Pending Users</p><br> + <table> + <thead> + <tr> + <th>Username</th> + <th>Action</th> + </tr> + </thead> + <tbody> + <?php if(isset($data["pending_users"])) { ?> + <?php var_dump($data["pending_users"]); ?> + <?php if(is_array($data["pending_users"])) foreach($data["pending_users"] as $user) { ?> + <tr> + <td><?php echo $user->userEmail; ?></td> + <td> + <?php if($user->premiumStatus == "PENDING") { ?> + <form method="post" action="/approve-premium"> + <input type="hidden" name="user_id" value="<?php echo $user->id; ?>"> + <button type="submit">Accept Premium</button> + </form> + <form method="post" action="/reject-premium"> + <input type="hidden" name="user_id" value="<?php echo $user->id; ?>"> + <button type="submit">Reject Premium</button> + </form> + <?php } ?> + </td> + </tr> + <?php } ?> + <?php } unset($data["pending_users"]);?> </tbody> </table> </div> <?php } else { ?> + <!-- REGULAR USERS --> <div class='premium-status'> <h2 id="goBack"><a class='back-button' href="/films"><?php echo "< Films" ?></a></h2> <h1>Premium Status<h1>