. * */ namespace Friendica\Object\Api\Mastodon; use Friendica\BaseDataTransferObject; /** * Class Card * * @see https://docs.joinmastodon.org/entities/card */ class Card extends BaseDataTransferObject { /** @var string */ protected $url; /** @var string */ protected $title; /** @var string */ protected $description; /** @var string */ protected $type; /** @var string */ protected $author_name; /** @var string */ protected $author_url; /** @var string */ protected $provider_name; /** @var string */ protected $provider_url; /** @var int */ protected $width; /** @var int */ protected $height; /** @var string */ protected $image; /** @var string */ protected $blurhash; /** * Creates a card record from an attachment array. * * @param array $attachment Attachment record * @throws \Friendica\Network\HTTPException\InternalServerErrorException */ public function __construct(array $attachment, array $history = []) { $this->url = $attachment['url'] ?? ''; $this->title = $attachment['title'] ?? ''; $this->description = $attachment['description'] ?? ''; $this->type = $attachment['type'] ?? ''; $this->author_name = $attachment['author_name'] ?? ''; $this->author_url = $attachment['author_url'] ?? ''; $this->provider_name = $attachment['provider_name'] ?? ''; $this->provider_url = $attachment['provider_url'] ?? ''; $this->width = $attachment['width'] ?? 0; $this->height = $attachment['height'] ?? 0; $this->image = $attachment['image'] ?? ''; $this->blurhash = $attachment['blurhash'] ?? ''; $this->history = $history; } /** * Returns the current entity as an array * * @return array */ public function toArray(): array { if (empty($this->url)) { return []; } return parent::toArray(); } }