return new PlErrorReportIterator();
}
+ public static function feed(PlPage $page, PlUser $user)
+ {
+ $feed = new PlErrorReportFeed();
+ return $feed->run($page, $user);
+ }
+
public static function clear()
{
@unlink(Platal::globals()->spoolroot . '/spool/tmp/site_errors');
}
}
+class PlErrorReportFeed extends PlFeed
+{
+ public function __construct()
+ {
+ global $globals;
+ parent::__construct($globals->core->sitename . ' :: News',
+ $globals->baseurl . '/site_errors',
+ 'Erreurs d\'exécution',
+ $globals->baseurl . '/images/logo.png',
+ $globals->spoolroot . '/core/templates/site_errors.feed.tpl');
+ }
+
+ protected function fetch(PlUser $user)
+ {
+ global $globals;
+ $it = PlErrorReport::iterate();
+ $data = array();
+ while ($row = $it->next()) {
+ $title = explode("\n", $row->error);
+ $title = $title[0];
+ $line = array();
+ $line['id'] = $row->date + count($data);
+ $line['author'] = 'admin';
+ $line['link'] = $globals->baseurl . '/site_errors';
+ $line['data'] = $row;
+ $line['title'] = $title;
+ $line['last_modification'] = $row->date;
+ $line['publication'] = $row->date;
+ $data[] = $line;
+ }
+ return PlIteratorUtils::fromArray($data, 1, true);
+ }
+}
+
// vim:set et sw=4 sts=4 sws=4 foldmethod=marker enc=utf-8:
?>
'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'),
'embedded' => $this->make_hook('embedded', AUTH_PUBLIC),
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.");
$page->assign('errors', PlErrorReport::iterate());
}
+ function handler_siteerror_rss(PlPage $page, PlUser $user)
+ {
+ return PlErrorReport::feed($page, $user);
+ }
+
function handler_embedded($page)
{
global $platal, $globals;