=== Uncomplicated Forms ===
Contributors: mikechallis, freemius
Donate link: https://uncomplicatedforms.com/pricing/
Tags: contact form, contact form plugin, custom form, form builder, forms
Requires at least: 6.5
Tested up to: 7.1
Requires PHP: 8.2
Stable tag: 1.0.8
License: GPLv2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Author: Uncomplicated Forms
Author URI: https://uncomplicatedforms.com/

Fast, secure WordPress form builder engineered for speed. Uncomplicated, lightweight, and structured to capture leads with maximum code efficiency.

== Description ==

Uncomplicated Forms is a high-performance, meticulously engineered form builder designed for developers and site owners who prioritize speed, security, and clean data handling. Built from the ground up to meet modern coding standards, it provides a logical, "zero-bloat" solution for managing multiple contact forms with precision.

The engine features native Cloudflare Turnstile integration and Akismet AI telemetry to provide robust, multi-layered defense against automated spam submissions without frustrating puzzles.

= Engineered for Modern Environments =
* **PHP Optimization:** Leverages modern code structures like Constructor Property Promotion and Enums for clean execution speed.
* **Instance Isolation:** Safely deploy multiple different forms on a single page with zero ID collisions, CSS overlaps, or script conflicts.
* **W3C Compliant Markup:** Renders valid HTML5 and semantic ARIA labels for maximum accessibility and SEO performance.
* **Context-Aware Validation:** Intelligent error reporting that identifies specific fields (e.g., "Address is required") rather than generic system codes.
* **Privacy by Design:** Native IP Anonymization (GDPR/CCPA compliant) and secure attachment handling.

= Productivity & Portability =
* **Settings Cloner:** Instantly duplicate configurations or styles from one form ID to another. Perfect for rapid testing or creating variations.
* **Diagnostic Suite:** Built-in SMTP test tool with real-time server-side debugging information to resolve mail delivery blocks fast.
* **Field Templates (Pro):** Export and import specific field structures as portable templates. Migrate layouts between sites without exposing private email or redirect settings.

= Free Features =
* **Drag-and-Drop Builder:** Effortlessly reorder fields with native UI sorting.
* **Tri-Layer Spam Shield:** Simultaneously enable Cloudflare Turnstile, Honeypot, and Akismet AI protection.
* **Flexible Fields:** Text, Textarea, Checkbox, Radio, Select, Email, URL, Number, Phone (US), Date/Time, File Attachments, Password, and Consent.
* **Smart Address Blocks:** Pre-engineered US and International compound address fields that handle multi-line data automatically.
* **Custom Routing:** Sophisticated notification emails and autoresponders with dynamic field tags.
* **DMARC Ready:** Explicit Return-Path controls and "Enable DMARC" protocol to ensure inbox delivery.
* **Query String Pre-Fill API:** A powerful runtime lookup engine that allows you to pre-fill text inputs or pre-select dropdown options, checkboxes, and radio buttons dynamically via query parameters.

= Pro Features (Upgrade to Pro) =
* **Field Templates:** High-fidelity export/import of field configurations for fast deployment.
* **Multi-Step Wizards:** Create high-conversion multi-page forms with native pagination.
* **AJAX Background Submission:** Instant, refresh-free submissions for a seamless user experience.
* **Marketing Data Bridge:** Automatically append form data to success page URLs for CRM and tracking scripts—no extra plugins needed.
* **Professional Lead Storage:** Log submissions to an included, high-concurrency form entries database table with a dedicated "Export to CSV" button.
* **Silent CRM Connectivity:** Push data to external APIs/CRM endpoints (GET/POST) silently in the background.
* **Lead Magnets:** Attach PDFs or documents to automated visitor confirmation emails.
* **Conditional Logic:** Dynamically show or hide fields based on user input.

