]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - lib/api.php
Merge branch 'forward' into 0.9.x
[quix0rs-gnu-social.git] / lib / api.php
index 7ebe65dbb7cf4a2ed701e4ad280c1ca65e08316e..b7ab407a1a58734f46b8adaf627cdc369452702c 100644 (file)
@@ -215,6 +215,20 @@ class ApiAction extends Action
     }
 
     function twitterStatusArray($notice, $include_user=true)
+    {
+        $base = $this->twitterSimpleStatusArray($notice, $include_user);
+
+        if (empty($notice->repeat_of)) {
+            return $base;
+        } else {
+            $original = Notice::staticGet('id', $notice->repeat_of);
+            $original_array = $this->twitterSimpleStatusArray($original, $include_user);
+            $original_array['retweeted_status'] = $base;
+            return $original_array;
+        }
+    }
+
+    function twitterSimpleStatusArray($notice, $include_user=true)
     {
         $profile = $notice->getProfile();
 
@@ -448,9 +462,9 @@ class ApiAction extends Action
         }
     }
 
-    function showTwitterXmlStatus($twitter_status)
+    function showTwitterXmlStatus($twitter_status, $tag='status')
     {
-        $this->elementStart('status');
+        $this->elementStart($tag);
         foreach($twitter_status as $element => $value) {
             switch ($element) {
             case 'user':
@@ -465,11 +479,14 @@ class ApiAction extends Action
             case 'geo':
                 $this->showGeoRSS($value);
                 break;
+            case 'retweeted_status':
+                $this->showTwitterXmlStatus($value, 'retweeted_status');
+                break;
             default:
                 $this->element($element, null, $value);
             }
         }
-        $this->elementEnd('status');
+        $this->elementEnd($tag);
     }
 
     function showTwitterXmlGroup($twitter_group)