=== Integration for MailPoet and CF7 ===
Contributors: monirulalom
Donate link: https://monirulalom.com/
Tags: contact form 7, mailpoet, newsletter, subscribers, field mapping
Requires at least: 5.8
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 1.0.3
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Map Contact Form 7 submissions to MailPoet subscribers with per-form field mapping, consent control, list selection, and error logging.

== Description ==

Integration for MailPoet and CF7 connects Contact Form 7 and MailPoet in a practical, admin-friendly workflow.

After enabling the plugin, you get a **CF7 Integration** submenu under MailPoet where you can:

* Select a Contact Form 7 form from a form list
* Map CF7 fields to MailPoet subscriber fields
* Choose one or more MailPoet lists per form
* Review sync errors from the integration screen

The plugin includes a dedicated CF7 form-tag generator for `mailpoet_signup_consent`, including privacy-policy link support.

Key behavior:

* Subscribers are added only when `mailpoet_signup_consent` is checked
* MailPoet Email must be mapped to a CF7 email-type field
* A form must contain exactly one `mailpoet_signup_consent` tag for configuration
* Error logs are stored in a dedicated custom database table

== Installation ==

1. Upload the plugin folder to `/wp-content/plugins/` or install it from your deployment workflow.
2. Activate **Integration for MailPoet and CF7** from WordPress Plugins.
3. Make sure both **Contact Form 7** and **MailPoet** are installed and active.
4. Go to **MailPoet -> CF7 Integration**.
5. Choose a form from the list and click **Configure**.
6. Map MailPoet fields (especially **Email**) to CF7 fields, select lists, and save.
7. In your CF7 form, include exactly one `mailpoet_signup_consent` tag.

== Frequently Asked Questions ==

= Where is the settings page? =

Go to **MailPoet -> CF7 Integration** in wp-admin.

= Why is the Configure button disabled for a form? =

That form either has no `mailpoet_signup_consent` tag or has more than one.
Keep exactly one `mailpoet_signup_consent` tag in the form template.

= Why are subscribers not being added after form submission? =

Common causes:

* `mailpoet_signup_consent` was not checked
* MailPoet Email is not mapped
* Email is mapped to a non-email CF7 field
* No valid list selection or mapping for the form

Check the sync logs in the same integration screen for details.

= Is newsletter signup optional or required? =

By default, `mailpoet_signup_consent` is optional.
If you use `mailpoet_signup_consent*`, it becomes required by CF7 validation.

= Can I use more than one mailpoet signup consent tag in one form? =

No. A form must contain only one `mailpoet_signup_consent` tag.

= Where are sync logs stored? =

In a custom database table:
`{wp_prefix}integration_for_mailpoet_and_cf7_sync_logs`

== Changelog ==

= 1.0.3 =

Tested up to: 7.1

= 1.0.2 =

Added required field option

= 1.0.1 =

Tested up to: 7.0

= 1.0.0 =

* Initial stable release
* MailPoet submenu with per-form CF7 mapping UI
* MailPoet list selection per form
* Consent tag generator with privacy policy link support
* Consent-gated subscriber sync
* Email mapping validation to CF7 email fields
* Dedicated custom table for error logs

== Upgrade Notice ==

= 1.0.1 =

Tested up to: 7.0

= 1.0.0 =

Initial stable release.
