From e5dd6bded26702a82f34d4fd9010a7e81efad69c Mon Sep 17 00:00:00 2001 From: Podlesnov Phedor Date: Wed, 26 May 2021 15:33:52 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A0=D0=B0=D0=B7=D0=B4=D0=B5=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20=D0=BF=D1=80=D0=B0=D0=B2=20=D0=BF=D0=BE=20?= =?UTF-8?q?=D1=84=D0=B0=D0=B9=D0=BB=D0=B0=D0=BC=20=D0=BC=D0=BE=D0=B4=D1=83?= =?UTF-8?q?=D0=BB=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Controller/Front.php | 8 +++----- src/Filter/ActionAccess.php | 4 +++- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/Controller/Front.php b/src/Controller/Front.php index 6574d04..ed5aee2 100644 --- a/src/Controller/Front.php +++ b/src/Controller/Front.php @@ -47,11 +47,8 @@ class Controller_Front extends Controller_Action return $module->access->execute($request); } - if ($controller) { - $moduleFile = Shortcut::getUrl($this->shortcut, $name, $controller); // ModuleLoader (2) - } else { - $moduleFile = Shortcut::getUrl($this->shortcut, $name, $name); // ModuleLoader (2) - } + $suffix = ($controller) ? $controller : $name; + $moduleFile = Shortcut::getUrl($this->shortcut, $name, $suffix); // ModuleLoader (2) $module = $this->loadClass($moduleFile, null, 'Module_'); if ($module) { @@ -75,6 +72,7 @@ class Controller_Front extends Controller_Action $logger->before = $this->loadSettings(Shortcut::getUrl('logger', $name)); // Управление доступом $module->access = $this->loadClass(__DIR__ . '/../Filter/ActionAccess.php', $logger, 'Filter_'); + $module->access->name = $suffix; $module->access->access = $this->loadSettings(Shortcut::getUrl('access', $name)); $module->setUp(); diff --git a/src/Filter/ActionAccess.php b/src/Filter/ActionAccess.php index 9b0b9f0..8f21d21 100644 --- a/src/Filter/ActionAccess.php +++ b/src/Filter/ActionAccess.php @@ -7,6 +7,7 @@ class Filter_ActionAccess { public $access = array(); public $processor; + public $name; function __construct($processor/*: Filter_Filter*/) { $this->processor = $processor; @@ -19,7 +20,8 @@ class Filter_ActionAccess */ function checkAction($action) { // Импликация !! http://ru.wikipedia.org/wiki/Импликация - return (!isset($this->access[$action]) || in_array(Filter_UserAccess::$access, $this->access[$action])); + $name = $this->name; + return (!isset($this->access[$name][$action]) || in_array(Filter_UserAccess::$access, $this->access[$name][$action])); } function execute(HttpRequest $request) {