protected function _routeModule() { $vers = Request::get('vers', 'int', false); $showRevision = false; $pageCode = $this->_request->getPart(0); if (!strlen($pageCode)) { $pageCode = 'index'; } $pageData = Model::factory('Page')->getCachedItemByField('code', $pageCode); if (empty($pageData)) { Response::redirect('/'); } $cacheManager = new Cache_Manager(); $cache = $cacheManager->get('data'); $blockManager = false; if ($vers) { $user = User::getInstance(); if ($user->isAuthorized() && $user->isAdmin()) { $pageData = array_merge($pageData, Model::factory('Vc')->getData('page', $pageData['id'], $vers)); $showRevision = true; } else { $vers = false; } } if (!$vers && $cache) { Blockmanager::setDefaultCache($cache); } if ($pageData['published'] == false && !$showRevision) { Response::redirect('/'); } $page = Page::getInstance(); foreach ($pageData as $k => $v) { $page->{$k} = $v; } /** * Check if controller attached */ if (strlen($page->func_code)) { $fModules = Config::factory(Config::File_Array, $this->_appConfig->get('frontend_modules')); if ($fModules->offsetExists($page->func_code)) { $controllerConfig = $fModules->get($page->func_code); $this->runController($controllerConfig['class'], $this->_request->getPart(1)); } } if (!$vers && $cache) { Blockmanager::setDefaultCache($cache); } $blockManager = new Blockmanager(); if ($page->show_blocks) { $blockManager->init($page->id, $page->default_blocks, $vers); } $this->showPage($page, $blockManager); }