Files
Reservair/includes/Services/Forms/RsvFormHtmlRenderer.php
T

39 lines
893 B
PHP
Raw Normal View History

2026-06-11 19:03:29 +02:00
<?php
class RsvFormHtmlRenderer {
public function draw(RsvFormDefinition $form): bool {
if (!$form->hasElements()) {
return false;
}
$form_id = esc_attr($form->getId());
?>
<div>
<form class="reservair-form confirmation"
id="<?= $form_id ?>"
onsubmit="RsvFormSender.send_form(event)"
method="POST">
<?php foreach ($form->getElements() as $element): ?>
<?php $this->draw_element($element); ?>
<?php endforeach; ?>
</form>
</div>
<?php
return true;
}
public function draw_element(RsvFormElementDefinition $data): void {
global $rsv_form_registry;
$handler = $rsv_form_registry->get($data->getType());
if ($handler === null) {
return;
}
$handler->draw($data);
}
}