/** * Returns all access levels * * @access public * @return array */ public function getAccessLevels() { // Give the modules the opportunity to add additional access levels $runtimeManager = $this->framework->getRuntimeManager(); $accessLevels = $runtimeManager->executeFilter('\\Zepi\\Core\\AccessControl\\Filter\\AccessLevelManager\\RegisterAccessLevels', $this->accessLevels); return $accessLevels; }
/** * Returns the framework manager for the given class name * * @param string $className * @return object * * @throws \Zepi\Turbo\Exception Cannot find framework manager "{className}". */ protected function getFrameworkManager($className) { switch ($className) { case 'Zepi\\Turbo\\Manager\\DataSourceManager': return $this->framework->getDataSourceManager(); break; case 'Zepi\\Turbo\\Manager\\DependencyInjectionManager': return $this->framework->getDependencyInjectionManager(); break; case 'Zepi\\Turbo\\Manager\\ModuleManager': return $this->framework->getModuleManager(); break; case 'Zepi\\Turbo\\Manager\\RequestManager': return $this->framework->getRequestManager(); break; case 'Zepi\\Turbo\\Manager\\RouteManager': return $this->framework->getRouteManager(); break; case 'Zepi\\Turbo\\Manager\\RuntimeManager': return $this->framework->getRuntimeManager(); break; default: throw new Exception('Cannot find framework manager "' . $className . '".'); break; } }
/** * The RebuildFrameworkCache event handler deletes the events and routes * cache and executes the activation method on all modules. * * @access public * @param \Zepi\Turbo\Framework $framework * @param \Zepi\Turbo\Request\CliRequest $request * @param \Zepi\Turbo\Response\Response $response */ public function execute(Framework $framework, CliRequest $request, Response $response) { $framework->getRuntimeManager()->clearCache(false); $framework->getRouteManager()->clearCache(false); $framework->getModuleManager()->reactivateModules(); $response->setOutputPart('cacheCleared', 'The cache was successfully cleared and rebuilt!'); }
/** * Activates the correct menu entry based on the event which is active. * * @access public */ public function activateCorrectMenuEntry() { $runtimeManager = $this->framework->getRuntimeManager(); // Execute the pre search correct menu entry event. $runtimeManager->executeEvent('\\Zepi\\Web\\General\\Event\\MenuManager\\RegisterAdditionalMenuEntries'); // Search the correct menu entry, if no menu entry is set if ($this->activeMenuEntry == null) { $menuEntry = $this->searchCorrectMenuEntry(); if ($menuEntry !== false) { $this->activeMenuEntry = $menuEntry; } } // Execute the post search correct menu entry event $runtimeManager->executeEvent('\\Zepi\\Web\\General\\Event\\MenuManager\\PostSearchCorrectMenuEntry'); // Activate the menu entry if ($this->activeMenuEntry !== null) { $this->activeMenuEntry->setActive(true); } }