PrivacyForm.php 1.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. <?php
  2. namespace Muzich\CoreBundle\Form\User;
  3. use Symfony\Component\Form\AbstractType;
  4. use Symfony\Component\Form\FormBuilderInterface;
  5. use Muzich\CoreBundle\Managers\UserPrivacy as UserPrivacyManager;
  6. use Symfony\Component\OptionsResolver\OptionsResolverInterface;
  7. class PrivacyForm extends AbstractType
  8. {
  9. protected $options;
  10. public function buildForm(FormBuilderInterface $builder, array $options)
  11. {
  12. $this->options = $options;
  13. foreach (UserPrivacyManager::$configurations as $configuration_id => $configuration_default)
  14. {
  15. $builder->add($configuration_id, 'checkbox', array(
  16. 'required' => false
  17. ));
  18. }
  19. }
  20. public function getName()
  21. {
  22. return 'user_privacy';
  23. }
  24. public function setDefaultOptions(OptionsResolverInterface $resolver)
  25. {
  26. $defaults = array();
  27. $alloweds = array();
  28. foreach (UserPrivacyManager::$configurations as $configuration_id => $configuration_default)
  29. {
  30. $defaults[$configuration_id] = $configuration_default;
  31. $alloweds[$configuration_id] = array(true, false);
  32. }
  33. $resolver->setDefaults($defaults);
  34. $resolver->setAllowedValues($alloweds);
  35. }
  36. }