public function createService(ServiceLocatorInterface $serviceLocator) { $form = new Form(); $serviceLocator->injectFactory($form); $form->add(array('type' => $this->fileElement, 'name' => $this->fileName, 'attributes' => array('class' => 'hide'))); $form->get($this->fileName)->setIsMultiple($this->multiple); $user = $serviceLocator->getServiceLocator()->get('AuthenticationService')->getUser(); $fileEntity = new $this->fileEntityClass(); if ($user instanceof AnonymousUser) { $fileEntity->getPermissions()->grant($user, 'all'); } else { $fileEntity->setUser($user); } $strategy = new FileUploadStrategy($fileEntity); if ($this->multiple) { $hydrator = new FileCollectionUploadHydrator($this->fileName, $strategy); $form->add(array('type' => 'button', 'name' => 'remove', 'options' => array('label' => 'Remove all'), 'attributes' => array('class' => 'fu-remove-all btn btn-danger btn-xs pull-right'))); } else { $hydrator = new EntityHydrator(); $hydrator->addStrategy($this->fileName, $strategy); } $form->setHydrator($hydrator); $form->setOptions(array('use_files_array' => true)); $this->configureForm($form); return $form; }
/** * Inherit data from an {@link UserInfoInterface}. * * Copies the user image to an application attachment. * @param InfoInterface $info * @return $this */ public function inherit(InfoInterface $info) { $hydrator = new EntityHydrator(); $imageStrategy = new FileCopyStrategy(new Attachment()); $hydrator->addStrategy('image', $imageStrategy); $data = $hydrator->extract($info); $hydrator->hydrate($data, $this); return $this; }
public function getHydrator() { if (!$this->hydrator) { $hydrator = new EntityHydrator(); $collectionStrategy = new CollectionStrategy(); $hydrator->addStrategy('nativeLanguages', $collectionStrategy)->addStrategy('languageSkills', $collectionStrategy); $this->setHydrator($hydrator); } return $this->hydrator; }
public function getHydrator() { if (!$this->hydrator) { $hydrator = new EntityHydrator(); $collectionStrategy = new CollectionStrategy(); $hydrator->addStrategy('educations', $collectionStrategy)->addStrategy('employments', $collectionStrategy)->addStrategy('skills', $collectionStrategy); $this->setHydrator($hydrator); } return $this->hydrator; }
public function createService(ServiceLocatorInterface $serviceLocator) { $services = $serviceLocator->getServiceLocator(); $user = $services->get('AuthenticationService')->getUser(); $fieldset = new UserInfoFieldset(); $imageEntity = new UserImage(); $imageEntity->setUser($user); $strategy = new FileUploadStrategy($imageEntity); $hydrator = new EntityHydrator(); $hydrator->addStrategy('image', $strategy); $fieldset->setHydrator($hydrator); return $fieldset; }
public function getHydrator() { if (!$this->hydrator) { $hydrator = new EntityHydrator(); $formFactory = $this->getFormFactory(); $formElementManager = $formFactory->getFormElementManager(); $serviceLocator = $formElementManager->getServiceLocator(); $repositoryManager = $serviceLocator->get('repositories'); $repOrganizationName = $repositoryManager->get('Organizations/OrganizationName'); $organizationName = new OrganizationNameStrategy($repOrganizationName); $hydrator->addStrategy('organizationName', $organizationName); $this->setHydrator($hydrator); } return $this->hydrator; }
/** * Creates fieldset * {@inheritdoc} * * @return EmployeesFieldset */ public function createService(ServiceLocatorInterface $serviceLocator) { /* @var $serviceLocator \Zend\ServiceManager\AbstractPluginManager * @var $headscript \Zend\View\Helper\HeadScript */ $services = $serviceLocator->getServiceLocator(); $helpers = $services->get('ViewHelperManager'); $headscript = $helpers->get('headscript'); $basepath = $helpers->get('basepath'); $fieldset = new EmployeesFieldset(); $hydrator = new EntityHydrator(); $hydrator->addStrategy('employees', new CollectionStrategy()); $fieldset->setHydrator($hydrator); $headscript->appendFile($basepath('Organizations/js/organizations.employees.js')); return $fieldset; }
/** * The configuration from the FileUploadFactory configuration * * @param ServiceLocatorInterface $serviceLocator * @return Form */ public function createService(ServiceLocatorInterface $serviceLocator) { /* @var $serviceLocator \Zend\Form\FormElementManager */ $service = $serviceLocator->getServiceLocator(); $options = null; if ($this->options) { $options = $service->get($this->options); } // Retrieve configuration. if ($this->configKey) { $services = $serviceLocator->getServiceLocator(); $config = $services->get('config'); $config = isset($config['form_elements_config']['file_upload_factories'][$this->configKey]) ? $config['form_elements_config']['file_upload_factories'][$this->configKey] : array(); $this->config = $config; } $form = new Form(); $serviceLocator->injectFactory($form); $form->add(array('type' => $this->fileElement, 'name' => $this->fileName, 'options' => array('use_formrow_helper' => false), 'attributes' => array('class' => 'hide'))); /* @var $element \Core\Form\Element\FileUpload */ $element = $form->get($this->fileName); $element->setIsMultiple($this->multiple); $user = $serviceLocator->getServiceLocator()->get('AuthenticationService')->getUser(); /* @var $fileEntity \Core\Entity\FileInterface */ $fileEntity = new $this->fileEntityClass(); if ($user instanceof AnonymousUser) { $fileEntity->getPermissions()->grant($user, 'all'); } else { $fileEntity->setUser($user); } $strategy = new FileUploadStrategy($fileEntity); if ($this->multiple) { $hydrator = new FileCollectionUploadHydrator($this->fileName, $strategy); $form->add(array('type' => 'button', 'name' => 'remove', 'options' => array('label' => 'Remove all'), 'attributes' => array('class' => 'fu-remove-all btn btn-danger btn-xs pull-right'))); } else { $hydrator = new EntityHydrator(); $hydrator->addStrategy($this->fileName, $strategy); } $form->setHydrator($hydrator); $form->setOptions(array('use_files_array' => true)); $this->configureForm($form, $options); return $form; }