/** * Launches the MVC framework */ public static function go() { Logging::log('Dispatching'); try { if ($route = self::getRouting()->getRouteFromUrl(self::getRequest()->getParameter('url', null, false))) { if (self::$_redirect_login) { Logging::log('An error occurred setting up the user object, redirecting to login', 'main', Logging::LEVEL_NOTICE); self::setMessage('login_message_err', self::geti18n()->__('Please log in')); self::getResponse()->headerRedirect(self::getRouting()->generate('login_page'), 403); } if (self::performAction($route['module'], $route['action'])) { return true; } } else { self::performAction('main', 'notFound'); } } catch (TemplateNotFoundException $e) { header("HTTP/1.0 404 Not Found", true, 404); throw $e; } catch (ActionNotFoundException $e) { header("HTTP/1.0 404 Not Found", true, 404); throw $e; //('Module action "' . $route['action'] . '" does not exist for module "' . $route['module'] . '"', $e); } catch (CSRFFailureException $e) { self::$_response->setHttpStatus(301); $message = $e->getMessage(); if (self::getRequest()->getRequestedFormat() == 'json') { self::$_response->setContentType('application/json'); $message = json_encode(array('message' => $message)); } self::$_response->renderHeaders(); echo $message; } catch (\Exception $e) { header("HTTP/1.0 500 Not Found", true, 404); throw $e; } }