public function view($pageId, $languageId, $pageNumber) { Wasabi::loadLanguages($languageId); $this->loadModel('Wasabi/Cms.Pages'); $page = $this->Pages->getForFrontend($pageId); $startPage = $this->Pages->getStartPage(); $titleSuffix = Configure::read('Settings.Core.html_title_suffix'); $instanceName = Configure::read('Settings.Core.instance_name'); WasabiCms::page($page); WasabiCms::startPage($startPage); WasabiCms::titleSuffix($titleSuffix); WasabiCms::instanceName($instanceName); $page->initializeContentAreas(); $this->viewBuilder()->theme($page->getTheme()->getNameForViewBuilder()); $this->viewBuilder()->layout($page->getLayout()->name()); $this->viewBuilder()->className($page->getTheme()->getViewClassNameForViewBuilder()); $this->set(['page' => $page]); }
/** * beforeFilter callback * * @param Event $event An Event instance. * @return void */ public function beforeFilter(Event $event) { parent::beforeFilter($event); $this->Auth->deny(); if (!$this->Auth->user()) { $this->Auth->config('authError', false); } else { Wasabi::user(new User($this->Auth->user())); $currentUrlArray = Wasabi::getCurrentUrlArray(); $currentRequestPath = join('.', [$currentUrlArray['plugin'], $currentUrlArray['controller'], $currentUrlArray['action']]); if (!$this->request->is('ajax') || $currentRequestPath !== 'Wasabi/Core.Users.heartBeat') { $this->request->session()->write('loginTime', time()); } } $this->_allow(); Wasabi::loadLanguages(null, true); // Load all menu items from all plugins. $this->eventManager()->dispatch(new Event('Wasabi.Backend.Menu.initMain', Nav::createMenu('backend.main'))); $this->_setSectionCssClass(); $this->set('heartBeatFrequency', $this->_calculateHeartBeatFrequency()); if ($this->request->is('ajax')) { $this->viewClass = null; } }