From 8ffc002e5392f2cc70db569936a14a0fd1f70cf1 Mon Sep 17 00:00:00 2001 From: quickwick <2566133+quickwick@users.noreply.github.com> Date: Sun, 4 Sep 2022 17:04:09 -0700 Subject: [PATCH] fix: truncated retweet text in twitter bridge(#3004) Fix #2988 --- bridges/TwitterV2Bridge.php | 30 +++++++++++++++++------------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/bridges/TwitterV2Bridge.php b/bridges/TwitterV2Bridge.php index 4dfb855b..fe1c43aa 100644 --- a/bridges/TwitterV2Bridge.php +++ b/bridges/TwitterV2Bridge.php @@ -363,16 +363,6 @@ EOD continue; } - $cleanedTweet = nl2br($tweet->text); - //Debug::log('cleanedTweet: ' . $cleanedTweet); - - // Perform optional keyword filtering (only keep tweet if keyword is found) - if (! empty($tweetFilter)) { - if (stripos($cleanedTweet, $this->getInput('filter')) === false) { - continue; - } - } - // Initialize empty array to hold feed item values $this->item = []; @@ -434,7 +424,17 @@ EOD . ' (@' . $this->item['username'] . ')'; - // (Optional) Skip non-media tweet + $cleanedTweet = nl2br($tweet->text); + //Debug::log('cleanedTweet: ' . $cleanedTweet); + + // Perform optional keyword filtering (only keep tweet if keyword is found) + if (! empty($tweetFilter)) { + if (stripos($cleanedTweet, $this->getInput('filter')) === false) { + continue; + } + } + + // Perform optional non-media tweet skip // This check must wait until after retweets are identified if ( $onlyMediaTweets && !isset($tweet->attachments->media_keys) && @@ -458,8 +458,12 @@ EOD $titleText = strip_tags($cleanedTweet); } - if ($isRetweet && substr($titleText, 0, 4) === 'RT @') { - $titleText = substr_replace($titleText, ':', 2, 0); + if ($isRetweet) { + if (substr($titleText, 0, 4) === 'RT @') { + $titleText = substr_replace($titleText, ':', 2, 0); + } else { + $titleText = 'RT: @' . $this->item['username'] . ': ' . $titleText; + } } elseif ($isReply && !$idAsTitle) { $titleText = 'R: ' . $titleText; }