value text,
id serial NOT NULL PRIMARY KEY
);
+
+CREATE OR REPLACE VIEW messages AS (
+ SELECT *, regexp_replace(page, '.*/', '')::int issue FROM comments
+ UNION ALL
+ SELECT concat(page,'/',id), body, created, author, NULL, id FROM issues
+);
--- /dev/null
+<?php
+global $Db;
+require_once 'database.inc.php';
+
+$limit = $Page->place['n'] ?? 50;
+$cols = 'm.*, i.subject, i.closed';
+$sql = "SELECT $cols FROM messages m JOIN issues i ON i.id = issue";
+$sql .= " ORDER BY m.created DESC LIMIT $limit";
+$query = $Db->query($sql);
+
+print '<ul class="replies">';
+
+while ($row = $query->fetch()) {
+ $rowuser = new User("profile/{$row->author}");
+ print '<li>';
+ printf('<strong>%s</strong> <small class="date">%s</small>',
+ $rowuser->html, showdate(preg_split('/\D/', $row->created))
+ );
+ printf("\n\t".'<a href="/%s">%s</a>', $row->page, $row->subject);
+ if ($row->closed) {
+ print ' <em>(opgelost)</em>';
+ }
+ printf("\n\t<blockquote>%s</blockquote>", $row->message);
+ print "</li>\n";
+}
+
+print "</ul>\n";