issue/activity: format replies for dashboard
authorMischa POSLAWSKY <perl@shiar.org>
Tue, 27 Apr 2021 18:37:24 +0000 (20:37 +0200)
committerMischa POSLAWSKY <perl@shiar.org>
Tue, 27 Apr 2021 19:12:30 +0000 (21:12 +0200)
Cut consecutive paragraphs (similar to news feed)
and move images right to take less space.

widget/issue/activity.php

index bb694c7506c0d49fd36f3c1f7ab8cf89b0392101..153034efb84124dba0476239382858daab2ce74e 100644 (file)
@@ -9,6 +9,12 @@ $sql .= " WHERE message IS NOT NULL";
 $sql .= " ORDER BY m.created DESC LIMIT $limit";
 $query = $Db->query($sql);
 
+$msgformat = [
+       "{(?=</p>\n).+}s" => ' <small class="footer">(Meer op de site)</small>',
+       '{(.*)(<p><img [^>]+></p>)\s*}' => "$2\n$1",
+       '{(?<=<img src=")(?=/)}' => '/thumb/300x',
+];
+
 print '<dl class="replies">';
 
 $group = NULL;
@@ -31,7 +37,7 @@ while ($row = $query->fetch()) {
        print "</span>";
        print '</dt>';
        print '<dd>';
-       print $row->message;
+       print preg_replace(array_keys($msgformat), array_values($msgformat), $row->message);
        print "</dd>\n";
 }