Programming Language PHP
Namespace Instagram\Model
Class Media
Method/Function setTypeName
Total Examples 1
1 code examples of PHP Instagram\Model\Media::setTypeName extracted from open source projects
/**
* @return Media|MediaDetailed
* @throws InstagramFetchException
*/
public function mediaBaseHydrator(Media $media, \StdClass $node): Media
{
$media->setId((int) $node->pk);
$media->setShortCode($node->code);
$media->setTypeName($this->getTypeName($node->media_type));
if ($node->caption) {
$media->setCaption($node->caption->text);
$media->setHashtags(InstagramHelper::buildHashtags($node->caption->text));
$date = new \DateTime();
$date->setTimestamp($node->caption->created_at);
$media->setDate($date);
} else {
if ($node->taken_at) {
$date = new \DateTime();
$date->setTimestamp($node->taken_at);
$media->setDate($date);
}
}
$thumbnailSrc = $displaySrc = '';
if (property_exists($node, 'image_versions2')) {
foreach ($node->image_versions2->candidates as $img) {
if ($img->width == 640) {
$thumbnailSrc = $img->url;
}
if ($img->width == $node->original_width) {
$displaySrc = $img->url;
}
}
}
$media->setThumbnailSrc($thumbnailSrc);
$media->setDisplaySrc($displaySrc);
$media->setComments($node->comment_count);
$media->setLikes($node->like_count);
$media->setLink(InstagramHelper::URL_BASE . "p/{$node->code}/");
if (isset($node->location)) {
$media->setLocation($node->location);
}
$media->setVideo($this->isVideo($node));
if (property_exists($node, 'video_versions')) {
foreach ($node->video_versions as $video) {
if ($video->type == 101) {
$videoSrc = $video->url;
}
}
$media->setVideoUrl($videoSrc ?? null);
}
if (property_exists($node, 'view_count')) {
$media->setVideoViewCount((int) $node->view_count);
}
if (property_exists($node, 'product_type')) {
$media->setIgtv($node->product_type === 'igtv');
}
$media->setOwnerId((int) $node->user->pk);
return $media;
}