/** * {@inheritdoc} */ public function filterAction(Request $request, $path, $filter) { if ($request->query->has('originalExtension')) { $info = pathinfo($path); $path = $info['dirname'] . DIRECTORY_SEPARATOR . $info['filename'] . '.' . $request->query->getAlpha('originalExtension'); } return parent::filterAction($request, $path, $filter); }
/** * @param Request $request * @param string $filename * @param string $filter * * @return RedirectResponse */ public function showAction(Request $request, $filename, $filter = null) { $filename = urldecode($filename); $result = $this->renderDefaultImage(FileTypes::MISC, $filter); if (self::DEFAULT_IMAGE_KEY !== $filename) { $fileType = $this->fileTypeGuesser->guess($this->getMimeType($filename)); $result = $this->renderDefaultImage($fileType, $filter); if (FileTypes::IMAGE === $fileType) { try { $result = $this->imagineController->filterAction($request, $filename, $filter); } catch (NotFoundHttpException $exception) { $result = $this->renderDefaultImage(FileTypes::IMAGE, $filter); } } } return $result; }
/** * @param Request $request * @param string $filename * @param string $filter * * @return RedirectResponse */ public function showAction(Request $request, $filename, $filter = null) { $filename = urldecode($filename); if (self::DEFAULT_IMAGE_KEY === $filename) { return $this->renderDefaultImage(FileTypes::MISC, $filter); } $file = $this->fileInfoRepository->findOneByIdentifier($filename); if (null !== $file) { if (FileTypes::IMAGE === ($fileType = $this->fileTypeGuesser->guess($file->getMimeType()))) { try { return $this->imagineController->filterAction($request, $filename, $filter); } catch (NotFoundHttpException $e) { return $this->renderDefaultImage(FileTypes::IMAGE, $filter); } } return $this->renderDefaultImage($fileType, $filter); } return $this->renderDefaultImage(FileTypes::MISC, $filter); }
public function testFilterDelegatesResolverResponse() { $response = $this->getMock('Symfony\\Component\\HttpFoundation\\Response'); $cacheManager = $this->getMockCacheManager(); $cacheManager->expects($this->once())->method('resolve')->will($this->returnValue($response)); $dataManager = $this->getMock('Liip\\ImagineBundle\\Imagine\\Data\\DataManager', array(), array($this->configuration)); $filterManager = $this->getMock('Liip\\ImagineBundle\\Imagine\\Filter\\FilterManager', array(), array($this->configuration)); $controller = new ImagineController($dataManager, $filterManager, $cacheManager); $this->assertSame($response, $controller->filterAction(Request::create('/media/cache/thumbnail/cats.jpeg'), 'cats.jpeg', 'thumbnail')); }