X-Git-Url: http://git.shiar.net/minimedit.git/blobdiff_plain/f73f2c6c223577ad3cc6e14c0e6ff1567c910eae..b3561aa61e022b65d5c0601edaf27059ff7f2da4:/widget/issue/activity.php?ds=sidebyside diff --git a/widget/issue/activity.php b/widget/issue/activity.php index bb694c7..371f11a 100644 --- a/widget/issue/activity.php +++ b/widget/issue/activity.php @@ -9,30 +9,38 @@ $sql .= " WHERE message IS NOT NULL"; $sql .= " ORDER BY m.created DESC LIMIT $limit"; $query = $Db->query($sql); +$msgformat = [ + "{(?=

\n).+}s" => ' (Meer op de site)', + '{(.*)(

]+>

)\s*}s' => "$2\n$1", + '{(?<='; -$group = NULL; +$prev = NULL; while ($row = $query->fetch()) { - print '
'; - if ($group !== $row->issue) { - $group = $row->issue; - printf('%s', $row->page, $row->subject); - if ($row->closed) { - print ' (opgelost)'; + if (!$prev or $prev->issue !== $row->issue or $prev->author !== $row->author + or !preg_match('/\A

message)) { + print '

'; + if (!$prev or $prev->issue !== $row->issue) { + printf('%s', $row->page, $row->subject); + if ($row->closed) { + print ' (opgelost)'; + } } + print ''; + if ($row->author and $rowuser = new User("profile/{$row->author}")) { + printf('%s ', $rowuser->html); + } + printf('%s', + showdate(preg_split('/\D/', $row->created)) + ); + print ""; + print '
'; + print '
'; } - print ''; - if ($row->author and $rowuser = new User("profile/{$row->author}")) { - printf('%s ', $rowuser->html); - } - printf('%s', - showdate(preg_split('/\D/', $row->created)) - ); - print ""; - print ''; - print '
'; - print $row->message; - print "
\n"; + print preg_replace(array_keys($msgformat), array_values($msgformat), $row->message); + $prev = $row; } print "\n";