Skip to content

Commit 303b1cb

Browse files
authored
fix FormProvider to only use CitoForms
1 parent eecec82 commit 303b1cb

File tree

1 file changed

+8
-11
lines changed

1 file changed

+8
-11
lines changed

Service/FormProvider.php

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ public function createForms()
7878
foreach ($formDir as $class) {
7979
$class = $this->formNamespace.rtrim($class, '.php');
8080
try {
81-
if (class_exists($class) && !(new \ReflectionClass($class))->isAbstract()) {
81+
if (class_exists($class) && is_subclass_of($class, CitoForm::class) && !(new \ReflectionClass($class))->isAbstract()) {
8282
$form = $this->createForm($class);
8383
$this->forms[$form->getName()] = $form;
8484
}
@@ -144,17 +144,14 @@ public function processForm(string $name, Request $request)
144144
$class = $this->SnakecaseToCamelcase($form->getName());
145145
$class = $this->formNamespace.rtrim($class, '.php');
146146
try {
147-
if (class_exists($class)) {
148-
$reflection = new \ReflectionClass($class);
149-
if ($reflection->isSubclassOf(CitoForm::class)) {
150-
$class::setUp($this->container);
151-
$result = $class::postSubmit($form);
152-
if ($flash = $class::flashMessage()) {
153-
$this->container->get('session')->getFlashBag()->add($flash->type, $flash->message);
154-
}
155-
$class::reset();
156-
return $result;
147+
if (class_exists($class) && is_subclass_of($class, CitoForm::class)) {
148+
$class::setUp($this->container);
149+
$result = $class::postSubmit($form);
150+
if ($flash = $class::flashMessage()) {
151+
$this->container->get('session')->getFlashBag()->add($flash->type, $flash->message);
157152
}
153+
$class::reset();
154+
return $result;
158155
}
159156
} catch (\ReflectionException $e) {
160157
$this->logger->error($e->getMessage(), [

0 commit comments

Comments
 (0)