/** * @param string $name * @param AbstractResourceFactory $resourceFactory * @param \Doctrine\ORM\EntityManager $entityManager * @param \Zf2FileUploader\Options\ImageResourceOptionsInterface $imageOptions */ public function __construct($name = 'image', AbstractResourceFactory $resourceFactory, EntityManager $entityManager, ImageResourceOptionsInterface $imageOptions) { parent::__construct($name); $this->abstractResourceFactory = $resourceFactory; $validator = new ResourceTokenValidator($entityManager->getRepository($imageOptions->getImageEntityClass())); $this->getValidatorChain()->attach($validator); }
/** * @param MvcEvent $e * @return mixed|void */ public function onDispatch(MvcEvent $e) { $adapter = new QueryPaginator($this->entityManager->getRepository($this->options->getImageEntityClass())->createQueryBuilder('img')); $paginator = new Paginator($adapter, $this->getRequest()->getHeaders(), $this->getResponse()->getHeaders()); $imageExtractor = new ImageExtractor(new DoctrineObject($this->entityManager, $this->options->getImageEntityClass())); $result = new JsonModel($imageExtractor); $result->setPaginator($paginator); $e->setResult($result); }
/** * @param ImageResourceInterface $resource * @return boolean */ public function persist(ImageResourceInterface $resource) { $ext = $resource->getExt(); $baseName = $resource->getToken() . ($ext ? '.' . $ext : ''); $target = realpath($this->options->getImagePersistentPath()) . '/' . $baseName; $moveUploadedFilter = new Rename(array('target' => $target, 'overwrite' => false, 'randomize' => false)); $moveUploadedFilter->filter($resource->getPath()); $resource->setPath($target); $result = file_exists($target); if ($result) { $result = chmod($target, 0664); } $resource->setHttpPath($this->options->getImageHttpPath() . '/' . $baseName); $this->setCallbacks(null, function () use($target) { if (file_exists($target)) { unlink($target); } }); return $result; }
/** * @param EntityManager $entityManager * @param ImageResourceOptionsInterface $options * @param RemoverInterface $remover */ public function __construct(EntityManager $entityManager, ImageResourceOptionsInterface $options, RemoverInterface $remover) { $this->remover = $remover; $this->repository = $entityManager->getRepository($options->getImageEntityClass()); }
public function __construct(EntityManager $entityManager, ImageResourceOptionsInterface $imageOptions) { $this->imageRepository = $entityManager->getRepository($imageOptions->getImageEntityClass()); }
/** * @return EntityRepository */ protected function getRepository() { return $this->entityManager->getRepository($this->imageOptions->getImageEntityClass()); }