=== Lijn-B Forms ===
Contributors: lijn-b
Donate link: https://ko-fi.com/lijnb
Tags: forms, contact form, form builder, entries, bricks
Requires at least: 6.0
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 0.5.1
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

A calm, simple form builder with entries, email notifications and a link to Lijn-B Mailflow. No subscription, no premium version.

== Description ==

Lijn-B Forms lets you build contact forms, signups and short questionnaires in the WordPress admin, with a live preview next to the builder. You choose per form whether entries are stored, who gets a notification and what the sender sees afterwards.

It does what a form should do and nothing more: no license key, no upsells and no monthly fee.

Features:

* Form builder in the admin with a live preview: text, email, phone, number, date, URL, text area, dropdown, radio buttons, checkboxes, consent checkbox, hidden fields and text blocks.
* Field width (full, half, third, two thirds), a CSS class per field and one show/hide condition per field.
* Multi-page forms: add page breaks, with next and previous buttons, a progress indicator, your own button texts and your own colours, corner radius and button position.
* Email notifications to you and, if you like, a confirmation to the sender, with merge tags such as `{veld:email}` and `{alle_velden}`.
* Confirmation message under the form, or a redirect to your own thank-you page with values in the address.
* Entries stored in their own table (optional per form): list with filters and search, status new/read/spam, CSV export that opens in Excel, and a retention period.
* Spam protection without puzzles: an optional honeypot (a setting per form), minimum fill-in time, limit per visitor and optional Cloudflare Turnstile.
* Works with Bricks (a Lijn-B Forms element) and with a shortcode anywhere else: `[lijnb_form id="12"]`.
* Works with Lijn-B Mailflow: a submitted form can start an email sequence.
* Privacy by default: no IP address stored, WordPress export and erase tools, retention period, consent field.
* Works without JavaScript (the form falls back to a normal page submit).
* Import and export forms as JSON to move them between sites.
* English and Dutch admin interface (gettext translations).
* Self-hosted automatic update checks from the Lijn-B update manifest.
* Built-in support button for the plugin author at ko-fi.com/lijnb.

Not included on purpose: payments and file uploads.

== Installation ==

1. Upload the `lijnb-forms` directory to `/wp-content/plugins/`.
2. Activate Lijn-B Forms in WordPress.
3. Open Forms > Add New and build your first form.
4. Place it with the shortcode `[lijnb_form id="12"]` (the id is shown in the forms list) or with the Lijn-B Forms element in Bricks.

== Frequently Asked Questions ==

= Does it work with Bricks? =

Yes. There is a Lijn-B Forms element for Bricks, and a shortcode for everything else.

= Does it store IP addresses? =

No, not by default. The IP address is used briefly for the spam limit and is not kept, unless you turn that on in the settings.

= Can I export entries? =

Yes, as a CSV file that opens in Excel. You can also export and erase entries through the WordPress privacy tools.

= Does it work without JavaScript? =

Yes. The form falls back to a normal page submit.

= What happened to the shortcode `[lijnb_formulier]`? =

It keeps working next to the new `[lijnb_form]`.

= What happens to my data when I delete the plugin? =

By default nothing is deleted, so deleting the plugin by mistake costs you nothing. If you want everything removed, tick "Delete all data when this plugin is deleted" under Forms > Settings. Lijn-B Forms also asks once when you deactivate it, because a deactivated plugin is no longer loaded and cannot ask at the moment you delete it.

== External services ==

* Cloudflare Turnstile (optional, off by default): if you enter Turnstile keys and enable it on a form, the visitor's browser loads a script from challenges.cloudflare.com and the response token is verified with Cloudflare. See https://www.cloudflare.com/privacypolicy/.
* Update check: WordPress asks https://lijn-b.nl/lijnb-forms/update.json for new versions. Only the plugin name and version are sent; the request does not contain your site address.

== Changelog ==

= 0.5.1 =
* You choose what happens to your data when the plugin is deleted: a checkbox under Forms > Settings, and a question the first time you deactivate the plugin. By default nothing is deleted.

= 0.5.0 =
* Multi-page forms: a new "Page break" block splits a form into pages with next and previous buttons. Pages whose fields are all hidden by a condition are skipped.
* Progress indicator (text, bar or both), editable button texts (default and per page), button position, accent and text colour, corner radius and extra CSS classes for the buttons.
* The honeypot is now a setting per form (on by default, as before).

= 0.4.0 =
* English source text with a complete Dutch translation (nl_NL and nl_BE) for the whole admin and the public form, ready for more languages (gettext).
* Plural forms and complete sentences for translators.

= 0.3.0 =
* New name: Lijn-B Forms (was Lijn-B Formulieren), for international use. The shortcode is now `[lijnb_form id="1"]`; the old `[lijnb_formulier]` keeps working.
* Updates via an update.json on lijn-b.nl, the same model as DayOneWP.
* The REST namespace is now `lijnb-forms/v1` and hooks start with `lijnb_forms/`. The database and internal classes are unchanged (`lbf_`, `LBF_`).

= 0.2.0 =
* Updates through lijn-b.nl, including WordPress automatic updates.
* A discreet Ko-fi donation link on the plugin row and at the bottom of the settings page. The plugin stays free.
* Link with Lijn-B Mailflow (formerly Lijn-B Mail).

= 0.1.0 =
* First version: form builder, entries, notifications, spam protection and a Bricks element.

== Upgrade Notice ==

= 0.5.1 =
New: choose whether your data is deleted when the plugin is deleted.

= 0.5.0 =
New: multi-page forms and a honeypot setting. Existing forms keep working unchanged.

= 0.4.0 =
Translatable: English is the source language and Dutch is included.

= 0.3.0 =
Renamed from Lijn-B Formulieren. Deactivate the old plugin first; forms, entries and settings are kept.
