+
+ 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.");
+ }
+ $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;
+ $allkeys = func_get_args();
+ $mode = $allkeys[1];
+ unset($allkeys[0]);
+ unset($allkeys[1]);
+ Env::set('display', $mode);
+ $globals->baseurl .= '/embedded/' . $mode;
+ $platal->path = join('/', $allkeys);
+ $platal->run();
+ }