=== Enudge ===
Contributors: Contactpoint
Tags: Email Marketing, SMS marketing, Australian Businesses, API Integration, Wordpress Forms
Donate link: http://contactpoint.com.au
Requires at least: 4.0
Tested up to: 6.7.2
Requires PHP: 7.2
Stable tag: 0.0.6
License: GPLv2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html

Easily integrate your WordPress forms and chosen forms plugin with the Enudge Email and SMS marketing platform API.

== Description ==
The Enudge WordPress Plugin seamlessly integrates your WordPress forms and the Chosen Forms plugin with Enudge the leading Email and SMS marketing platform for Australian businesses. This powerful plugin enables you to effortlessly connect your form submissions to your Enudge account via Enudge API, to create a new contact and optionally add that contact into a Message Series, enabling streamlined communication and marketing automation.

== Key Features ==
* Easy Integration: Quickly and easily link your WordPress and Chosen Forms with Enudge API.
* Automated Data Sync: Automatically sync form submissions to your Enudge contact lists for efficient email and SMS campaigns.
* Customizable Form Fields: Map form fields to Enudge fields to ensure accurate data transfer and personalized marketing messages.
* Super Fast Performance: Experience lightning-fast integration with no performance issues, ensuring a smooth and efficient user experience.
* Wide Compatibility: Supports the most powerful WordPress form plugins, including:
** Elementor Forms
** Contact Form 7
** Formidable Forms
** Forminator Forms
** FluentForms
** WPForms
** Gravity Forms
** WordPress Comments
** WooCommerce Reviews
** WordPress Registration Forms
** WooCommerce Registration Forms

Whether you're a small business or a large enterprise, the Enudge WordPress Plugin helps you maximize your marketing efforts by integrating your form submissions with Australia’s premier email and SMS marketing platform. Start leveraging the power of Enudge today to boost your marketing performance and drive business growth.

== Installation ==
1. Upload ‘enudge.zip’ to the ‘/wp-content/plugins/’ directory.
2. Activate the plugin through the ‘Plugins’ menu in WordPress.
3. Put your Enudge Licence Key to the plugin options.
4. Field Mapping
    * When mapping your form fields to your Enudge account, please view this help article for the list of available fields: <a href="https://help.enudge.com.au/en/articles/2837974-rest-web-services-for-adding-a-contact">Rest web services for adding a contact</a>
    * We recommend that you add a hidden field into your form with an ID of ‘categories’ and give that field a default value which matches the category you would like a person to be added to.  If you want the form submitter to be added to multiple categories, include each category name in the default value, with a ‘:’ in between.
    * Alternatively, if you are allowing your website visitor to specify the categories / interests themselves by choosing from a multi-select drop down, you will need to create custom code to build the selected value/s into the categories field, again with a ‘:’ in between each category.

== Third-Party Services ==

This plugin relies on the Enudge service to function. It communicates with the Enudge API to add and manage contacts. By using this plugin, you agree to the terms of service and privacy policies of Enudge.

Service: [Enudge](https://www.enudge.com.au/ "Enudge")
Terms of Service: [Enudge Terms of Service](https://www.enudge.com.au/terms-and-conditions "Enudge Terms of Service")
Privacy Policy: [Enudge Privacy Policy](https://www.enudge.com.au/privacy-policy "Enudge Privacy Policy")

== API Endpoint ==
[Enudge API REST Web Services](https://help.enudge.com.au/en/articles/2837974-rest-web-services-for-adding-a-contact "Enudge API REST Web Services")

== Frequently Asked Questions ==
= Do I need an Enudge account to use this plugin? =
Yes, you will need an Enudge account and API credentials to use this plugin.

= Is my data safe? =
Yes, the Enudge service takes privacy and data security seriously. Please refer to their Privacy Policy for more information.

= Does the plugin work with all Wordpress forms? =
Enudge currently supports:

* Elementor forms
* Contact form 7
* Formidable forms
* Forminator forms
* Fluentforms
* Wpforms
* Gravityforms
* Wordpress comments
* Woocommerce review
* Wordpress registration form
* Woocommerce registration form
More forms will be supported in future releases.

= Where do I set this up? =
In the WordPress dashboard menu, look for the Enudge item and click on options.

= Will Enudge slow down my site? =
No.
We developed this plugin using high-quality standardard server-side code to ensure optimal website performance.

= Do I need a Enudge API Key for using this plugin? =
Yes, you need an Enudge API Key to use this plugin. The API key is required to authenticate your requests and access the full functionality of the Enudge platform. You can obtain your API key by signing up on the Enudge website and navigating to the API section in your account settings.

== Screenshots ==
screenshot-1.png
screenshot-2.png
screenshot-3.png

== Changelog ==
= 0.0.2 =
* Initial release.
= 0.0.3 =
* Useing more unique and distinct names for function names, namespaces, defines, class and option names
- Remove all of the inline CSS and JS and put them to admin-style.css and admin-script.js 
- Remove the unused https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/js/select2.min.js external call
- Well documented use of a 3rd Party or external service enudge API in the readme file
- Checking a nonce using wp_verify_nonce and sanitize the input using wp_unslash AND sanitize_text_field
- Adding enudege prefix to the name of following function
    - function get_enudge_footer -> enudge_get_footer
    - function activate_enudge -> enudge_activate
    - function deactivate_enudge -> enudge_deactivate
    - function run_plugin_name -> enudge_run_plugin_name
    - function enudge_build_table -> enudge_build_table
    - function extractEmailsUsingFilter -> enudge_extract_emails_using_filter
    - function extractAustralianMobileNumbers -> enudge_extract_australian_mobile_numbers
    - function convertToInternationalFormat -> enudge_convert_to_international_format
    - function sendToEnudge -> enudge_send_to
    - function allow_html -> enudge_allow_html
    - register_setting('settings_page_option_settings_page' -> register_setting('enudge_settings_page_option_settings_page'
    - register_setting('settings_page_pro_settings_page' -> register_setting('enudge_settings_page_pro_settings_page'
    - cfes_clear_log_nonce -> enudge_clear_log_nonce
- Block Direct File Access to plugin files
    - enudge/includes/forms/wp-general.php
    - includes/class-enudge-i18n.php
    - includes/class-enudge-api.php
- Remove unused files
    - admin/enudge-ajax-script.js
    - admin/js/settings-page-admin.js
    - assets/js/settings-page-public.js
    - assets/partials/efas-public-display.php
- Changing the way calling static video file to use plugin_dir_url function
= 0.0.4 =
* Some text has been imporved.
= 0.0.5 =
* The API call is made only when the form is set to use the Enudge plugin.
* All plugins related to integrating Enudge have been updated to support this new feature.
* The integration walkthrough for mapping fields to the Enudge API has been updated for all supported forms.
= 0.0.6 =
* Fixing the issue where comments are not working when wp_comment and woocommerce_review are turned off.
* Upgrading the minimum php version to 5.6 to 7.2
