public function execute($filterChain) { /* Populating enabled modules */ $disabledModules = array(); if ($this->getContext()->getUser()->hasAttribute("admin.disabledModules")) { $disabledModules = $this->getContext()->getUser()->getAttribute("admin.disabledModules"); } else { $moduleService = new ModuleService(); $disabledModuleList = $moduleService->getDisabledModuleList(); foreach ($disabledModuleList as $module) { $disabledModules[] = $module->getName(); } $this->getContext()->getUser()->setAttribute("admin.disabledModules", $disabledModules); } /* Checking request with disabled modules */ $request = $this->getContext()->getRequest(); if (in_array($request['module'], $disabledModules)) { header("HTTP/1.0 404 Not Found"); die; } /* Continuing the filter chain */ $filterChain->execute(); }