PluginProbe
Double Opt-In for Contact Form 7 – Secure, GDPR-Compliant Email Verification / 5.6.3
Double Opt-In for Contact Form 7 – Secure, GDPR-Compliant Email Verification v5.6.3
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 3.0.62 All 38 releases
← All changes | src/Admin/AdminRestController.php +10 -0 5.5.0 → 5.6.3 View file →
@@ -737,8 +737,18 @@
737 737 $where[] = 'cf_form_id = %d';
738 738 $params[] = (int) $formId;
739 739 }
740 740
741 + // Confirmed opt-ins whose follow-up actions failed or have an
742 + // unknown outcome — the admin's "needs attention" list.
743 + if ( sanitize_text_field( (string) ( $request->get_param( 'follow_up' ) ?? '' ) ) === 'problem' ) {
744 + $followUpTable = $wpdb->prefix . \Forge12\DoubleOptIn\Repository\FollowUpSchema::TABLE_NAME;
745 + $problems = \Forge12\DoubleOptIn\FollowUp\FollowUpStatus::problematic();
746 + $where[] = "EXISTS (SELECT 1 FROM {$followUpTable} fu WHERE fu.optin_id = {$table}.id AND fu.status IN ("
747 + . implode( ', ', array_fill( 0, count( $problems ), '%s' ) ) . '))';
748 + $params = array_merge( $params, $problems );
749 + }
750 +
741 751 $whereClause = implode( ' AND ', $where );
742 752
743 753 // Count
744 754 $countQuery = "SELECT COUNT(*) FROM {$table} WHERE {$whereClause}";