PluginProbe
Double Opt-In for Contact Form 7 – Secure, GDPR-Compliant Email Verification / 5.7.0
Double Opt-In for Contact Form 7 – Secure, GDPR-Compliant Email Verification v5.7.0
5.7.0 5.6.2 5.6.3 5.6.1 5.6.0 5.5.0 5.4.0 5.3.2 5.3.1 5.1.6 5.1.5 trunk 2.1.5 2.11 2.12 2.13 2.15 3.0.0 3.0.1 3.0.2 3.0.3 3.0.5 3.0.51 3.0.60 3.0.61 All 39 releases
← All changes | CF7DoubleOptIn.class.php +25 -4 5.4.0 → 5.7.0 View file →
@@ -14,9 +14,9 @@
14 14 * Plugin URI: https://www.forge12.com/blog/so-verwendest-du-das-double-opt-in-fuer-contact-form-7/
15 15 * Description: This plugin allows you to add a double OptIn System to your Contact Form 7 & Avada Forms.
16 16 * Text Domain: double-opt-in
17 17 * Domain Path: /languages
18 - * Version: 5.4.0
18 + * Version: 5.7.0
19 19 * Requires at least: 6.0
20 20 * Requires PHP: 7.4
21 21 * Author: Forge12 Interactive GmbH
22 22 * Author URI: https://www.forge12.com
@@ -56,9 +56,9 @@
56 56 return;
57 57 }
58 58
59 59 if ( ! defined( 'FORGE12_OPTIN_VERSION' ) ) {
60 - define( 'FORGE12_OPTIN_VERSION', '5.4.0' );
60 + define( 'FORGE12_OPTIN_VERSION', '5.7.0' );
61 61 }
62 62
63 63 // Addon API version — semver-independent from the plugin's marketing
64 64 // version. Bumped only on breaking changes to the Addon API surface
@@ -64,10 +64,20 @@
64 64 // version. Bumped only on breaking changes to the Addon API surface
65 65 // (AddonInterface, AddonRegistry, AddonLicenseRegistry, FormIntegrationInterface,
66 66 // event payloads). Addons declare their requirement against this constant,
67 67 // not FORGE12_OPTIN_VERSION.
68 + //
69 + // 4.4.0 (additive): FollowUp\FollowUpAdapterInterface, FollowUpCoordinator,
70 + // FollowUpAdapterRegistry. Addons that implement follow-up adapters
71 + // require ^4.4; everything else keeps working against 4.3.
72 + //
73 + // 4.5.0 (additive): AbstractFormIntegration::refusedConsentBeforeSubmit(),
74 + // OptInError::isAlwaysShown()/shouldShowToVisitor(),
75 + // OptInFrontend::getLastCreationError(), ErrorNotification::forget().
76 + // The Elementor, WPForms and Gravity Forms add-ons call them only when they
77 + // exist (method_exists), so their requirement stays ^4.4.
68 78 if ( ! defined( 'F12_DOI_CORE_API_VERSION' ) ) {
69 - define( 'F12_DOI_CORE_API_VERSION', '4.3.0' );
79 + define( 'F12_DOI_CORE_API_VERSION', '4.5.0' );
70 80 }
71 81 if ( ! defined( 'FORGE12_OPTIN_SLUG' ) ) {
72 82 define( 'FORGE12_OPTIN_SLUG', 'f12-cf7-doubleoptin' );
73 83 }
@@ -98,8 +108,11 @@
98 108 require_once 'core/BaseController.class.php';
99 109
100 110 require_once 'OnActivation.php';
101 111 require_once 'OnDeactivation.php';
112 + // OnUpdate runs at include time, before autoload.php is registered
113 + // further down — load the one PSR-4 class it needs explicitly.
114 + require_once 'src/Repository/FollowUpSchema.php';
102 115 require_once 'OnUpdate.php';
103 116 require_once 'compatibility/OptInFrontend.class.php';
104 117 require_once 'core/SpamMechanics.class.php';
105 118
@@ -436,8 +449,11 @@
436 449
437 450 // Register admin REST API and audit services (v4.2.0+)
438 451 $container->addProvider( new \Forge12\DoubleOptIn\Providers\AdminServiceProvider() );
439 452
453 + // Setup wizard (v5.7.0+)
454 + $container->addProvider( new \Forge12\DoubleOptIn\Providers\SetupServiceProvider() );
455 +
440 456 // Register licensing registry (v4.3.0+ — entitlement state for paid addons)
441 457 $container->addProvider( new \Forge12\DoubleOptIn\Providers\LicensingServiceProvider() );
442 458
443 459 // Register migration registry (v4.3.0+ — runs pending DB migrations on admin_init)
@@ -442,8 +458,13 @@
442 458
443 459 // Register migration registry (v4.3.0+ — runs pending DB migrations on admin_init)
444 460 $container->addProvider( new \Forge12\DoubleOptIn\Providers\MigrationServiceProvider() );
445 461
462 + // Register follow-up coordinator (v5.6.0+ — status + retry of
463 + // post-confirmation actions). Before AddonServiceProvider so
464 + // the adapter registry exists when the form addons boot.
465 + $container->addProvider( new \Forge12\DoubleOptIn\Providers\FollowUpServiceProvider() );
466 +
446 467 // Register addon system (v4.3.0+ — public Addon API)
447 468 $container->addProvider( new \Forge12\DoubleOptIn\Providers\AddonServiceProvider() );
448 469
449 470 // Register health checks (v5.3.0+ — Site Health surfaces for
@@ -706,9 +727,9 @@
706 727 // Show warning for major/minor version changes
707 728 if ( version_compare( $new_minor, $current_minor, '>' ) ) {
708 729 $upgrade_notice = sprintf(
709 730 '</p><div class="notice inline notice-warning notice-alt" style="margin: 10px 0; padding: 10px; border-left-color: #ffb900;"><p><strong>%s</strong></p><p>%s</p></div><p style="display:none;">',
710 - esc_html__( '⚠️ Important: Major Update – Please backup before updating!', 'double-opt-in' ),
731 + esc_html__( 'Important: Major Update – Please backup before updating!', 'double-opt-in' ),
711 732 esc_html__( 'This version includes significant changes to the form management system, email templates, and database structure. We strongly recommend creating a full site backup before updating.', 'double-opt-in' )
712 733 );
713 734
714 735 echo wp_kses_post( $upgrade_notice );