X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FObject%2FApi%2FMastodon%2FStatus.php;h=8430601f9830a313b0e21c8299b0e031f0616d0d;hb=6ffecd2b74726476df00ec334e45f0d7638056ca;hp=2e7a0877d46a32b35502f25271c80e36dc840ee5;hpb=de53109a49c74356efb3fa2230e1ad9da120bc01;p=friendica.git diff --git a/src/Object/Api/Mastodon/Status.php b/src/Object/Api/Mastodon/Status.php index 2e7a0877d4..8430601f98 100644 --- a/src/Object/Api/Mastodon/Status.php +++ b/src/Object/Api/Mastodon/Status.php @@ -38,8 +38,10 @@ class Status extends BaseDataTransferObject { /** @var string */ protected $id; - /** @var string (Datetime) */ + /** @var string|null (Datetime) */ protected $created_at; + /** @var string|null (Datetime) */ + protected $edited_at; /** @var string|null */ protected $in_reply_to_id = null; /** @var Status|null - Fedilab extension, see issue https://github.com/friendica/friendica/issues/12672 */ @@ -107,8 +109,9 @@ class Status extends BaseDataTransferObject */ public function __construct(array $item, Account $account, Counts $counts, UserAttributes $userAttributes, bool $sensitive, Application $application, array $mentions, array $tags, Card $card, array $attachments, array $in_reply, array $reblog, FriendicaExtension $friendica, array $quote = null, array $poll = null) { - $this->id = (string)$item['uri-id']; - $this->created_at = DateTimeFormat::utc($item['created'], DateTimeFormat::JSON); + $this->id = (string)$item['uri-id']; + $this->created_at = DateTimeFormat::utc($item['created'], DateTimeFormat::JSON); + $this->edited_at = DateTimeFormat::utc($item['edited'], DateTimeFormat::JSON); if ($item['gravity'] == Item::GRAVITY_COMMENT) { $this->in_reply_to_id = (string)$item['thr-parent-id']; @@ -154,6 +157,33 @@ class Status extends BaseDataTransferObject $this->friendica = $friendica; } + /** + * Returns the current created_at string or null if not set + * @return \DateTime|null + */ + public function createdAt(): ?string + { + return $this->created_at; + } + + /** + * Returns the current edited_at string or null if not set + * @return ?string + */ + public function editedAt(): ?string + { + return $this->edited_at; + } + + /** + * Returns the Friendica Extension properties + * @return FriendicaExtension + */ + public function friendicaExtension(): FriendicaExtension + { + return $this->friendica; + } + /** * Returns the current entity as an array * @@ -183,6 +213,10 @@ class Status extends BaseDataTransferObject $status['in_reply_to_status'] = null; } + if ($status['created_at'] == $status['edited_at']) { + unset($status['edited_at']); + } + return $status; } }