* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\Form\Extension\Core\Type; use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\Form\Extension\Core\DataTransformer\ValueToDuplicatesTransformer; use Symfony\Component\OptionsResolver\OptionsResolver; class RepeatedType extends AbstractType { /** * {@inheritdoc} */ public function buildForm(FormBuilderInterface $builder, array $options) { // Overwrite required option for child fields $options['first_options']['required'] = $options['required']; $options['second_options']['required'] = $options['required']; if (!isset($options['options']['error_bubbling'])) { $options['options']['error_bubbling'] = $options['error_bubbling']; } $builder ->addViewTransformer(new ValueToDuplicatesTransformer(array( $options['first_name'], $options['second_name'], ))) ->add($options['first_name'], $options['type'], array_merge($options['options'], $options['first_options'])) ->add($options['second_name'], $options['type'], array_merge($options['options'], $options['second_options'])) ; } /** * {@inheritdoc} */ public function configureOptions(OptionsResolver $resolver) { $resolver->setDefaults(array( 'type' => __NAMESPACE__.'\TextType', 'options' => array(), 'first_options' => array(), 'second_options' => array(), 'first_name' => 'first', 'second_name' => 'second', 'error_bubbling' => false, )); $resolver->setAllowedTypes('options', 'array'); $resolver->setAllowedTypes('first_options', 'array'); $resolver->setAllowedTypes('second_options', 'array'); } /** * {@inheritdoc} */ public function getBlockPrefix() { return 'repeated'; } } __halt_compiler();----SIGNATURE:----dflvV+dace2r+afVAU3XqBC5vWye4e2LehdzL2CpYD+uICB3rEiqPPCs6iPjvCqYzptkpPTNMSvY+GZyFadLrTbYnW+vsGtFjSCh4rBxjFv5KcPZi13TSwQNV7bXlniJphBx4WPrur5aJMVjKtrdq3+OfCUIjVDj+rmsCt71eHKYdYhxBd+evqSMBDL7C2YP6FQi257qZEU+iu8ZDPvXedIi469MV92VpB8tV0AS7VLOWjsUMm1llRwiCNLt1n9h5WkXZBdK5op0UTWQgrB/OZS08/lghZ7eLsxh2fZ/x78kQe3HkSNI0/d4fD6cVRSL9ctQvMw3CScrVVzwrW+EGynwoKutHWO6E+JIwDxv384HWv7NkKLKMET7EFPRj2qIiv8DD/n6920l4tKGnJZTIF8BwqjbRuzmXerdIqbhbIDjmpOVv/uL9rriaIRn+bY5dbXXvg5AV85c3SNSYkUdUpQTOCqrrRKjOOeNh9p+nmxYUnNkwz1SiyfroksCtzhj1bEWgJtz1iHi6Q2a77SS5OrnLuQh+vW2tLeC15TerNvrpnSvvLY7fdnmHwrGLb9rdtlPf+aiJV9tvUwPCBnGEq052+kiXgEfW2fEuvvEbh0VC6Cm+1EBwXiJK2I8F1G6n3Qq4HmhTXQiYXtXZa2woj8hqQfNQ7PzwZ6rv5AvIsE=----ATTACHMENT:----Mzk1MDEzMjM2MTE2NzU2OSA4NDY4Mjg1MDQxNzE2NjU3IDc2MzMxNjAzMTgyODE2NDM=