f986a53de5653d46a71774df380fa6f8af733149
[minimedit.git] / widget / issue / activity.php
1 <?php
2 global $Db;
3 require_once 'database.inc.php';
4
5 $limit = $Page->place['n'] ?? 50;
6 $cols = 'm.*, i.subject, i.updated, i.closed';
7 $sql = "SELECT $cols FROM messages m JOIN issues i ON i.id = issue";
8 $sql .= " WHERE message IS NOT NULL";
9 $sql .= " ORDER BY m.created DESC LIMIT $limit";
10 $sql = "SELECT * FROM ($sql) x ORDER BY updated DESC, created, id"; # grouped issues
11 $query = $Db->query($sql);
12
13 print '<dl class="replies">';
14
15 $group = NULL;
16 while ($row = $query->fetch()) {
17         if ($group !== $row->issue) {
18                 $group = $row->issue;
19                 print '<dt>';
20                 printf('<a href="/%s">%s</a>', $row->page, $row->subject);
21                 if ($row->closed) {
22                         print ' <em>(opgelost)</em>';
23                 }
24                 print '</dt>';
25         }
26         print '<dd>';
27         if ($row->author and $rowuser = new User("profile/{$row->author}")) {
28                 printf('<strong>%s</strong> ', $rowuser->html);
29         }
30         printf('<small class="date">%s</small>',
31                 showdate(preg_split('/\D/', $row->created))
32         );
33         printf("\n\t<blockquote>%s</blockquote>", $row->message);
34         print "</dd>\n";
35 }
36
37 print "</dl>\n";