= Support and Documentation =
* [UncomplicatedForms.com](https://uncomplicatedforms.com/)
* [Support](https://uncomplicatedforms.com/support/)
* [Documentation](https://uncomplicatedforms.com/docs/)

== External Services ==

This plugin is designed to process and store form data locally on your server by default. It only connects to the following third-party external services if explicitly enabled or opted-in by the site administrator:

= Cloudflare Turnstile API (Optional - Disabled by Default) =
* **Purpose:** Used to verify form submissions and distinguish human visitors from automated malicious spam bots. It is only active if the administrator checks the "Enable Cloudflare Turnstile" box in settings and inputs their API keys.
* **Data Transmitted:** The user's browser challenge token and remote IP address are securely sent to Cloudflare to process the validation request.
* **Links:** [Cloudflare Terms of Service](https://www.cloudflare.com/website-terms/) | [Cloudflare Privacy Policy](https://www.cloudflare.com/privacypolicy/)

= Akismet API (Optional - Disabled by Default) =
* **Purpose:** Provides cloud-based behavioral analysis to detect and block malicious form submissions. It is only active if the administrator checks the "Enable Akismet spam protection" box in settings.
* **Data Transmitted:** The submitter's name, email address, IP address, user agent, and form message content are securely sent to the Akismet API (operated by Automattic) to analyze the submission's spam status.
* **Links:** [Akismet Terms of Service](https://akismet.com/tos/) | [Akismet Privacy Policy](https://automattic.com/privacy/)

= Freemius SDK (Optional - Opt-In upon Activation) =
* **Purpose:** Handles optional opt-in developer connection diagnostics, premium software license activation, secure monetization checkouts, and premium version update notifications.
* **Data Transmitted:** Only if explicitly opted-in by the administrator during activation, it securely transmits public WordPress environment metrics (WordPress version, active theme, active plugins list) and administrative profile details. For Pro upgrades, it processes secure API license key lookups.
* **Links:** [Freemius Terms of Service](https://freemius.com/terms/) | [Freemius Privacy Policy](https://freemius.com/privacy/)

== Installation ==

1. Go to **Plugins** > **Add New** in your WordPress dashboard.
2. Search for **"Uncomplicated Forms"**.
3. Click **Install Now**, then click **Activate**.
4. Select **"UC Forms"** from your side menu and click **"Activate Free Version"** on the activation screen (no license key required).

5. Add the shortcode `[uncomplicated-forms form="1"]` to any Page, Post, or Text Widget to display your first form.
6. (Optional) Go to the **Security** tab to configure your free Cloudflare Turnstile keys for advanced spam protection.


== Screenshots ==

1. The main form settings page with intuitive tabbed navigation.
2. Drag-and-drop field management on the Fields tab.
3. Security settings featuring Cloudflare Turnstile and IP Privacy controls.
4. Advanced Controls & Automation settings.
5. The Tools tab featuring the Settings Cloner and SMTP Diagnostics.


== Frequently Asked Questions ==

= How do I troubleshoot mail delivery? =
Use the "Send Test Email" tool on the Tools tab. It provides real-time SMTP debugging information to identify server-side blocks.

= Is this plugin GDPR compliant? =
Yes. We include a native "IP Anonymization" mode which masks user IP addresses before they are stored or emailed, ensuring compliance with global privacy standards.

= Can I use my own CSS? =
Absolutely. Use "Expert Mode" on the Styles tab to generate a clean CSS block that you can paste directly into your theme's stylesheet, allowing for a zero-plugin-footprint layout.

= I need more documentation =
Sure. It's right here: [Documentation](https://uncomplicatedforms.com/docs/)


== Credits ==

* Mike Challis - Plugin Author / Lead Architect


== Changelog ==

= 1.0.8 (2026-08-14) =
* Fix: External redirect URLs were now working.

= 1.0.7 (2026-08-08) =
* Improvement: Added new "First Name, Last Name - Inline" selection to the Name field formats dropdown list.
* Improvement: Added a 2nd "Save & Preview Form" button to the field settings tab.

= 1.0.6 (2026-08-02) =
* Fix: Updated the Query String Pre-Fill API to accept multiline inputs for textarea and message field.
* The API documentation is right here: [Documentation](https://uncomplicatedforms.com/docs/)
* Fix: HTML field type was blocking HTML.

= 1.0.5 (2026-07-29) =
* Improvement: Added a "Save & Preview Form" button to the field settings tab.
* Fix: Improved CSS for form field alignments.
* Note: To apply style updates to existing forms, you must edit each form, go to the "Styles" tab, and click "Reset All Styles to Factory Default (This Form)".

= 1.0.4 (2026-07-26) =
* Fix: Minor bug fixes.
* Fix: "Settings saved" and some other admin messages were not showing after form edits.

= 1.0.3 (2026-07-24) =
* Fix: Follow previous field was not working.
* Fix: Improved CSS alignments, margins, and padding for nested fieldsets, single checkboxes, and consent scrollboxes.
* Note: To apply style updates to existing forms, you must edit each form, go to the "Styles" tab, and click "Reset All Styles to Factory Default (This Form)".

= 1.0.2 (2026-07-14) =
* Fixed: Test email tool showing a false "Test Failed to Send" notice on successful deliveries.

= 1.0.1 (2026-07-13) =
* Maintenance: Upgraded embedded Freemius SDK framework from version 2.13.1 to 2.13.4.
* Enhanced internal security protocols and minor background performance patches.

= 1.0.0 (2026-06-17) =
* Initial release of the refactored Uncomplicated Forms engine.
* Full optimization for modern PHP architectures and core updates.
* Integrated Cloudflare Turnstile security and Akismet AI telemetry.
* Added Instance Isolation for multiple forms per page.
* Added Smart Compound Address fields (US & Intl.).
