From c94c0fed7bb72a41a208abadf583ddb16ed020f0 Mon Sep 17 00:00:00 2001 From: Henrik Hautakoski Date: Wed, 10 Oct 2018 00:19:58 +0200 Subject: [PATCH] app/listeners/AccessListener.php: implement modules. --- app/listeners/AccessListener.php | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/app/listeners/AccessListener.php b/app/listeners/AccessListener.php index dc2366e..e51301c 100644 --- a/app/listeners/AccessListener.php +++ b/app/listeners/AccessListener.php @@ -34,8 +34,7 @@ class AccessListener extends Plugin $role = Acl::ROLE_GUEST; } - // Get the resource from controller name. - $resource = $dispatcher->getControllerName(); + $resource = $this->_getCurrentResource($dispatcher); // Ignore checks for error resource. if (in_array($resource, $this->_ignored_resources)) { @@ -70,4 +69,15 @@ class AccessListener extends Plugin } return true; } + + protected function _getCurrentResource($dispatcher) + { + // If default module, only fetch controller name. + if (strlen($dispatcher->getModuleName()) < 1) { + return $dispatcher->getControllerName(); + } + + // Otherwise, we follow the syntax "/" + return "{$dispatcher->getModuleName()}/{$dispatcher->getControllerName()}"; + } }