public function __invoke(Request $request, \Page $page) { $app = $this->app; $pageRevision = $page->getPageRevision(); // @todo: these are currently unused :S $vars = array(); $options = array(); // Find language $language = $page->getInheritedProperty('Language'); $fallbackLanguage = $app['fallbackLanguage']; if (!$language && $fallbackLanguage) { $app->logger->debug('Using fallback language'); $language = $fallbackLanguage; } // Set language if ($language) { $locale = \Curry_Language::setLanguage($language); $language = \Curry_Language::getLanguage(); if ($language) { $app->logger->debug('Current language is now ' . $language->getName() . ' (with locale ' . $locale . ')'); } } else { $app->logger->debug('Language not set for page'); } // Attempt to render page $app->logger->debug('Showing page ' . $page->getName() . ' (PageRevisionId: ' . $pageRevision->getPageRevisionId() . ')'); $generator = AbstractGenerator::create($app, $pageRevision); return $generator->render($vars, $options); }
public function onKernelException(GetResponseForExceptionEvent $event) { $exception = $event->getException(); if ($exception instanceof NotFoundHttpException) { // we don't need to explicitly set 404 status, HttpKernel will do this for us. if ($this->app['errorPage.notFound'] && ($page = \PageQuery::create()->findPk($this->app['errorPage.notFound']))) { $generator = AbstractGenerator::create($this->app, $page->getActivePageRevision()); $event->setResponse($generator->render()); } else { $event->setResponse(new Response('Page not found')); } } }
public function __invoke($message, $page = null) { if ($page !== null && ($page = \PageQuery::create()->findPk($page))) { // @todo set global maintenance message variable //$vars['curry']['MaintenanceMessage'] = $message; $generator = AbstractGenerator::create($this->app, $page->getActivePageRevision()); $response = $generator->render(); } else { $response = Response::create($message); } $response->setStatusCode(503); $response->headers->set('Retry-After', '3600'); return $response; }