From 52a5ebea3a6e486c482f2de55e971dee525a4641 Mon Sep 17 00:00:00 2001 From: Christian Wolf Date: Fri, 14 Jun 2019 14:53:37 +0200 Subject: [PATCH] Relocation of some code to simplify ACL later --- src/site/clubs.php | 3 +++ src/site/controller.php | 46 +++++++++++++++++++++++++++++++--- src/site/controllers/login.php | 2 -- src/site/helpers/auth.php | 6 +++++ 4 files changed, 52 insertions(+), 5 deletions(-) diff --git a/src/site/clubs.php b/src/site/clubs.php index c82b1dc..27103ab 100644 --- a/src/site/clubs.php +++ b/src/site/clubs.php @@ -7,6 +7,9 @@ use Joomla\CMS\Factory; defined('_JEXEC') or die; JLoader::discover('Clubs', JPATH_ROOT . '/administrator/components/com_clubs/mymodels'); + +JLoader::register("ClubsHelperAuth", JPATH_ROOT . "/components/com_clubs/helpers/auth.php"); + JLoader::registerPrefix('AbstractClubs', JPATH_ROOT . '/administrator/components/com_clubs/abstract'); JLoader::registerPrefix('AbstractCommonClubs', JPATH_ROOT . '/administrator/components/com_clubs/common/abstract'); diff --git a/src/site/controller.php b/src/site/controller.php index 6f76b47..b61c507 100644 --- a/src/site/controller.php +++ b/src/site/controller.php @@ -1,6 +1,7 @@ input->getCmd('view'); + + // Most of the pages can only be viewd as a logged-in user + if($auth->isValidUserLoggedIn()) + { + if($this->isUrlAllowed($view)) + { + parent::display($cachable, $params); + return; + } + else + { + // User is not allowed to see the site, give useful information + } + } + else + { + if($view === 'login' || $view === 'publicclubs') + { + parent::display($cachable, $params); + return; + } + else + { + // User needs to login in order to see the site + $this->redirectToLogin(); + } + } + + $this->redirectToLogin(); } - public function foo() + private function redirectToLogin() { - echo "dsfh"; + // XXX Attach URL to forward later + $this->setRedirect('index.php?opion=com_clubs&view=login'); + } + + private function isUrlAllowed($view) + { + // FIXME Insert ACLs checking here + return true; } } diff --git a/src/site/controllers/login.php b/src/site/controllers/login.php index 5d644c7..96c438d 100644 --- a/src/site/controllers/login.php +++ b/src/site/controllers/login.php @@ -6,8 +6,6 @@ use Joomla\CMS\Factory; // No direct access. defined('_JEXEC') or die; -JLoader::register("ClubsHelperAuth", JPATH_ROOT . "/components/com_clubs/helpers/auth.php"); - class ClubsControllerLogin extends BaseController { public function login() diff --git a/src/site/helpers/auth.php b/src/site/helpers/auth.php index 1489488..481c47a 100644 --- a/src/site/helpers/auth.php +++ b/src/site/helpers/auth.php @@ -9,6 +9,12 @@ defined('_JEXEC') or die; class ClubsHelperAuth { + public function isValidUserLoggedIn() + { + // FIXME + return true; + } + public function checkUser($user, $pwd) { $userModel = BaseDatabaseModel::getInstance("user", "ClubsModel");