Example #1
0
 /**
  * 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;
     }
 }