return $spool;
}
- private function compare(&$a, &$b)
+ private function compare($a, $b)
{
return ($b->date - $a->date);
}
}
}
$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)
// Remove from the message tree
if (!is_null($parent)) {
+ $time = time();
foreach ($parent->children as $key=>&$child) {
if ($child === $overview) {
unset($parent->children[$key]);
}
}
if (sizeof($overview->children)) {
- $parent->children = array_merge($parent->children, $overview->children);
foreach ($overview->children as &$child) {
+ $parent->children[] =& $child;
+ $child->time = $time;
$child->parent =& $parent;
}
}
- $time = time();
while (!is_null($parent)) {
$parent->desc--;
$parent->time = $time;
}
}
- public function formatDate(BananaSpoolHead &$head)
+ public function formatDate(BananaSpoolHead $head)
{
$stamp = $head->date;
$today = intval(time() / (24*3600));
return strftime($format, $stamp);
}
- public function formatSubject(BananaSpoolHead &$head)
+ public function formatSubject(BananaSpoolHead $head)
{
$subject = $popup = $head->subject;
$popup = $subject;
if (empty($subject)) {
$subject = _b_('(pas de sujet)');
}
- if ($head->id != Banana::$artid) {
+ 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));
}
return $subject . $link;
}
- public function formatFrom(BananaSpoolHead &$head)
+ public function formatFrom(BananaSpoolHead $head)
{
return BananaMessage::formatFrom($head->from);
}
/** Look for an unread message in the thread rooted by the message
* @param id INTEGER message number
*/
- private function _nextUnread(BananaSpoolHead &$cur)
+ private function _nextUnread(BananaSpoolHead $cur)
{
if (!$cur->isread) {
return $cur->id;