예제 #1
0
 public function modalAction(Request $request)
 {
     $image = null;
     if (null !== ($filename = $request->get('filename', null))) {
         $image = $this->imageManager->findByFilename($filename);
     }
     return $this->templating->renderResponse('SilvestraMediaBundle:Form:modal.html.twig', array('image' => $image));
 }
예제 #2
0
 /**
  * {@inheritdoc}
  */
 public function findByFilename($filename)
 {
     foreach ($this->images as $image) {
         if ($filename === $image->getFilename()) {
             return $image;
         }
     }
     return $this->defaultManager->findByFilename($filename);
 }
예제 #3
0
 /**
  * Generate unique filename.
  *
  * @param string $originalFilename
  *
  * @return string
  */
 public function generateUniqueFilename($originalFilename)
 {
     $index = 0;
     $filename = pathinfo($originalFilename, PATHINFO_FILENAME);
     $extension = pathinfo($originalFilename, PATHINFO_EXTENSION);
     while ($this->imageManager->findByFilename($originalFilename)) {
         $index++;
         $originalFilename = $filename . '-' . $index . '.' . $extension;
     }
     return $originalFilename;
 }
 public function cropAction(Request $request)
 {
     $coordinates = $request->get('coordinates', null);
     $filename = $request->get('filename', null);
     if (!$filename || null === $coordinates) {
         throw new NotFoundHttpException('Invalid coordinates or filename request parameters!');
     }
     $image = $this->imageManager->findByFilename($filename);
     if (null === $image) {
         throw new NotFoundImageException('Image not found!');
     }
     $data = $this->imageCropHandler->process($coordinates, $image);
     $data['thumbnail_path'] = $this->imageResizer->resize($image->getPath(), array(150, 150), ImageResizerInterface::INSET);
     return new JsonResponse($data);
 }
예제 #5
0
 /**
  * Reverse transform.
  *
  * @param ImageInterface $image
  *
  * @return ImageInterface
  *
  * @throws TransformationFailedException
  */
 public function reverseTransform($image)
 {
     if (null === $image) {
         return null;
     }
     $filename = $image->getFilename();
     if (empty($filename)) {
         return null;
     }
     if ($this->preFilename && $this->preFilename !== $filename) {
         $this->imageManager->remove($image);
     }
     $image = $this->imageManager->findByFilename($filename);
     if (null === $image) {
         throw new TransformationFailedException();
     }
     $image->setTemporary(false);
     return $image;
 }