Skip to content
Snippets Groups Projects
Commit 78a6a33a authored by stckvrflw's avatar stckvrflw
Browse files

feat: premium status display: unregistered, pending, accepted, rejected

parent 6e032dde
Branches
Tags
No related merge requests found
......@@ -8,12 +8,10 @@ use app\models\SoapPremiumModel;
use Exception;
class SoapPremiumController extends BaseController {
public $model;
// public $soap_client;
private $model;
public function __construct() {
$this->model = SoapPremiumModel::getInstance();
// $this->soap_client = $this->model->getSoapClient();
}
public function checkStatus($params){
......@@ -25,9 +23,8 @@ class SoapPremiumController extends BaseController {
$uri = Request::getURL();
if($uri == '/premium-status'){
$params = ["userId" => 1];
$params = ["userId" => $_SESSION['user_id']];
$result = $this->checkStatus($params);
// response::send_json_response($result->userStatus);
$data['userStatus'] = $result->userStatus;
parent::render($data, 'premium-status', "layouts/base");
......@@ -39,6 +36,18 @@ 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");
}
else{
throw new Exception("Invalid Email");
}
}
else{
throw new Exception("Invalid URL");
}
}
}
\ No newline at end of file
......@@ -30,20 +30,24 @@
}
return self::$instance;
}
// public function getSoapClient()
// {
// return $this->soapclient;
// }
public function registerPremium($params)
{
return $this->soapclient->registerPremium($params);
}
public function checkStatus($params)
{
return $this->soapclient->checkStatus($params);
}
// public function getFunctions()
// {
// return $this->soapclient->__getFunctions();
// }
// public function getTypes()
// {
// return $this->soapclient->__getTypes();
// }
public function cancelRegister($params){
return $this->soapclient->cancelRegister($params);
}
public function approvePremium($params){
return $this->soapclient->approvePremium($params);
}
public function getAllPremium($params){
return $this->soapclient->getAllPremium($params);
}
public function getAllPending($params){
return $this->soapclient->getAllPending($params);
}
}
\ No newline at end of file
<div class='details'>
<div class='premium-status'>
<h2 id="goBack"><a class='back-button' href="/films"><?php echo "< Films" ?></a></h2>
<h1>Premium Status<h1>
<?php echo $data["userStatus"]?>
</div>
<br>
<p>Current: <?php $result = $data["userStatus"]; echo $result;?></p>
<br>
<?php
if($result == "REJECTED" || $result == "UNREGISTERED") { ?>
<form method="post" action="/premium-status">
<label for="email">Email:</label>
<input type="email" id="email" name="email" required>
<button type="submit">Register for Premium</button>
</form>
<?php } elseif($result == "PENDING") { ?>
<div class="pending">
<p>Your request is pending. Please wait for the admin to approve your request.</p>
<p>Click <a href="/premium-status">here</a> to refresh the page.</p>
</div>
<?php } ?>
</div>
\ No newline at end of file
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment