We are no longer offering accounts on this server. Consider https://gitlab.freedesktop.org/ as a place to host projects.

Commit 082ddf36 authored by Brion Vibber's avatar Brion Vibber

Cut repeats out of the magic handling

parent 407cc851
......@@ -157,35 +157,37 @@ class ThreadedNoticeListItem extends NoticeListItem
function showEnd()
{
$notice = Notice::conversationStream($this->notice->conversation, 0, self::INITIAL_ITEMS + 2);
$notices = array();
$cnt = 0;
$moreCutoff = null;
while ($notice->fetch()) {
if ($notice->id == $this->notice->id) {
// Skip!
continue;
}
$cnt++;
if ($cnt > self::INITIAL_ITEMS) {
// boo-yah
$moreCutoff = clone($notice);
break;
if (!$this->repeat) {
$notice = Notice::conversationStream($this->notice->conversation, 0, self::INITIAL_ITEMS + 2);
$notices = array();
$cnt = 0;
$moreCutoff = null;
while ($notice->fetch()) {
if ($notice->id == $this->notice->id) {
// Skip!
continue;
}
$cnt++;
if ($cnt > self::INITIAL_ITEMS) {
// boo-yah
$moreCutoff = clone($notice);
break;
}
$notices[] = clone($notice); // *grumble* inefficient as hell
}
$notices[] = clone($notice); // *grumble* inefficient as hell
}
if ($notices) {
$this->out->elementStart('ul', 'notices threaded-notices xoxo');
if ($moreCutoff) {
$item = new ThreadedNoticeListMoreItem($moreCutoff, $this->out);
$item->show();
}
foreach (array_reverse($notices) as $notice) {
$item = new ThreadedNoticeListSubItem($notice, $this->out);
$item->show();
if ($notices) {
$this->out->elementStart('ul', 'notices threaded-notices xoxo');
if ($moreCutoff) {
$item = new ThreadedNoticeListMoreItem($moreCutoff, $this->out);
$item->show();
}
foreach (array_reverse($notices) as $notice) {
$item = new ThreadedNoticeListSubItem($notice, $this->out);
$item->show();
}
$this->out->elementEnd('ul');
}
$this->out->elementEnd('ul');
}
parent::showEnd();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment