1: <?php
2:
3: namespace Mapbender\CoreBundle\Element\Type;
4:
5: use Symfony\Component\Form\AbstractType;
6: use Symfony\Component\Form\FormBuilderInterface;
7: use Symfony\Component\OptionsResolver\OptionsResolverInterface;
8:
9: /**
10: *
11: */
12: class SearchRouterFormType extends AbstractType
13: {
14:
15: /**
16: * @inheritdoc
17: */
18: public function getName()
19: {
20: return 'search_form';
21: }
22:
23: /**
24: * @inheritdoc
25: */
26: public function setDefaultOptions(OptionsResolverInterface $resolver)
27: {
28: $resolver->setDefaults(array(
29: 'fields' => array()));
30: }
31:
32: /**
33: * @inheritdoc
34: */
35: public function buildForm(FormBuilderInterface $builder, array $options)
36: {
37: foreach($options['fields']['form'] as $name => $conf)
38: {
39: $conf = array_merge_recursive(array(
40: 'options' => array(
41: 'required' => false)), $conf);
42:
43: $builder->add($name, $conf['type'], $conf['options']);
44: }
45: }
46:
47: }
48: