[twitter] Add quoted tweet URL if its body is unavailable (blocked, muted, deleted)

This commit is contained in:
Hypolite Petovan 2019-09-12 21:48:02 -04:00
parent a97eeb8e8b
commit e7d054c6d5

View File

@ -1162,7 +1162,7 @@ function twitter_expand_entities(App $a, $body, $item, $picture)
if ($url->url && $url->expanded_url && $url->display_url) {
// Quote tweet, we just remove the quoted tweet URL from the body, the share block will be added later.
if (isset($item->quoted_status_id_str)
if (!empty($item->quoted_status) && isset($item->quoted_status_id_str)
&& substr($url->expanded_url, -strlen($item->quoted_status_id_str)) == $item->quoted_status_id_str ) {
$body = str_replace($url->url, '', $body);
continue;
@ -1539,10 +1539,7 @@ function twitter_createpost(App $a, $uid, $post, array $self, $create_user, $onl
if (!empty($post->quoted_status) && !$noquote) {
$quoted = twitter_createpost($a, $uid, $post->quoted_status, $self, false, false, true);
if (empty($quoted['body'])) {
return [];
}
if (!empty($quoted['body'])) {
$postarray['body'] .= "\n" . share_header(
$quoted['author-name'],
$quoted['author-link'],
@ -1553,6 +1550,10 @@ function twitter_createpost(App $a, $uid, $post, array $self, $create_user, $onl
);
$postarray['body'] .= $quoted['body'] . '[/share]';
} else {
// Quoted post author is blocked/ignored, so we just provide the link to avoid removing quote context.
$postarray['body'] .= "\n\nhttps://twitter.com/" . $post->quoted_status->user->screen_name . "/status/" . $post->quoted_status->id_str;
}
}
return $postarray;