From: Evan Prodromou <evan@status.net>
Date: Mon, 8 Aug 2011 14:39:45 +0000 (-0400)
Subject: pre-fill all notices in conversations on the page
X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=0c762dde42f463f4f45628fed0a29128e4cd37a7;p=quix0rs-gnu-social.git

pre-fill all notices in conversations on the page
---

diff --git a/lib/threadednoticelist.php b/lib/threadednoticelist.php
index cf3c0b8943..6df4ed99df 100644
--- a/lib/threadednoticelist.php
+++ b/lib/threadednoticelist.php
@@ -80,7 +80,7 @@ class ThreadedNoticeList extends NoticeList
 		$total = count($notices);
 		$notices = array_slice($notices, 0, NOTICES_PER_PAGE);
 		
-    	self::prefill($notices);
+    	self::prefill(self::_allNotices($notices));
     	
         $conversations = array();
         
@@ -123,6 +123,21 @@ class ThreadedNoticeList extends NoticeList
         return $total;
     }
 
+    function _allNotices($notices)
+    {
+        $convId = array();
+        foreach ($notices as $notice) {
+            $convId[] = $notice->conversation;
+        }
+        $convId = array_unique($convId);
+        $allMap = Memcached_DataObject::listGet('Notice', 'conversation', $convId);
+        $allArray = array();
+        foreach ($allMap as $convId => $convNotices) {
+            $allArray = array_merge($allArray, $convNotices);
+        }
+        return $allArray;
+    }
+
     /**
      * returns a new list item for the current notice
      *