X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=modules%2Fcore.php;h=789aa608edbdf77e787f8f47027dd3cf47d90e85;hb=75b5406387c0c362517dd905d561f7b616dddc96;hp=9f268a9a4aeb10ccd749e0228b8ad2fc45ba7d07;hpb=bc02ceca4595728711127a2317d35e8cfc934918;p=platal.git diff --git a/modules/core.php b/modules/core.php index 9f268a9..789aa60 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,14 @@ class CoreModule extends PLModule exit; } - function handler_siteerror($page) { + function handler_siteerror($page) + { global $globals; $page->coreTpl('site_errors.tpl'); + if (!empty(S::user()->token)) { + $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 +224,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; @@ -231,5 +251,5 @@ class CoreModule extends PLModule } } -// vim:set et sw=4 sts=4 sws=4 foldmethod=marker enc=utf-8: +// vim:set et sw=4 sts=4 sws=4 foldmethod=marker fenc=utf-8: ?>