]> git.mxchange.org Git - friendica.git/commitdiff
Add title to the text/html content for Twitter status object
authorPhilipp <admin@philipp.info>
Sat, 1 Jan 2022 22:14:52 +0000 (23:14 +0100)
committerPhilipp <admin@philipp.info>
Sat, 1 Jan 2022 22:14:52 +0000 (23:14 +0100)
src/Factory/Api/Twitter/Status.php
src/Object/Api/Twitter/Status.php
tests/src/Factory/Api/Twitter/StatusTest.php

index 2db1cf1355cf7613a89630a1d6d23cd628473e83..57547b0a35e49116703fdb3e24804a3bec47d5a3 100644 (file)
@@ -119,7 +119,21 @@ class Status extends BaseFactory
 
                $friendica_comments = Post::countPosts(['thr-parent-id' => $item['uri-id'], 'deleted' => false, 'gravity' => GRAVITY_COMMENT]);
 
-               $text = Post\Media::addAttachmentsToBody($item['uri-id'], $item['body']);
+               $text = '';
+
+               // Add the title to text / html if set
+               if (!empty($item['title'])) {
+                       $text .= $item['title'] . ' ';
+
+                       $title         = sprintf("[h4]%s[/h4]\n", $item['title']);
+                       $statusnetHtml = BBCode::convertForUriId($item['uri-id'], BBCode::setMentionsToNicknames($title . $item['raw-body'] ?? $item['body']), BBCode::API);
+                       $friendicaHtml = BBCode::convertForUriId($item['uri-id'], $title . $item['body'], BBCode::EXTERNAL);
+               } else {
+                       $statusnetHtml = BBCode::convertForUriId($item['uri-id'], BBCode::setMentionsToNicknames($item['raw-body'] ?? $item['body']), BBCode::API);
+                       $friendicaHtml = BBCode::convertForUriId($item['uri-id'], $item['body'], BBCode::EXTERNAL);
+               }
+
+               $text .= Post\Media::addAttachmentsToBody($item['uri-id'], $item['body']);
 
                $text = trim(HTML::toPlaintext(BBCode::convertForUriId($item['uri-id'], $text, BBCode::API), 0));
 
@@ -190,6 +204,6 @@ class Status extends BaseFactory
                        $entities = [];
                }
 
-               return new \Friendica\Object\Api\Twitter\Status($text, $item, $author, $owner, $retweeted, $quoted, $geo, $friendica_activities, $entities, $attachments,  $friendica_comments, $liked);
+               return new \Friendica\Object\Api\Twitter\Status($text, $statusnetHtml, $friendicaHtml, $item, $author, $owner, $retweeted, $quoted, $geo, $friendica_activities, $entities, $attachments,  $friendica_comments, $liked);
        }
 }
index ed52deedb8bebdb98d37c7a901143ea6f3b6e5a8..86ff6b6afdc9c1a4fc74e91b208232305bfeb4d3 100644 (file)
@@ -23,7 +23,6 @@ namespace Friendica\Object\Api\Twitter;
 
 use Friendica\BaseDataTransferObject;
 use Friendica\Content\ContactSelector;
-use Friendica\Content\Text\BBCode;
 use Friendica\Model\Item;
 use Friendica\Util\DateTimeFormat;
 
@@ -99,7 +98,7 @@ class Status extends BaseDataTransferObject
         * @param array   $item
         * @throws \Friendica\Network\HTTPException\InternalServerErrorException
         */
-       public function __construct(string $text, array $item, User $author, User $owner, array $retweeted, array $quoted, array $geo, array $friendica_activities, array $entities, array $attachments, int $friendica_comments, bool $liked)
+       public function __construct(string $text, string $statusnetHtml, string $friendicaHtml, array $item, User $author, User $owner, array $retweeted, array $quoted, array $geo, array $friendica_activities, array $entities, array $attachments, int $friendica_comments, bool $liked)
        {
                $this->id                        = (int)$item['id'];
                $this->id_str                    = (string)$item['id'];
@@ -117,8 +116,8 @@ class Status extends BaseDataTransferObject
 
                $this->text                 = $text;
                $this->friendica_title      = $item['title'];
-               $this->statusnet_html       = BBCode::convertForUriId($item['uri-id'], BBCode::setMentionsToNicknames($item['raw-body'] ?? $item['body']), BBCode::API);
-               $this->friendica_html       = BBCode::convertForUriId($item['uri-id'], $item['body'], BBCode::EXTERNAL);
+               $this->statusnet_html       = $statusnetHtml;
+               $this->friendica_html       = $friendicaHtml;
                $this->user                 = $author->toArray();
                $this->friendica_author     = $author->toArray();
                $this->friendica_owner      = $owner->toArray();
index 61dcb0a9cbb4ae510cd3a112c8f143623df16ab2..1073867ee228b7b276ee87b8bfb036d1bbbc1604 100644 (file)
@@ -34,7 +34,7 @@ class StatusTest extends FixtureTest
                $status    = $statusObj->toArray();
 
                self::assertStringStartsWith('item_title', $status['text']);
-               self::assertStringStartsWith('<h4>item_title</h4><br>perspiciatis impedit voluptatem', $status['html']);
+               self::assertStringStartsWith('<h4>item_title</h4><br>perspiciatis impedit voluptatem', $status['friendica_html']);
        }
 
        /**