protected function BrightcoveVideo::createIngestImage in Brightcove Video Connect 8
Same name and namespace in other branches
- 8.2 src/Entity/BrightcoveVideo.php \Drupal\brightcove\Entity\BrightcoveVideo::createIngestImage()
- 3.x src/Entity/BrightcoveVideo.php \Drupal\brightcove\Entity\BrightcoveVideo::createIngestImage()
Create an ingestion request for image.
Parameters
string $type: The type of the image, possible values are:
- IMAGE_TYPE_POSTER
- IMAGE_TYPE_THUMBNAIL
.
Throws
\Exception If the $type is not matched with the possible types.
1 call to BrightcoveVideo::createIngestImage()
- BrightcoveVideo::save in src/
Entity/ BrightcoveVideo.php
File
- src/
Entity/ BrightcoveVideo.php, line 230
Class
- BrightcoveVideo
- Defines the Brightcove Video entity.
Namespace
Drupal\brightcove\EntityCode
protected function createIngestImage($type) {
if (!in_array($type, [
self::IMAGE_TYPE_POSTER,
self::IMAGE_TYPE_THUMBNAIL,
])) {
throw new \Exception(t("Invalid type given: @type, the type argument must be either '@thumbnail' or '@poster'.", [
'@type' => $type,
'@thumbnail' => self::IMAGE_TYPE_THUMBNAIL,
'@poster' => self::IMAGE_TYPE_POSTER,
]));
}
$function = ucfirst($type);
// Set up image ingestion.
if (!empty($this
->{"get{$function}"}()['target_id'])) {
$ingest_request = $this
->getIngestRequest();
/** @var \Drupal\file\Entity\File $file */
$file = File::load($this
->{"get{$function}"}()['target_id']);
// Load the image object factory so we can access height and width.
$image_factory = \Drupal::service('image.factory');
$image = $image_factory
->get($file
->getFileUri());
if (!is_null($image)) {
$ingest_image = new IngestImage();
$ingest_image
->setUrl(file_create_url($file
->getFileUri()));
$ingest_image
->setWidth($image
->getWidth());
$ingest_image
->setHeight($image
->getHeight());
$ingest_request
->{"set{$function}"}($ingest_image);
}
}
}