diff --git a/app/controllers/PremiumController.php b/app/controllers/PremiumController.php index a3cda802b24a350643904e2c4255d79ae3f71658..95dcbbc54d90a70386460c65af177ea3db6914a7 100644 --- a/app/controllers/PremiumController.php +++ b/app/controllers/PremiumController.php @@ -10,16 +10,50 @@ class PremiumController extends Controller implements ControllerInterface // TODO: PARAMS ROUTING public function index() { + if (!isset($_SESSION['username'])) { + http_response_code(301); + header("Location: /user/login", true, 301); + exit; + } $premiumView = $this->view('premium', 'PremiumView'); $premiumView->render(); } - public function detail() - { - $premiumView = $this->view('premium', 'CollectionDetailView'); - $premiumView->render(); + public function detail($params = null){ + if (!isset($_SESSION['username'])) { + http_response_code(301); + header("Location: /user/login", true, 301); + exit; + } + try { + switch ($_SERVER['REQUEST_METHOD']) { + case 'GET': + $collectionId = (int)$params; + // User + if(isset($_SESSION['username'])){ + $userData = $this->model('UserModel'); + $user = $userData->getUserByUsername($_SESSION['username']); + $username = $user['username']; + $nav = ['username'=>$username]; + }else{ + $nav = ['username'=>null]; + } + $premiumView = $this->view('premium', 'CollectionDetailView', array_merge($nav, ['collectionId'=>$collectionId])); + $premiumView->render(); + break; + default: + throw new RequestException('Method Not Allowed', 405); + } + } catch (Exception $e) { + http_response_code($e->getCode()); + exit; + } } - public function book() - { + public function book($params=null){ + if (!isset($_SESSION['username'])) { + http_response_code(301); + header("Location: /user/login", true, 301); + exit; + } $premiumView = $this->view('premium', 'PremiumBookDetailView'); $premiumView->render(); }