コード例 #1
0
 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;
 }
コード例 #2
0
 /**
  * {@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);
 }
コード例 #3
0
 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;
 }
コード例 #4
0
 /**
  * {@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);
     }
 }
コード例 #5
0
 /**
  * {@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);
 }
コード例 #6
0
 /**
  * @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;
 }
コード例 #7
0
 /**
  * {@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));
 }
コード例 #8
0
 protected function doTransform(MediaInterface $media)
 {
     parent::doTransform($media);
     $media->setProviderStatus(MediaInterface::STATUS_ENCODING);
 }
コード例 #9
0
 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);
 }
コード例 #10
0
 /**
  * {@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);
     }
 }