]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
Let's handle notice dataobjects instead, despite fetching twice from db
authorMikael Nordfeldth <mmn@hethane.se>
Wed, 9 Sep 2015 15:03:52 +0000 (17:03 +0200)
committerMikael Nordfeldth <mmn@hethane.se>
Wed, 9 Sep 2015 15:03:52 +0000 (17:03 +0200)
Actually the original object should be fixed here, but we'll handle the FIXME's later.

lib/apiaction.php

index fae8f33d0e0707150612f70c7e2be0cb56d30893..8c1b4c67e7081bfa211931c92c9f5b77ce31f3f7 100644 (file)
@@ -795,7 +795,13 @@ class ApiAction extends Action
                                               'xmlns:statusnet' => 'http://status.net/schema/api/1/'));
 
         if (is_array($notice)) {
-            $notice = new ArrayWrapper($notice);
+            //FIXME: make everything calling showJsonTimeline use only Notice objects
+            common_debug('ArrayWrapper avoidance in progress! Beep boop, make showJsonTimeline only receive Notice objects!');
+            $ids = array();
+            foreach ($notice as $n) {
+                $ids[] = $n->getID();
+            }
+            $notice = Notice::multiGet('id', $ids);
         }
 
         while ($notice->fetch()) {
@@ -851,7 +857,13 @@ class ApiAction extends Action
         $this->element('ttl', null, '40');
 
         if (is_array($notice)) {
-            $notice = new ArrayWrapper($notice);
+            //FIXME: make everything calling showJsonTimeline use only Notice objects
+            common_debug('ArrayWrapper avoidance in progress! Beep boop, make showJsonTimeline only receive Notice objects!');
+            $ids = array();
+            foreach ($notice as $n) {
+                $ids[] = $n->getID();
+            }
+            $notice = Notice::multiGet('id', $ids);
         }
 
         while ($notice->fetch()) {
@@ -895,7 +907,13 @@ class ApiAction extends Action
         $this->element('subtitle', null, $subtitle);
 
         if (is_array($notice)) {
-            $notice = new ArrayWrapper($notice);
+            //FIXME: make everything calling showJsonTimeline use only Notice objects
+            common_debug('ArrayWrapper avoidance in progress! Beep boop, make showJsonTimeline only receive Notice objects!');
+            $ids = array();
+            foreach ($notice as $n) {
+                $ids[] = $n->getID();
+            }
+            $notice = Notice::multiGet('id', $ids);
         }
 
         while ($notice->fetch()) {