]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
Pass correct notice id to Memcached_DataObject::listGet() in getFaves()
authorEvan Prodromou <evan@status.net>
Mon, 8 Aug 2011 16:01:39 +0000 (12:01 -0400)
committerEvan Prodromou <evan@status.net>
Mon, 8 Aug 2011 16:01:39 +0000 (12:01 -0400)
classes/Notice.php

index d39aea6c225776d398e2e82b1eff7022a49fc10b..122c3c6299d2f5825d44d685c0e6ce9b5f6d1daf 100644 (file)
@@ -2547,7 +2547,7 @@ class Notice extends Memcached_DataObject
                }
     }
 
-    protected $_faves = -1;
+    protected $_faves;
 
     /**
      * All faves of this notice
@@ -2557,15 +2557,15 @@ class Notice extends Memcached_DataObject
 
     function getFaves()
     {
-        if ($this->_faves != -1) {
+        if (isset($this->_faves) && is_array($this->_faves)) {
             return $this->_faves;
         }
-        $faveMap = Memcached_DataObject::listGet('Fave', 'notice_id', array($noticeId));
-        $this->_faves = $faveMap[$noticeId];
+        $faveMap = Memcached_DataObject::listGet('Fave', 'notice_id', array($this->id));
+        $this->_faves = $faveMap[$this->id];
         return $this->_faves;
     }
 
-    function _setFaves($faves)
+    function _setFaves(&$faves)
     {
         $this->_faves = $faves;
     }
@@ -2574,6 +2574,14 @@ class Notice extends Memcached_DataObject
     {
         $ids = self::_idsOf($notices);
         $faveMap = Memcached_DataObject::listGet('Fave', 'notice_id', $ids);
+        $cnt = 0;
+        $faved = array();
+        foreach ($faveMap as $id => $faves) {
+            $cnt += count($faves);
+            if (count($faves) > 0) {
+                $faved[] = $id;
+            }
+        }
         foreach ($notices as $notice) {
             $notice->_setFaves($faveMap[$notice->id]);
         }