feat: replace xss extension with symfony component

This commit is contained in:
Björn Fromme
2026-03-16 11:59:10 +01:00
parent 1e48e107fc
commit 3198e03cc4
8 changed files with 415 additions and 573 deletions
-38
View File
@@ -1,38 +0,0 @@
<?php
namespace App\Form\Extension;
use App\Form\DataTransformer\XssCleanTransformer;
use Symfony\Component\Form\AbstractTypeExtension;
use Symfony\Component\Form\Extension\Core\Type\EmailType;
use Symfony\Component\Form\Extension\Core\Type\TextareaType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
class XssCleanExtension extends AbstractTypeExtension
{
public function buildForm(FormBuilderInterface $builder, array $options): void
{
if (true === $options['clean_xss']) {
$builder->addModelTransformer(new XssCleanTransformer());
}
}
public function configureOptions(OptionsResolver $resolver): void
{
$resolver->setDefaults([
'clean_xss' => false,
]);
$resolver->setAllowedTypes('clean_xss', 'bool');
}
public static function getExtendedTypes(): iterable
{
return [
TextType::class,
TextareaType::class,
EmailType::class,
];
}
}