user-defined custom hook.
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
if (!is_array($new)) {
$new = 0;
} else {
- $new = count($new);
+ $c = count($new);
+ if ($c > 0 && function_exists('hook_listReadMessages')) {
+ $msgs = hook_listReadMessages($group);
+ if (is_array($msgs)) {
+ foreach ($msgs as $msg) {
+ if (is_numeric($msg)) {
+ $c--;
+ } else if (in_array($msg, $new)) {
+ $c--;
+ }
+ }
+ }
+ }
+ $new = $c;
}
$desc['msgnum'] = $msgnum;
$desc['unread'] = $new;
}
}
$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];
+ }
+ $this->markAsRead($msg);
+ }
+ }
}
public function setMode($mode)