getSteps(); $csrf = Csrf::token(); $app = Bootstrap::config('app'); $disclaimerConfigRaw = $app['disclaimer'] ?? []; if (is_string($disclaimerConfigRaw)) { $disclaimerConfig = ['text' => $disclaimerConfigRaw]; } elseif (is_array($disclaimerConfigRaw)) { $disclaimerConfig = $disclaimerConfigRaw; } else { $disclaimerConfig = []; } $disclaimerTitle = (string) ($disclaimerConfig['title'] ?? 'Hinweis'); $disclaimerText = (string) ($disclaimerConfig['text'] ?? ''); $disclaimerAcceptLabel = (string) ($disclaimerConfig['accept_label'] ?? 'Hinweis gelesen, weiter'); $addressDisclaimerConfigRaw = $app['address_disclaimer'] ?? ($app['address_disclaimer_text'] ?? ''); if (is_string($addressDisclaimerConfigRaw)) { $addressDisclaimerText = $addressDisclaimerConfigRaw; } elseif (is_array($addressDisclaimerConfigRaw)) { $addressDisclaimerText = (string) ($addressDisclaimerConfigRaw['text'] ?? ''); } else { $addressDisclaimerText = ''; } $baseUrl = Bootstrap::baseUrl(); /** @param array $field */ function renderField(array $field, string $addressDisclaimerText): void { $keyRaw = (string) ($field['key'] ?? ''); $key = htmlspecialchars($keyRaw); $label = htmlspecialchars((string) $field['label']); $type = (string) ($field['type'] ?? 'text'); $requiredAlways = (bool) ($field['required'] ?? false); $requiredConditional = isset($field['required_if']) && is_array($field['required_if']); $required = $requiredAlways ? 'required' : ''; $requiredLabel = ''; if ($requiredAlways) { $requiredLabel = ' '; } elseif ($requiredConditional) { $requiredLabel = ' '; } $fieldClass = 'field'; if ($requiredAlways || $requiredConditional) { $fieldClass .= ' mandatory-field'; } if ($requiredAlways) { $fieldClass .= ' mandatory-field-hard'; } echo '
'; if ($type === 'checkbox') { echo ''; } else { echo ''; if ($type === 'textarea') { echo ''; } elseif ($type === 'select') { echo ''; } elseif ($type === 'file') { $accept = htmlspecialchars((string) ($field['accept'] ?? '')); $description = trim((string) ($field['description'] ?? '')); $fileInputId = $key . '_file'; $cameraInputId = $key . '_camera'; echo '
'; echo '
'; echo ''; echo ''; echo '
'; if ($description !== '') { echo '' . nl2br(htmlspecialchars($description)) . ''; } echo ''; echo ''; echo '

Keine Datei gewählt

'; echo '
'; echo '
'; } else { $inputType = htmlspecialchars($type); echo ''; } } $subtext = trim((string) ($field['subtext'] ?? '')); if ($subtext !== '') { echo '' . nl2br(htmlspecialchars($subtext)) . ''; } if ($keyRaw === 'strasse' && trim($addressDisclaimerText) !== '') { echo '
' . nl2br(htmlspecialchars($addressDisclaimerText)) . '
'; } if (isset($field['required_if']) && is_array($field['required_if'])) { $depField = htmlspecialchars((string) ($field['required_if']['field'] ?? '')); $depValue = htmlspecialchars((string) ($field['required_if']['equals'] ?? '')); echo 'Pflichtfeld, wenn ' . $depField . ' = ' . $depValue . '.'; } echo '
'; echo '
'; } ?> <?= htmlspecialchars((string) $app['project_name']) ?>

Digitaler Mitgliedsantrag Feuerwehrverein