id = (int)$item['uri-id']; $this->id_str = (string)$item['uri-id']; $this->statusnet_conversation_id = (int)$item['parent-uri-id']; $this->created_at = DateTimeFormat::utc($item['created'], DateTimeFormat::API); if ($item['gravity'] == Item::GRAVITY_COMMENT) { $this->in_reply_to_status_id = (int)$item['thr-parent-id']; $this->in_reply_to_status_id_str = (string)$item['thr-parent-id']; $this->in_reply_to_user_id = (int)$item['parent-author-id']; $this->in_reply_to_user_id_str = (string)$item['parent-author-id']; $this->in_reply_to_screen_name = $item['parent-author-nick']; } $this->text = $text; $this->friendica_title = $item['title']; $this->statusnet_html = $statusnetHtml; $this->friendica_html = $friendicaHtml; $this->user = $owner->toArray(); $this->friendica_author = $author->toArray(); $this->friendica_owner = $owner->toArray(); $this->truncated = false; $this->friendica_private = $item['private'] == Item::PRIVATE; $this->retweeted_status = $retweeted; $this->quoted_status = $quoted; $this->external_url = $item['plink']; $this->favorited = $liked; $this->friendica_comments = $friendica_comments; $this->source = $item['app']; $this->geo = $geo; $this->friendica_activities = $friendica_activities; $this->attachments = $attachments; $this->entities = $entities; $this->extended_entities = $entities; $origin = ContactSelector::networkToName($item['author-network'], $item['network'], $item['author-gsid']); if (empty($this->source)) { $this->source = $origin; } elseif ($origin != $this->source) { $this->source = trim($this->source. ' (' . $origin . ')'); } } /** * Returns the current entity as an array * * @return array */ public function toArray(): array { $status = parent::toArray(); if (empty($status['retweeted_status'])) { unset($status['retweeted_status']); } if (empty($status['quoted_status'])) { unset($status['quoted_status']); } if (empty($status['geo'])) { $status['geo'] = null; } if (empty($status['entities'])) { $status['entities'] = null; } if (empty($status['extended_entities'])) { $status['extended_entities'] = null; } if (empty($status['attachments'])) { $status['attachments'] = null; } return $status; } }