From c8fb144690a52b2caa0e346b496a37f7a8568104 Mon Sep 17 00:00:00 2001 From: JensFalk Date: Mon, 21 Sep 2026 15:25:08 +0200 Subject: [PATCH] Bootstrap.php hinzufuegen --- fp_altcha_spamschutz/Bootstrap.php | 95 ++++++++++++++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 fp_altcha_spamschutz/Bootstrap.php diff --git a/fp_altcha_spamschutz/Bootstrap.php b/fp_altcha_spamschutz/Bootstrap.php new file mode 100644 index 0000000..84604c4 --- /dev/null +++ b/fp_altcha_spamschutz/Bootstrap.php @@ -0,0 +1,95 @@ +getPlugin(); + + $altchaService = new AltchaService($plugin); + $templateHandler = new TemplateHandler($plugin, $altchaService); + $validationHandler = new ValidationHandler($altchaService); + + // Frueheste moegliche Pruefung der Newsletter-Anmeldung: laeuft direkt hier, noch + // bevor JTL-Shop das $_POST verarbeitet. Siehe ValidationHandler::guardNewsletterSubmission(). + $validationHandler->guardNewsletterSubmission(); + + // Widget (Container + Skript) in Registrierungs- und Newsletter-Formular einfuegen. + $dispatcher->listen( + 'shop.hook.' . \HOOK_SMARTY_OUTPUTFILTER, + [$templateHandler, 'generalTemplateIntegration'] + ); + + // Registrierung: Plausibilitaetspruefung nach Formularabsendung. + $dispatcher->listen( + 'shop.hook.' . \HOOK_REGISTRIEREN_PAGE_REGISTRIEREN_PLAUSI, + [$validationHandler, 'checkRegistrationPlausibility'] + ); + + // Newsletter: zusaetzliche Absicherung kurz vor dem Speichern des Empfaengers. + if (\defined('HOOK_NEWSLETTER_PAGE_EMPFAENGEREINTRAGEN')) { + $dispatcher->listen( + 'shop.hook.' . \HOOK_NEWSLETTER_PAGE_EMPFAENGEREINTRAGEN, + [$validationHandler, 'checkNewsletterRecipient'] + ); + } + } catch (\Throwable $e) { + error_log('[fp_altcha_spamschutz] Fehler beim Initialisieren des Plugins: ' . $e->getMessage()); + } + } +}