X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=modules%2Fcore.php;h=d0168b295b5eb9441ec3e77b39d5b4adc4d83151;hb=8f73b86b487c3146fb02b9a40e870bbaf34424a7;hp=9f268a9a4aeb10ccd749e0228b8ad2fc45ba7d07;hpb=bc02ceca4595728711127a2317d35e8cfc934918;p=platal.git diff --git a/modules/core.php b/modules/core.php index 9f268a9..d0168b2 100644 --- a/modules/core.php +++ b/modules/core.php @@ -34,6 +34,8 @@ class CoreModule extends PLModule 'sql_errors' => $this->make_hook('siteerror', AUTH_COOKIE, 'admin'), 'assert_errors' => $this->make_hook('siteerror', AUTH_COOKIE, 'admin'), 'site_errors' => $this->make_hook('siteerror', AUTH_COOKIE, 'admin'), + 'site_errors/rss' => $this->make_token_hook('siteerror_rss', AUTH_COOKIE, 'admin'), + 'site_errors/register' => $this->make_hook('register_error', AUTH_PUBLIC), 'embedded' => $this->make_hook('embedded', AUTH_PUBLIC), @@ -207,9 +209,12 @@ class CoreModule extends PLModule exit; } - function handler_siteerror($page) { + function handler_siteerror($page) + { global $globals; $page->coreTpl('site_errors.tpl'); + $page->setRssLink('Polytechnique.org :: Erreurs', + 'site_errors/rss/' . S::v('hruid') . '/' . S::user()->token . '/rss.xml'); if (Post::has('clear')) { PlErrorReport::clear(); $page->trigSuccess("Erreurs effacées."); @@ -217,6 +222,19 @@ class CoreModule extends PLModule $page->assign('errors', PlErrorReport::iterate()); } + function handler_register_error($page) + { + if (S::has_xsrf_token() && Post::has('error') && Post::has('url')) { + PlErrorReport::report("Client error on " . Post::s('url') . ":\n\n" . Post::s('error')); + } + exit; + } + + function handler_siteerror_rss(PlPage $page, PlUser $user) + { + return PlErrorReport::feed($page, $user); + } + function handler_embedded($page) { global $platal, $globals;