]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
Change NoticeList::prefill() to a static function
authorEvan Prodromou <evan@status.net>
Tue, 2 Aug 2011 16:01:41 +0000 (12:01 -0400)
committerEvan Prodromou <evan@status.net>
Tue, 2 Aug 2011 16:01:41 +0000 (12:01 -0400)
lib/noticelist.php
lib/threadednoticelist.php

index aaa3b3c98691e8eb127683bdaa1179e1d728088c..a4781d9daa7a077cb33917eaad1c931501e94149 100644 (file)
@@ -87,7 +87,7 @@ class NoticeList extends Widget
                $total   = count($notices);
                $notices = array_slice($notices, 0, NOTICES_PER_PAGE);
                
-       $this->prefill($notices);
+       self::prefill($notices);
        
        foreach ($notices as $notice) {
 
@@ -122,10 +122,23 @@ class NoticeList extends Widget
         return new NoticeListItem($notice, $this->out);
     }
     
-    function prefill(&$notices)
+    static function prefill(&$notices, $avatarSize=AVATAR_STREAM_SIZE)
     {
        // Prefill the profiles
        $profiles = Notice::fillProfiles($notices);
-       Profile::fillAvatars($profiles, AVATAR_STREAM_SIZE);
+       // Prefill the avatars
+       Profile::fillAvatars($profiles, $avatarSize);
+       
+       $p = Profile::current();
+       
+       $ids = array();
+       
+       foreach ($notices as $notice) {
+           $ids[] = $notice->id;
+       }
+       
+       if (!empty($p)) {
+               Memcached_DataObject::pivotGet('Fave', 'notice_id', $ids, array('user_id' => $p->id));
+       }
     }
 }
index a63d25110f10fa926e49a36b258725ec852a7b5d..407f7bdde3c608fea1af559f1165064e044cd77c 100644 (file)
@@ -80,7 +80,7 @@ class ThreadedNoticeList extends NoticeList
                $total = count($notices);
                $notices = array_slice($notices, 0, NOTICES_PER_PAGE);
                
-       $this->prefill($notices);
+       self::prefill($notices);
        
         $conversations = array();
         
@@ -224,8 +224,7 @@ class ThreadedNoticeListItem extends NoticeListItem
                         $item = new ThreadedNoticeListMoreItem($moreCutoff, $this->out, count($notices));
                         $item->show();
                     }
-                    // XXX: replicating NoticeList::prefill(), annoyingly
-                    $this->prefill($notices);
+                    NoticeList::prefill($notices, AVATAR_MINI_SIZE);
                     foreach (array_reverse($notices) as $notice) {
                         if (Event::handle('StartShowThreadedNoticeSub', array($this, $this->notice, $notice))) {
                             $item = new ThreadedNoticeListSubItem($notice, $this->notice, $this->out);
@@ -250,13 +249,6 @@ class ThreadedNoticeListItem extends NoticeListItem
 
         parent::showEnd();
     }
-    
-    function prefill(&$notices)
-    {       
-       // Prefill the profiles
-       $profiles = Notice::fillProfiles($notices);
-       Profile::fillAvatars($profiles, AVATAR_MINI_SIZE);
-    }
 }
 
 // @todo FIXME: needs documentation.