From 082ddf365ee5a6f4f726a96257c6f51fc06360e7 Mon Sep 17 00:00:00 2001 From: Brion Vibber Date: Mon, 28 Feb 2011 17:23:01 -0800 Subject: [PATCH] Cut repeats out of the magic handling --- lib/threadednoticelist.php | 54 ++++++++++++++++++++------------------ 1 file changed, 28 insertions(+), 26 deletions(-) diff --git a/lib/threadednoticelist.php b/lib/threadednoticelist.php index 42b85bd132..a3e5f62a59 100644 --- a/lib/threadednoticelist.php +++ b/lib/threadednoticelist.php @@ -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; + 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 } - $cnt++; - if ($cnt > self::INITIAL_ITEMS) { - // boo-yah - $moreCutoff = clone($notice); - break; - } - $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(); + 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'); } - foreach (array_reverse($notices) as $notice) { - $item = new ThreadedNoticeListSubItem($notice, $this->out); - $item->show(); - } - $this->out->elementEnd('ul'); } parent::showEnd();