public function getProvider() { $resizer = $this->getMock('Sonata\\MediaBundle\\Resizer\\ResizerInterface'); $resizer->expects($this->any())->method('resize')->will($this->returnValue(true)); $adapter = $this->getMock('Gaufrette\\Adapter'); $filesystem = $this->getMock('Gaufrette\\Filesystem', array('get'), array($adapter)); $file = $this->getMock('Gaufrette\\File', array(), array('foo', $filesystem)); $filesystem->expects($this->any())->method('get')->will($this->returnValue($file)); $cdn = new \Sonata\MediaBundle\CDN\Server('/uploads/media'); $generator = new \Sonata\MediaBundle\Generator\DefaultGenerator(); $thumbnail = new FormatThumbnail('jpg'); $provider = new FileProvider('file', $filesystem, $cdn, $generator, $thumbnail); $provider->setResizer($resizer); return $provider; }
/** * {@inheritdoc} */ protected function doTransform(MediaInterface $media) { parent::doTransform($media); if ($media->getBinaryContent() instanceof UploadedFile) { $fileName = $media->getBinaryContent()->getClientOriginalName(); } elseif ($media->getBinaryContent() instanceof File) { $fileName = $media->getBinaryContent()->getFilename(); } else { // Should not happen, FileProvider should throw an exception in that case return; } if (!in_array(strtolower(pathinfo($fileName, PATHINFO_EXTENSION)), $this->allowedExtensions) || !in_array($media->getBinaryContent()->getMimeType(), $this->allowedMimeTypes)) { return; } try { $image = $this->imagineAdapter->open($media->getBinaryContent()->getPathname()); } catch (\RuntimeException $e) { $media->setProviderStatus(MediaInterface::STATUS_ERROR); return; } $size = $image->getSize(); $media->setWidth($size->getWidth()); $media->setHeight($size->getHeight()); $media->setProviderStatus(MediaInterface::STATUS_OK); }
public function getProvider() { $resizer = $this->getMock('Sonata\\MediaBundle\\Resizer\\ResizerInterface'); $resizer->expects($this->any())->method('resize')->will($this->returnValue(true)); $adapter = $this->getMockBuilder('Sonata\\MediaBundle\\Filesystem\\Local')->disableOriginalConstructor()->getMock(); $adapter->expects($this->any())->method('getDirectory')->will($this->returnValue(realpath(__DIR__) . '/../fixtures')); $filesystem = $this->getMock('Gaufrette\\Filesystem', array('get'), array($adapter)); $file = $this->getMock('Gaufrette\\File', array(), array('foo', $filesystem)); $filesystem->expects($this->any())->method('get')->will($this->returnValue($file)); $cdn = new \Sonata\MediaBundle\CDN\Server('/uploads/media'); $generator = new \Sonata\MediaBundle\Generator\DefaultGenerator(); $thumbnail = new FormatThumbnail('jpg'); $metadata = $this->getMock('Sonata\\MediaBundle\\Metadata\\MetadataBuilderInterface'); $provider = new FileProvider('file', $filesystem, $cdn, $generator, $thumbnail, array(), array(), $metadata); $provider->setResizer($resizer); return $provider; }
/** * {@inheritdoc} */ protected function doTransform(MediaInterface $media) { parent::doTransform($media); if ($media->getBinaryContent()) { $image = $this->imagineAdapter->open($media->getBinaryContent()->getPathname()); $size = $image->getSize(); $media->setWidth($size->getWidth()); $media->setHeight($size->getHeight()); $media->setProviderStatus(MediaInterface::STATUS_OK); } }
/** * {@inheritdoc} */ protected function doTransform(MediaInterface $media) { parent::doTransform($media); if (!is_object($media->getBinaryContent()) && !$media->getBinaryContent()) { return; } try { $image = $this->imagineAdapter->open($media->getBinaryContent()->getPathname()); } catch (\RuntimeException $e) { $media->setProviderStatus(MediaInterface::STATUS_ERROR); return; } $size = $image->getSize(); $media->setWidth($size->getWidth()); $media->setHeight($size->getHeight()); $media->setProviderStatus(MediaInterface::STATUS_OK); }
/** * @param string $name * @param Filesystem $filesystem * @param CDNInterface $cdn * @param GeneratorInterface $pathGenerator * @param ThumbnailInterface $thumbnail * @param array $allowedExtensions * @param array $allowedMimeTypes * @param ImagineInterface $adapter * @param MetadataBuilderInterface $metadata */ public function __construct($name, Filesystem $filesystem, CDNInterface $cdn, GeneratorInterface $pathGenerator, ThumbnailInterface $thumbnail, array $allowedExtensions = array(), array $allowedMimeTypes = array(), ImagineInterface $adapter, MetadataBuilderInterface $metadata = null) { parent::__construct($name, $filesystem, $cdn, $pathGenerator, $thumbnail, $allowedExtensions, $allowedMimeTypes, $metadata); $this->imagineAdapter = $adapter; }
/** * {@inheritdoc} */ protected function doTransform(MediaInterface $media) { parent::doTransform($media); // if ($media->getBinaryContent() instanceof UploadedFile) { // $fileName = $media->getBinaryContent()->getClientOriginalName(); // } elseif ($media->getBinaryContent() instanceof File) { // $fileName = $media->getBinaryContent()->getFilename(); // } else { // // Should not happen, FileProvider should throw an exception in that case // return; // } // if (!in_array(strtolower(pathinfo($fileName, PATHINFO_EXTENSION)), $this->allowedExtensions) // || !in_array($media->getBinaryContent()->getClientMimeType(), $this->allowedMimeTypes)) { // die(var_dump($fileName, $this->allowedExtensions, $this->allowedMimeTypes)); // return; // } // // this is the name used to store the file // if (!$media->getProviderReference() || // $media->getProviderReference() === MediaInterface::MISSING_BINARY_REFERENCE // ) { // $media->setProviderReference($this->generateReferenceName($media)); // } if ($media->getBinaryContent()) { $media->setContentType($media->getBinaryContent()->getClientMimeType()); $media->setSize($media->getBinaryContent()->getSize()); } //$media->setProviderReference($media->getName()); //$media->setContentType($media->getBinaryContent()->getClientMimeType()); //die(var_dump($media)); }
protected function doTransform(MediaInterface $media) { parent::doTransform($media); $media->setProviderStatus(MediaInterface::STATUS_ENCODING); }
public function __construct($name, Filesystem $filesystem, CDNInterface $cdn, GeneratorInterface $pathGenerator, ThumbnailInterface $thumbnail, array $allowedExtensions = array(), array $allowedMimeTypes = array(), MetadataBuilderInterface $metadata = null, EntityManager $entityManager) { $this->entityManager = $entityManager; parent::__construct($name, $filesystem, $cdn, $pathGenerator, $thumbnail, $allowedExtensions, $allowedMimeTypes, $metadata); }
/** * {@inheritdoc} */ protected function doTransform(MediaInterface $media) { parent::doTransform($media); if ($media->getBinaryContent() instanceof UploadedFile) { $fileName = $media->getBinaryContent()->getClientOriginalName(); } elseif ($media->getBinaryContent() instanceof File) { $fileName = $media->getBinaryContent()->getFilename(); } else { // Should not happen, FileProvider should throw an exception in that case return; } if (!in_array(strtolower(pathinfo($fileName, PATHINFO_EXTENSION)), $this->allowedExtensions) || !in_array($media->getBinaryContent()->getMimeType(), $this->allowedMimeTypes)) { return; } try { /* $ffprobe = \FFMpeg\FFProbe::create(); */ $ffprobe = $this->getFFProbe(); $dimension = $ffprobe->streams($media->getBinaryContent()->getPathname())->videos()->first()->getDimensions(); $media->setWidth($dimension->getWidth()); $media->setHeight($dimension->getHeight()); $media->setProviderStatus(MediaInterface::STATUS_OK); } catch (\RuntimeException $e) { $media->setProviderStatus(MediaInterface::STATUS_ERROR); } }