Add a 'markAsRead' hook.
[banana.git] / banana / spool.inc.php
index 6899532..074a758 100644 (file)
@@ -302,6 +302,22 @@ class BananaSpool
             }
         }
         $this->unreadnb += count($newpostsids);
+
+        if (function_exists('hook_listReadMessages')) {
+            $msgs = hook_listReadMessages($this->group);
+            if (!is_array($msgs)) {
+                return;
+            }
+            foreach ($msgs as $msg) {
+                if (!is_numeric($msg)) {
+                    if (!isset($this->ids[$msg])) {
+                        continue;
+                    }
+                    $msg = $this->ids[$msg]->id;
+                }
+                $this->markAsRead($msg);
+            }
+        }
     }
 
     public function setMode($mode)
@@ -501,6 +517,9 @@ class BananaSpool
         if (empty($subject)) {
             $subject = _b_('(pas de sujet)');
         }
+        if (mb_strlen($subject) > 100) {
+            $subject = mb_substr($subject, 0, 99) . '…';
+        }
         if ($head->id !== Banana::$artid) {
             $subject = Banana::$page->makeLink(Array('group' => $this->group, 'artid' => $head->id,
                                                      'text'  => $subject, 'popup' => $popup));