MediaPdfThumbnailGeneratorBase.php in Media PDF Thumbnail 8.4
File
src/Plugin/QueueWorker/MediaPdfThumbnailGeneratorBase.phpView source
<?php
namespace Drupal\media_pdf_thumbnail\Plugin\QueueWorker;
use Drupal\Core\Plugin\ContainerFactoryPluginInterface;
use Drupal\Core\Queue\QueueWorkerBase;
use Drupal\media\MediaInterface;
use Drupal\media_pdf_thumbnail\Manager\MediaPdfThumbnailImageManager;
use Symfony\Component\DependencyInjection\ContainerInterface;
/**
* Class MediaPdfThumbnailGeneratorBase
*
* @package Drupal\media_pdf_thumbnail\Plugin\QueueWorker
*/
class MediaPdfThumbnailGeneratorBase extends QueueWorkerBase implements ContainerFactoryPluginInterface {
/**
* @var \Drupal\media_pdf_thumbnail\Manager\MediaPdfThumbnailImageManager
*/
protected $mediaPdfThumbnailImageManager;
/**
* MediaThumbnailGeneratorBase constructor.
*
* @param \Drupal\media_pdf_thumbnail\Manager\MediaPdfThumbnailImageManager $mediaPdfThumbnailImageManager
*/
public function __construct(MediaPdfThumbnailImageManager $mediaPdfThumbnailImageManager) {
$this->mediaPdfThumbnailImageManager = $mediaPdfThumbnailImageManager;
}
/**
* {@inheritdoc}
*/
public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) {
return new static($container
->get('media_pdf_thumbnail.image.manager'));
}
/**
* @param mixed $data
*
* @throws \Drupal\Component\Plugin\Exception\InvalidPluginDefinitionException
* @throws \Drupal\Component\Plugin\Exception\PluginNotFoundException
* @throws \Drupal\Core\Entity\EntityStorageException
* @throws \Drupal\Core\TypedData\Exception\MissingDataException
*/
public function processItem($data) {
if ($data->media instanceof MediaInterface && !empty($data->field) && !empty($data->thumbnailType)) {
$this->mediaPdfThumbnailImageManager
->createThumbnail($data->media, $data->field, $data->thumbnailType);
}
}
}
Classes
Name | Description |
---|---|
MediaPdfThumbnailGeneratorBase | Class MediaPdfThumbnailGeneratorBase |