/** * Transforms the value the users has typed to a value that suits the field in the Document * * @param mixed $data * * @return Media|null */ public function reverseTransform($data) { if (!is_numeric($data)) { return null; } $defaultProvider = $this->mediaManager->getDefaultProviderInstance(); $fetched = $defaultProvider->find($data); if ($fetched instanceof Media) { return $fetched; } return null; }
/** * Transforms the value the users has typed to a value that suits the field in the Document */ public function reverseTransform($data) { if ($data instanceof Media) { return $data; if (!$data->getId() && $data->getHash()) { $defaultProvider = $this->mediaManager->getDefaultProviderInstance(); $fetched = $defaultProvider->findByHash($data->getHash()); if ($fetched instanceof Media) { $fetched->setTitle($data->getTitle()); $fetched->setAlt($data->getAlt()); $fetched->setCredits($data->getCredits()); $data = $fetched; } } } return $data; }
/** * {@inheritdoc} */ public function setDefaultOptions(OptionsResolverInterface $resolver) { $resolver->setDefaults(array('class' => $this->mediaManager->getDefaultProviderInstance()->getEntityClass(), 'property' => 'title')); }
/** * @param OptionsResolverInterface $resolver */ public function setDefaultOptions(OptionsResolverInterface $resolver) { $defaultProvider = $this->mediaManager->getDefaultProviderInstance(); $resolver->setDefaults(array('label' => false, 'data_class' => $defaultProvider->getCategoryEntityClass())); }