. * */ 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 $provider_name; /** @var string */ protected $provider_url; /** @var string */ protected $image; /** * Creates a card record from an attachment array. * * @param array $attachment Attachment record * @throws \Friendica\Network\HTTPException\InternalServerErrorException */ public function __construct(array $attachment) { $this->url = $attachment['url'] ?? ''; $this->title = $attachment['title'] ?? ''; $this->description = $attachment['description'] ?? ''; $this->type = $attachment['type'] ?? ''; $this->image = $attachment['image'] ?? ''; $this->provider_name = $attachment['provider_name'] ?? ''; $this->provider_url = $attachment['provider_url'] ?? ''; } /** * Returns the current entity as an array * * @return array */ public function toArray(): array { if (empty($this->url)) { return []; } return parent::toArray(); } }