X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=modules%2Fcore.php;h=789aa608edbdf77e787f8f47027dd3cf47d90e85;hb=75b5406387c0c362517dd905d561f7b616dddc96;hp=8be36c03afcdc064dc4fc2be63521008d26ca6ae;hpb=ed4f7de016bb136fae9f72256c827ef09d4ea863;p=platal.git diff --git a/modules/core.php b/modules/core.php index 8be36c0..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; @@ -224,12 +244,12 @@ class CoreModule extends PLModule $mode = $allkeys[1]; unset($allkeys[0]); unset($allkeys[1]); - $_REQUEST['display'] = $mode; + Env::set('display', $mode); $globals->baseurl .= '/embedded/' . $mode; $platal->path = join('/', $allkeys); $platal->run(); } } -// 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: ?>