forked from GNUsocial/gnu-social
show repeated notices correctly in API output
This commit is contained in:
parent
0cb1feed51
commit
1c370bb277
23
lib/api.php
23
lib/api.php
@ -213,6 +213,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();
|
||||
|
||||
@ -446,9 +460,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':
|
||||
@ -463,11 +477,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)
|
||||
|
Loading…
Reference in New Issue
Block a user