/**
  * @param Event $event
  */
 public function onPostUpload(Event $event)
 {
     $entity = $event->getObject();
     $mapping = $event->getMapping();
     if ($entity instanceof ImageInterface) {
         $fileLocation = $this->getStorage()->resolvePath($entity, 'file', null, true);
         list($width, $height) = getimagesize($this->getUploadDir() . '/' . $fileLocation);
         $entity->setImageDimensions(array($width, $height));
     }
 }
 /**
  * A la suppression de l'objet uploadé, je supprime également les redimensionnements
  * @param  Event  $event [description]
  * @return [type]        [description]
  */
 public function onPreRemove(Event $event)
 {
     $object = $event->getObject();
     $mapping = $event->getMapping();
     $adapter = $this->filesystem_map->get($mapping->getUploadDestination())->getAdapter();
     $base_directory = $mapping->hasDirectoryNamer() ? $mapping->getDirectoryNamer()->directoryName($object, $mapping) . '/' : '';
     foreach ($this->resizes as $suffix => $resize_conf) {
         $resize_file = $base_directory . ResizedNamer::getName($mapping->getFileName($object), $suffix);
         if (!is_null($resize_file) && $adapter->exists($resize_file)) {
             $adapter->delete($resize_file);
         }
     }
 }
Example #3
0
 public function onPostUpload(Event $event)
 {
     if ($event->getObject() instanceof SyntaxonPhoto) {
         // get the uploaded file
         $uploadedFile = $event->getObject();
         // get the path of the uploaded file
         $path = $this->uploadHelper->asset($uploadedFile, 'imageFile');
         // retrieve the file as a BinaryInterface
         $image = $this->imagineDataManager->find('thumb', $path);
         // Resize
         // applyFilter returns BinaryInterface
         $resized = $this->imagineFilterManager->applyFilter($image, 'resized');
         // store the resized image
         $this->imagineCacheManager->store($resized, $path, 'resized');
         // Thumb generation
         // applyFilter returns BinaryInterface
         $thumb = $this->imagineFilterManager->applyFilter($image, 'thumb');
         // store the thumb
         $this->imagineCacheManager->store($thumb, $path, 'thumb');
     }
 }
 /**
  * @param \Vich\UploaderBundle\Event\Event $event
  */
 public function onPostUpload(\Vich\UploaderBundle\Event\Event $event)
 {
     // set event data
     $this->mapping = $event->getMapping();
     $this->object = $event->getObject();
     // get filesystem
     $filesystem = $this->getContainer()->get('vichimagine.provider')->getFilesystem($this->mapping);
     // if image/*
     if (preg_match('/^image\\//', $this->getFile()->getMimeType())) {
         // filter
         $filter = $this->getFilterName();
         // file and paths
         $file_name = $this->getFileName();
         $file_relative = $this->getRelativeDir() . '/' . $file_name;
         // resize
         $image = $this->liip_data_manager->find($filter, $file_relative);
         $response = $this->liip_filter_manager->applyFilter($image, $filter);
         $format = $response->getFormat();
         // replace extension & update
         $file_name = $this->replaceExtension($file_name, $format);
         $file_relative = $this->replaceExtension($file_relative, $format);
         $this->updateFileName($file_name);
         // write
         $filesystem->write($file_relative, $response->getContent(), true);
     }
 }