=== FormGlut — Drag & Drop Form Builder ===
Contributors: appglut
Tags: form, form builder, contact form, drag and drop, forms
Requires at least: 5.3
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 1.3.1
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

A lightweight drag-and-drop form builder with entry management, email notifications, restrictions and spam protection.

== Description ==

FormGlut is a lightweight form builder for WordPress with a drag-and-drop editor. Build forms, collect and manage entries, send email notifications and protect your forms from spam, all from one admin interface.

**Form builder**

* Drag-and-drop editor with live preview and desktop, tablet and mobile views
* Ten field types: text, email, text area, dropdown, multiple select, number, radio buttons, checkboxes, website URL and phone number
* Field options: required, placeholder, default value, help text, prefix and suffix, custom validation message, unique values, input masks, custom validation rules, word and character limits, selection limits and a hidden field option
* Fill fields automatically from the page address, the logged-in user, a cookie or the current post
* Conditional logic and "who sees this field" rules
* Style every field: label placement and width, field width, padding, margin, border radius, colors and custom CSS classes
* Customizable submit button: text, text while sending, size, alignment, colors, radius, font and height
* Embed any form with the `[formglut id="X"]` shortcode

**Form settings (per form)**

* Confirmation: show a message, or redirect to a page, post or address, with values from the form in the address; clear, hide or keep the form after sending
* Notifications: several recipients, CC, BCC, from name and email, reply-to, subject and message with smart tags, and a confirmation email to the visitor
* Restrictions: logged-in users only, entry limit, open and close dates, reject empty submissions, one entry per IP address
* Spam and privacy: honeypot, Akismet, blocked words, submissions per hour, minimum time to fill, same-site check, choose whether to save entries or IP addresses, and delete entries after a number of days
* Layout and CSS: form width and alignment, custom CSS, JavaScript after a successful submission
* Integrations: send entries to any webhook URL (for example Zapier, Make or n8n) or post them to Slack
* Count form views for the views and conversion figures

**Forms and entries**

* All Forms: search, filter by status and date, duplicate, delete, activate, close, import and export, views, entries and conversion rate
* Entries: search, filter by form, status and date, read and unread, star, spam, trash and restore, notes, reply by email, resend the notification, print and export to CSV
* Closed forms show a "closed" message instead of the form

**Data and logs**

* Export and import forms, with or without their entries
* Activity log, API log (webhook and Slack requests) and email log with a test-email sender
* System status with health checks, and maintenance tasks
* Works with the WordPress personal data export and erase tools

**Global settings**

* Default form status, whether to store entries, admin notification email, sender name and email, subject template, success and error messages, honeypot, and removing all data when the plugin is deleted

== External services ==

FormGlut sends data to another service only when you set it up.

**Webhooks.** If you turn on "Send entries to a webhook" for a form, each submission is posted to the web address you enter (for example a Zapier, Make or n8n address). The data sent is the form name, entry ID, time, page address and the submitted answers. The service you choose is responsible for what it does with them.

**Slack.** If you turn on "Post new entries to Slack" for a form, a message with the submitted answers is posted to the Slack incoming webhook address you enter (`https://hooks.slack.com/…`). [Terms](https://slack.com/terms-of-service) | [Privacy](https://slack.com/trust/privacy/privacy-policy)

**Akismet.** If you turn on "Check with Akismet" for a form and the Akismet plugin is active with an API key, the submitted answers, the visitor's IP address and browser, and the page address are sent to Akismet to check for spam. [Terms](https://automattic.com/terms-of-service/) | [Privacy](https://automattic.com/privacy/)

== Installation ==

1. Upload the `formglut` folder to `/wp-content/plugins/`.
2. Activate the plugin through the Plugins menu in WordPress.
3. Navigate to **FormGlut** in the admin menu to start building forms.

== Frequently Asked Questions ==

= How do I add a form to a page? =

Use the shortcode `[formglut id="X"]` where X is your form ID.

= Can I move my forms to another site? =

Yes. Use **Data & Logs → Export forms** to download a file (with or without entries) and **Import forms** on the other site.

= Where is the email log? =

Under **Data & Logs → Email log**. Turn it on there to record recipient, subject and status of the last 50 emails.

= Does FormGlut work with any theme? =

Yes, FormGlut is designed to work with any properly coded WordPress theme.

= Will FormGlut slow down my website? =

No. FormGlut only loads its scripts and styles on pages that contain a FormGlut form.

== Changelog ==

= 1.3.1 =
* Entry page: the paper-plane button now sends the confirmation email to the address on the entry (even when the automatic confirmation is off); a small menu next to it sends the admin notification again. The button is disabled when the entry has no email address.

= 1.3.0 =
* New per-form settings: Confirmation, Notifications, Restrictions, Spam & privacy, Layout & CSS, Integrations (webhook, Slack) and Entries & analytics
* Ten field types with complete options, input masks, custom validation rules, prefill from URL, user, cookie or post, and conditional logic
* Entries: Trash, Spam and Restore, notes, reply by email, resend notification, CSV export, and search that finds accented text and entry IDs
* All Forms: sortable views, entries and conversion, search by ID, close forms, accurate counts, and deleting a form also deletes its uploaded files
* Data & Logs: export and import forms with entries, activity, API and email logs, system status and maintenance tasks
* Global Settings: default form status, several admin notification addresses, messages with line breaks, and complete data removal on uninstall
* Form views are counted by the browser, so cached pages count correctly
* Closed forms show a message instead of disappearing
* Stronger spam checks: whole-word blocked words, fairer rate limit, same-site check that works with hidden referrers
* Fixes: saving Global Settings no longer reports a failure when nothing changed; Hide Field keeps its value; "Validate as unique" finds duplicates anywhere in an entry
* Security: escaped admin output, Slack messages escape visitor text, sender names cannot inject email headers
* Requires WordPress 5.3 or later

= 1.2.0 =
* Complete rebuild with modern React-based admin UI
* New drag-and-drop form editor with live preview
* 17 field types supported
* Entry management with read/unread status, starring, and filtering
* Email notifications with customizable sender and subject
* reCAPTCHA v3 and honeypot spam protection
* Form analytics (views, submissions, conversion rates)
* Device preview (desktop, tablet, mobile)
* Customizable field and button styling
* AJAX form submission

= 1.1.2 =
* Updated plugin name to comply with WordPress directory guidelines
* Removed marketing claims and superlatives from readme description
* Improved description language to meet WordPress standards

= 1.1.1 =
* Name Field And Section Break Fields Improved

= 1.1.0 =
* Appearance Adjusted

= 1.0.9 =
* Some Code Adjusted

= 1.0.8 =
* Bug Adjusted

= 1.0.7 =
* Some Code Adjusted

= 1.0.6 =
* Information Updated

= 1.0.5 =
* Some Information Updated

= 1.0.4 =
* Some Information Updated

= 1.0.3 =
* Some Information Updated

= 1.0.2 =
* Fixed Some Bugs, added some features

= 1.0.1 =
* Fixed Some Bugs, added some features

= 1.0.0 =
* Initial release

== Upgrade Notice ==
= 1.3.1 =
The resend button on an entry now emails the visitor; the admin notification has its own menu item.

= 1.3.0 =
Adds per-form settings, a Trash for entries and new Data & Logs tools. Existing forms and entries are kept. Requires WordPress 5.3 or later.

= 1.2.0 =
Major update with a completely rebuilt admin interface. Your existing forms and entries are preserved.
