Example #1
0
 /**
  * @param Attachment $attachment
  * @param array      $dimensionIds
  *
  * @return ImageInstance
  */
 public function create(Attachment $attachment, DimensionContainer $dimensionContainer)
 {
     $validate = $this->constraints->getConstraints($attachment, $dimensionContainer);
     if ($validate) {
         $fs = new Filesystem();
         $fs->remove(sprintf('%s/%s', $this->tempPath, $attachment->getFile()));
         $fs->remove(sprintf('%s/%s', $this->uploadPath, $attachment->getFile()));
         $this->objectManager->remove($attachment);
         $this->objectManager->flush();
         return $validate;
     }
     $instance = new ImageInstance();
     $instance->setName($attachment->getName());
     $this->objectManager->persist($instance);
     foreach ($dimensionContainer->getDimensions() as $dimension) {
         $cropping = new ImageCropping();
         $cropping->setAttachment($attachment);
         $cropping->setInstance($instance);
         $cropping->setDimension($dimension);
         $cropping->setName($attachment->getName());
         $this->objectManager->persist($cropping);
     }
     $this->objectManager->flush();
     return $instance;
 }
 /**
  * @param Request       $request
  * @param Attachment    $attachment
  * @param ImageInstance $imageInstance
  *
  * @return JsonResponse|\Symfony\Component\HttpFoundation\Response
  */
 public function editAction(Request $request, Attachment $attachment, ImageInstance $imageInstance)
 {
     $em = $this->getDoctrine()->getManager();
     $findCurrentDimensions = $em->getRepository('BigfishMediaBundle:Attachment')->findDimensions($attachment->getId(), $imageInstance->getId());
     $form = $this->createForm(new ImageCollectionType($findCurrentDimensions));
     $form->handleRequest($request);
     if ($form->isValid()) {
         foreach ($findCurrentDimensions as $cropping) {
             $exists = $em->getRepository('BigfishMediaBundle:ImageCropping')->findOneBy(array('attachment' => $attachment, 'instance' => $imageInstance->getId(), 'id' => $cropping->getId()));
             $generatedCropping = $this->container->get('bigfish.media.cropping.handler')->initialize($attachment, $cropping, $exists)->execute();
             $em->persist($generatedCropping);
         }
         $em->flush();
         return new JsonResponse(array('success' => true, 'currentUrl' => $this->generateUrl('media_form', array('value' => $imageInstance->getId()))));
     }
     return $this->render('BigfishMediaBundle:Default:edit.html.twig', array('attachment' => $attachment, 'selected' => $request->get('selected'), 'form' => $form->createView(), 'dimensions' => $findCurrentDimensions, 'actionUrl' => $this->generateUrl('media_edit', array('attachment' => $attachment->getId(), 'imageInstance' => $imageInstance->getId()))));
 }
 public function buildForm(FormBuilderInterface $builder, array $options)
 {
     $builder->add('instance_id', 'hidden', array('data' => $this->instance->getId(), 'constraints' => array(new EqualTo(array('value' => $this->instance->getId())))));
 }