/** * @param File $file */ public function setFile(File $file) { $this->file = $file; $this->media->setContent($file); $this->media->setContentType($file->getMimeType()); $this->media->setUrl('/uploads/media/' . $this->media->getUuid() . '.' . $this->media->getContent()->getExtension()); }
/** * @covers Kunstmaan\MediaBundle\Helper\File\PdfHandler::getImageUrl * @covers Kunstmaan\MediaBundle\Helper\File\PdfHandler::setWebPath */ public function testGetImageUrl() { $this->pdfTransformer->expects($this->any())->method('getPreviewFilename')->will($this->returnValue('/media.pdf.jpg')); $media = new Media(); $media->setUrl('/path/to/media.pdf'); $this->assertNull($this->object->getImageUrl($media, '/basepath')); $previewFilename = sys_get_temp_dir() . '/media.pdf.jpg'; $fileSystem = new Filesystem(); $fileSystem->touch($previewFilename); $media->setUrl('/media.pdf'); $this->object->setWebPath(sys_get_temp_dir()); $this->assertEquals('/media.pdf.jpg', $this->object->getImageUrl($media, '')); $fileSystem->remove($previewFilename); }
/** * @param Media $media * * @throws \RuntimeException when the file does not exist */ public function prepareMedia(Media $media) { if (null == $media->getUuid()) { $uuid = uniqid(); $media->setUuid($uuid); } $content = $media->getContent(); if (empty($content)) { return; } if (!$content instanceof File) { if (!is_file($content)) { throw new \RuntimeException('Invalid file'); } $file = new File($content); $media->setContent($file); } if ($content instanceof UploadedFile) { $media->setOriginalFilename($content->getClientOriginalName()); $name = $media->getName(); if (empty($name)) { $media->setName($media->getOriginalFilename()); } } $media->setFileSize(filesize($media->getContent())); $contentType = $this->mimeTypeGuesser->guess($media->getContent()->getPathname()); $media->setContentType($contentType); $relativePath = sprintf('/%s.%s', $media->getUuid(), ExtensionGuesser::getInstance()->guess($media->getContentType())); $media->setUrl('/uploads/media' . $relativePath); $media->setLocation('local'); }
/** * @param Media $media * * @throws \RuntimeException when the file does not exist */ public function prepareMedia(Media $media) { if (null === $media->getUuid()) { $uuid = uniqid(); $media->setUuid($uuid); } $content = $media->getContent(); if (empty($content)) { return; } if (!$content instanceof File) { if (!is_file($content)) { throw new \RuntimeException('Invalid file'); } $file = new File($content); $media->setContent($file); } if ($content instanceof UploadedFile) { $media->setOriginalFilename($content->getClientOriginalName()); $name = $media->getName(); if (empty($name)) { $media->setName($media->getOriginalFilename()); } } $media->setFileSize(filesize($media->getContent())); $contentType = $this->mimeTypeGuesser->guess($media->getContent()->getPathname()); $media->setContentType($contentType); $media->setUrl(self::MEDIA_PATH . $this->getFilePath($media)); $media->setLocation('local'); }
/** * @covers Kunstmaan\MediaBundle\Entity\Media::getUrl * @covers Kunstmaan\MediaBundle\Entity\Media::setUrl */ public function testGetSetUrl() { $this->object->setUrl('http://domain.tld/path/name.ext'); $this->assertEquals('http://domain.tld/path/name.ext', $this->object->getUrl()); }
/** * @param Media $media * @param string $url */ public function setMediaUrl(Media $media, $url) { $media->setUrl($this->uploader->getUploadsUrl() . $url); }
/** * @param Media $media * * @throws \RuntimeException when the file does not exist */ public function prepareMedia(Media $media) { if (null === $media->getUuid()) { $uuid = uniqid(); $media->setUuid($uuid); } $content = $media->getContent(); if (empty($content)) { return; } if (!$content instanceof File) { if (!is_file($content)) { throw new \RuntimeException('Invalid file'); } $file = new File($content); $media->setContent($file); } $contentType = $this->mimeTypeGuesser->guess($content->getPathname()); if ($content instanceof UploadedFile) { $pathInfo = pathinfo($content->getClientOriginalName()); if (!array_key_exists('extension', $pathInfo)) { $pathInfo['extension'] = $this->extensionGuesser->guess($contentType); } $media->setOriginalFilename($this->slugifier->slugify($pathInfo['filename']) . '.' . $pathInfo['extension']); $name = $media->getName(); if (empty($name)) { $media->setName($media->getOriginalFilename()); } } $media->setContentType($contentType); $media->setFileSize(filesize($media->getContent())); $media->setUrl($this->mediaPath . $this->getFilePath($media)); $media->setLocation('local'); }