From 64f25041ad19c55c11469571eb74b4b023c7e8fa Mon Sep 17 00:00:00 2001 From: Viktor Miller Date: Fri, 16 Jan 2026 12:30:35 +0900 Subject: [PATCH] feat(07-01): add captcha widget and error display - Render validation errors from transient at form top - Display error summary with red border - Integrate captcha widget in submit section - Position captcha above submit button - Delete transient after displaying errors Co-Authored-By: Claude Sonnet 4.5 --- includes/class-form-renderer.php | 370 +++++++++++++++++++++++++++++++ 1 file changed, 370 insertions(+) create mode 100644 includes/class-form-renderer.php diff --git a/includes/class-form-renderer.php b/includes/class-form-renderer.php new file mode 100644 index 0000000..3ad6354 --- /dev/null +++ b/includes/class-form-renderer.php @@ -0,0 +1,370 @@ + +
+
+ +
+
+ +
+

Bitte korrigieren Sie folgende Fehler:

+
    + +
  • + +
+
+ +
+
+

Umzugsliste

+
+
+


Willi-Werner-Straße 6 · 65199 Wiesbaden
+ E-Mail: info@siegel-umzug.de
+ Telefon (06 11) 2 20 20 · Fax (06 11) 2 10 10
+ Mainz: Telefon (0 61 31) 22 21 41 +

+
+
+ +
+
+
+ Voraussichtlicher Umzugstermin + +
+
+
+


In unserer Datenschutzerklärung erfahren Sie, wie die Siegel Umzüge GmbH & Co. KG Ihre Daten erfasst und verwendet.

+
+
+ +
+
+
+

Beladeadresse

+
+
+ + + + + + + + + +
+
+ +
+
+

Entladeadresse

+
+
+ + + + + + + + +
+
+ +
+
+
+

*Pflichtfelder

+
+
+
+
+
+ +
+
+ +
+
+ > +
+
+ +
+
+ +
+
+ + +
+
+ $room_label ) { + self::render_room_section( $room_key, $room_label ); + } + } + + /** + * Render single room section + * + * @param string $room_key Room key + * @param string $room_label Room label + */ + private static function render_room_section( $room_key, $room_label ) { + $items = Umzugsliste_Furniture_Data::get_furniture_items( $room_key ); + + // Navigation anchor based on room + $anchor_map = array( + 'wohnzimmer' => 'wohn', + 'schlafzimmer' => 'schlaf', + 'arbeitszimmer' => 'arbeit', + 'bad' => 'bad', + 'kueche_esszimmer' => 'kueche', + 'kinderzimmer' => 'kinder', + 'keller' => 'keller', + ); + $anchor = isset( $anchor_map[ $room_key ] ) ? $anchor_map[ $room_key ] : $room_key; + + // Post array name (capitalize first letter for legacy compatibility) + $post_array_name = ucfirst( $room_key ); + // Special case for Küche/Esszimmer + if ( 'kueche_esszimmer' === $room_key ) { + $post_array_name = 'Kueche_Esszimmer'; + } + ?> +
+
+
+ +

+
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
AnzahlBezeichnungqbmMontage?
   
0Summe 0,00 
+
+
+ + + + + + + + + + + + + + +
+
+
+

Gesamtsumme

+ + + + + + + +
0Gesamtsumme aller Zimmer0,00 
+
+
+
+ +
+
+ is_enabled() ) { + echo $captcha->render_widget(); + echo '
'; + } + ?> + + + +
+
+